From effd479bff170002fdbc9497e89c5c316cf161d3 Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Sun, 7 Oct 2007 11:45:23 +0000 Subject: [PATCH] [svn-upgrade] Integrating new upstream version, shadow (4.0.4) --- ABOUT-NLS | 547 +- ChangeLog | 616 +- Makefile.am | 4 +- Makefile.in | 447 +- NEWS | 47 +- TODO | 24 +- acconfig.h | 84 +- aclocal.m4 | 10159 +++++--- config.guess | 543 +- config.h.in | 389 +- config.rpath | 548 + config.sub | 311 +- configure | 29891 ++++++++++++++++------- configure.in | 131 +- contrib/Makefile.in | 194 +- debian/Makefile.am | 9 - debian/Makefile.in | 247 - debian/changelog | 175 - debian/checksums | 7 - debian/control | 41 - debian/control.gnu | 16 - debian/control.linux | 41 - debian/login.conffiles | 6 - debian/login.copyright | 76 - debian/login.postinst | 42 - debian/login.postrm | 6 - debian/login.preinst | 4 - debian/login.prerm | 8 - debian/logoutd.init | 36 - debian/passwd.conffiles | 3 - debian/passwd.copyright | 55 - debian/passwd.cron | 8 - debian/passwd.init | 25 - debian/passwd.postinst | 41 - debian/passwd.postrm | 6 - debian/porttime | 8 - debian/rules | 159 - debian/secure-su.README | 4 - debian/secure-su.conffiles | 1 - debian/secure-su.copyright | 54 - debian/secure-su.postrm | 12 - debian/secure-su.preinst | 14 - debian/securetty | 14 - debian/shadowconfig.sh | 67 - depcomp | 302 +- doc/ANNOUNCE | 48 - doc/Makefile.am | 2 +- doc/Makefile.in | 196 +- doc/README.pam | 1 - etc/Makefile.in | 280 +- etc/login.defs | 23 +- etc/login.defs.linux | 14 +- etc/pam.d/Makefile.in | 194 +- etc/useradd | 1 + install-sh | 169 +- intl/ChangeLog | 4 - intl/Makefile.in | 313 - intl/VERSION | 1 - intl/bindtextdom.c | 369 - intl/config.charset | 438 - intl/dcgettext.c | 58 - intl/dcigettext.c | 1259 - intl/dcngettext.c | 60 - intl/dgettext.c | 59 - intl/dngettext.c | 61 - intl/explodename.c | 192 - intl/finddomain.c | 198 - intl/gettext.c | 64 - intl/gettext.h | 102 - intl/gettextP.h | 252 - intl/hash-string.h | 59 - intl/intl-compat.c | 166 - intl/l10nflist.c | 405 - intl/libgettext.h | 49 - intl/libgnuintl.h | 128 - intl/loadinfo.h | 109 - intl/loadmsgcat.c | 567 - intl/localcharset.c | 271 - intl/locale.alias | 78 - intl/localealias.c | 404 - intl/ngettext.c | 68 - intl/plural.c | 1326 - intl/plural.y | 413 - intl/ref-add.sin | 31 - intl/ref-del.sin | 26 - intl/textdomain.c | 142 - lib/Makefile.am | 12 +- lib/Makefile.in | 403 +- lib/commonio.c | 3 +- lib/defines.h | 12 +- lib/dialchk.c | 77 - lib/dialchk.h | 16 - lib/dialup.c | 169 - lib/dialup.h | 66 - lib/getdef.c | 12 +- lib/getpass.c | 9 +- lib/lastlog_.h | 17 +- lib/nscd.c | 92 + lib/nscd.h | 12 + lib/prototypes.h | 6 +- lib/pwauth.c | 302 +- lib/pwauth.h | 8 +- lib/pwio.c | 16 +- lib/pwpack.c | 44 +- lib/sgetpwent.c | 18 +- lib/shadow.c | 19 +- lib/tcfsio.c | 90 - lib/tcfsio.h | 14 - libmisc/Makefile.am | 3 +- libmisc/Makefile.in | 493 +- libmisc/addgrps.c | 43 +- libmisc/age.c | 96 +- libmisc/basename.c | 11 +- libmisc/chkname.c | 28 +- libmisc/chkshell.c | 29 +- libmisc/chowndir.c | 49 +- libmisc/chowntty.c | 52 +- libmisc/console.c | 30 +- libmisc/copydir.c | 178 +- libmisc/entry.c | 45 +- libmisc/env.c | 86 +- libmisc/failure.c | 86 +- libmisc/fields.c | 30 +- libmisc/getdate.c | 1456 +- libmisc/getdate.y | 30 - libmisc/hushed.c | 26 +- libmisc/isexpired.c | 31 +- libmisc/limits.c | 194 +- libmisc/list.c | 57 +- libmisc/log.c | 39 +- libmisc/login_access.c | 410 +- libmisc/login_desrpc.c | 49 +- libmisc/login_krb.c | 59 +- libmisc/loginprompt.c | 87 +- libmisc/mail.c | 32 +- libmisc/motd.c | 25 +- libmisc/myname.c | 15 +- libmisc/nscd.c | 95 - libmisc/obscure.c | 153 +- libmisc/pam_pass.c | 35 +- libmisc/pwd2spwd.c | 33 +- libmisc/pwd_init.c | 51 +- libmisc/pwdcheck.c | 49 +- libmisc/rlogin.c | 110 +- libmisc/salt.c | 34 +- libmisc/setugid.c | 61 +- libmisc/setup.c | 16 +- libmisc/setupenv.c | 132 +- libmisc/shell.c | 21 +- libmisc/strtoday.c | 67 +- libmisc/sub.c | 23 +- libmisc/sulog.c | 31 +- libmisc/ttytype.c | 41 +- libmisc/tz.c | 18 +- libmisc/ulimit.c | 15 +- libmisc/utmp.c | 300 +- libmisc/valid.c | 16 +- libmisc/xmalloc.c | 21 +- ltmain.sh | 2687 +- man/Makefile.am | 8 +- man/Makefile.in | 365 +- man/chage.1 | 86 +- man/chfn.1 | 31 +- man/chpasswd.8 | 27 +- man/chsh.1 | 43 +- man/cs/Makefile.am | 1 + man/cs/Makefile.in | 262 +- man/cs/id.1 | 62 + man/cs/shadow.5 | 4 +- man/de/Makefile.am | 5 +- man/de/Makefile.in | 206 +- man/de/chsh.1 | 36 - man/de/passwd.1 | 39 - man/es/Makefile.am | 7 + man/es/Makefile.in | 362 + man/expiry.1 | 10 +- man/faillog.5 | 19 +- man/faillog.8 | 74 +- man/fr/Makefile.am | 4 +- man/fr/Makefile.in | 224 +- man/fr/adduser.8 | 1 - man/fr/chage.1 | 113 - man/fr/chsh.1 | 57 - man/fr/faillog.5 | 60 - man/fr/gpasswd.1 | 69 - man/fr/groups.1 | 37 - man/fr/newgrp.1 | 32 - man/fr/passwd.1 | 162 - man/fr/passwd.5 | 149 - man/fr/shadow.5 | 92 - man/fr/useradd.8 | 161 - man/fr/userdel.8 | 64 - man/fr/usermod.8 | 124 - man/getspnam.3 | 1 - man/gpasswd.1 | 34 +- man/groupadd.8 | 49 +- man/groupdel.8 | 32 +- man/groupmod.8 | 43 +- man/groups.1 | 7 +- man/grpck.8 | 78 +- man/hu/Makefile.am | 8 +- man/hu/Makefile.in | 209 +- man/hu/chsh.1 | 65 - man/hu/gpasswd.1 | 81 - man/hu/login.1 | 131 - man/hu/newgrp.1 | 89 - man/hu/passwd.1 | 165 - man/hu/sg.1 | 1 - man/id.1 | 6 +- man/id/Makefile.in | 210 +- man/it/Makefile.am | 3 +- man/it/Makefile.in | 221 +- man/it/adduser.8 | 1 - man/it/chfn.1 | 74 - man/it/chsh.1 | 58 - man/it/gpasswd.1 | 76 - man/it/groups.1 | 46 - man/it/grpck.8 | 108 - man/it/grpconv.8 | 58 - man/it/grpunconv.8 | 1 - man/it/lastlog.8 | 66 - man/it/login.1 | 334 - man/it/newgrp.1 | 34 - man/it/passwd.1 | 57 - man/it/passwd.5 | 136 - man/it/pwconv.8 | 58 - man/it/pwunconv.8 | 1 - man/it/shadow.5 | 102 - man/it/useradd.8 | 197 - man/it/usermod.8 | 151 - man/it/vigr.8 | 1 - man/it/vipw.8 | 31 - man/ja/Makefile.am | 5 +- man/ja/Makefile.in | 224 +- man/ja/chage.1 | 116 +- man/ja/chfn.1 | 46 +- man/ja/chpasswd.8 | 39 +- man/ja/chsh.1 | 38 +- man/ja/{dpasswd.8 => expiry.1} | 44 +- man/ja/faillog.5 | 20 +- man/ja/faillog.8 | 107 +- man/ja/gpasswd.1 | 81 +- man/ja/groupadd.8 | 34 +- man/ja/groupdel.8 | 26 +- man/ja/groupmod.8 | 43 +- man/ja/groups.1 | 37 +- man/ja/grpck.8 | 82 +- man/ja/id.1 | 24 +- man/ja/lastlog.8 | 48 +- man/ja/limits.5 | 77 +- man/ja/login.1 | 177 +- man/ja/login.access.5 | 78 +- man/ja/login.defs.5 | 599 +- man/ja/logoutd.8 | 29 +- man/ja/mkpasswd.8 | 69 +- man/ja/newgrp.1 | 69 +- man/ja/newusers.8 | 42 +- man/ja/passwd.1 | 222 +- man/ja/passwd.5 | 64 +- man/ja/porttime.5 | 58 +- man/ja/pw_auth.3 | 113 +- man/ja/pwauth.8 | 69 - man/ja/pwck.8 | 80 +- man/ja/pwconv.8 | 91 +- man/ja/shadow.3 | 95 +- man/ja/shadow.5 | 57 +- man/ja/shadowconfig.8 | 26 +- man/ja/su.1 | 64 +- man/ja/suauth.5 | 103 +- man/ja/sulogin.8 | 60 +- man/ja/useradd.8 | 161 +- man/ja/userdel.8 | 41 +- man/ja/usermod.8 | 158 +- man/ja/vipw.8 | 37 +- man/ko/Makefile.am | 4 +- man/ko/Makefile.in | 215 +- man/ko/groups.1 | 31 - man/ko/login.1 | 301 - man/ko/newgrp.1 | 29 - man/ko/passwd.5 | 120 - man/lastlog.8 | 10 +- man/limits.5 | 29 +- man/login.1 | 101 +- man/login.access.5 | 48 +- man/login.defs.5 | 113 +- man/logoutd.8 | 15 +- man/mkpasswd.8 | 51 +- man/newgrp.1 | 21 +- man/newusers.8 | 34 +- man/passwd.1 | 153 +- man/passwd.5 | 54 +- man/pl/Makefile.am | 6 +- man/pl/Makefile.in | 225 +- man/pl/chage.1 | 52 +- man/pl/chfn.1 | 4 +- man/pl/chsh.1 | 6 +- man/pl/d_passwd.5 | 29 - man/pl/dialups.5 | 23 - man/pl/expiry.1 | 6 +- man/pl/faillog.5 | 6 +- man/pl/gpasswd.1 | 8 +- man/pl/groupadd.8 | 35 +- man/pl/groupdel.8 | 25 +- man/pl/groupmod.8 | 28 +- man/pl/groups.1 | 4 +- man/pl/grpck.8 | 40 +- man/pl/id.1 | 6 +- man/pl/lastlog.8 | 12 +- man/pl/login.1 | 20 +- man/pl/logoutd.8 | 6 +- man/pl/newgrp.1 | 6 +- man/pl/passwd.1 | 23 +- man/pl/pwauth.8 | 63 - man/pl/pwck.8 | 40 +- man/pl/shadow.3 | 20 +- man/pl/su.1 | 8 +- man/pl/sulogin.8 | 4 +- man/pl/useradd.8 | 50 +- man/pl/userdel.8 | 30 +- man/pl/usermod.8 | 13 +- man/porttime.5 | 39 +- man/pt_BR/Makefile.in | 219 +- man/pt_BR/gpasswd.1 | 19 +- man/pt_BR/groupadd.8 | 10 +- man/pt_BR/groupdel.8 | 6 +- man/pt_BR/groupmod.8 | 6 +- man/pt_BR/shadow.5 | 6 +- man/pwauth.8 | 65 - man/pwck.8 | 62 +- man/pwconv.8 | 90 +- man/ru/Makefile.am | 6 + man/ru/Makefile.in | 361 + man/ru/passwd.5 | 136 + man/shadow.3 | 64 +- man/shadow.5 | 50 +- man/shadowconfig.8 | 28 +- man/su.1 | 14 +- man/suauth.5 | 4 +- man/sulogin.8 | 38 +- man/useradd.8 | 189 +- man/userdel.8 | 49 +- man/usermod.8 | 127 +- man/vipw.8 | 24 +- man/zh_CN/Makefile.am | 15 + man/zh_CN/Makefile.in | 419 + man/{ko => zh_CN}/chfn.1 | 55 +- man/{fr => zh_CN}/chpasswd.8 | 67 +- man/{ko => zh_CN}/chsh.1 | 40 +- man/{it => zh_CN}/groupadd.8 | 159 +- man/{it => zh_CN}/groupdel.8 | 120 +- man/{it => zh_CN}/groupmod.8 | 137 +- man/zh_CN/useradd.8 | 198 + man/{hu/groups.1 => zh_CN/userdel.8} | 64 +- man/zh_CN/usermod.8 | 131 + man/zh_TW/Makefile.am | 14 + man/zh_TW/Makefile.in | 418 + man/zh_TW/chfn.1 | 64 + man/zh_TW/chsh.1 | 51 + man/zh_TW/groupadd.8 | 92 + man/{dpasswd.8 => zh_TW/groupdel.8} | 56 +- man/{pl/dpasswd.8 => zh_TW/groupmod.8} | 68 +- man/zh_TW/useradd.8 | 198 + man/{it => zh_TW}/userdel.8 | 139 +- man/zh_TW/usermod.8 | 131 + missing | 71 +- mkinstalldirs | 111 +- po/ChangeLog | 44 - po/LINGUAS | 1 + po/Makefile.in.in | 323 +- po/Makevars | 25 + po/POTFILES.in | 4 - po/Rules-quot | 42 + po/boldquot.sed | 10 + po/cs.gmo | Bin 40390 -> 39006 bytes po/cs.po | 1933 +- po/de.gmo | Bin 41648 -> 38521 bytes po/de.po | 1633 +- po/el.gmo | Bin 41429 -> 48697 bytes po/el.po | 2055 +- po/en@boldquot.header | 25 + po/en@quot.header | 22 + po/fr.gmo | Bin 39811 -> 36827 bytes po/fr.po | 1798 +- po/insert-header.sin | 23 + po/ja.gmo | Bin 31680 -> 33570 bytes po/ja.po | 2095 +- po/ko.gmo | Bin 39908 -> 40633 bytes po/ko.po | 2018 +- po/pl.gmo | Bin 40433 -> 40244 bytes po/pl.po | 1912 +- po/quot.sed | 6 + po/remove-potcdate.sin | 19 + po/ru.gmo | Bin 0 -> 40906 bytes po/ru.po | 2310 ++ po/shadow.pot | 1002 +- stamp-h.in => po/stamp-po | 0 po/sv.gmo | Bin 38965 -> 36932 bytes po/sv.po | 1762 +- po/uk.gmo | Bin 39432 -> 44839 bytes po/uk.po | 2024 +- src/.indent.pro | 4 + src/Makefile.am | 27 +- src/Makefile.in | 523 +- src/chage.c | 250 +- src/chfn.c | 6 +- src/chpasswd.c | 19 +- src/chsh.c | 20 +- src/dpasswd.c | 241 - src/faillog.c | 4 +- src/gpasswd.c | 7 +- src/groupadd.c | 13 +- src/groupdel.c | 234 +- src/groupmod.c | 9 +- src/grpconv.c | 13 +- src/grpunconv.c | 8 +- src/id.c | 9 +- src/lastlog.c | 11 +- src/login.c | 112 +- src/logoutd.c | 60 +- src/newgrp.c | 31 +- src/newusers.c | 24 +- src/passwd.c | 304 +- src/pwconv.c | 15 +- src/pwunconv.c | 59 +- src/su.c | 24 +- src/suauth.c | 197 +- src/sulogin.c | 53 +- src/useradd.c | 281 +- src/userdel.c | 626 +- src/usermod.c | 342 +- src/vipw.c | 15 +- 431 files changed, 56747 insertions(+), 47326 deletions(-) create mode 100755 config.rpath delete mode 100644 debian/Makefile.am delete mode 100644 debian/Makefile.in delete mode 100644 debian/changelog delete mode 100755 debian/checksums delete mode 100644 debian/control delete mode 100644 debian/control.gnu delete mode 100644 debian/control.linux delete mode 100644 debian/login.conffiles delete mode 100644 debian/login.copyright delete mode 100644 debian/login.postinst delete mode 100644 debian/login.postrm delete mode 100644 debian/login.preinst delete mode 100644 debian/login.prerm delete mode 100644 debian/logoutd.init delete mode 100644 debian/passwd.conffiles delete mode 100644 debian/passwd.copyright delete mode 100644 debian/passwd.cron delete mode 100755 debian/passwd.init delete mode 100644 debian/passwd.postinst delete mode 100644 debian/passwd.postrm delete mode 100644 debian/porttime delete mode 100755 debian/rules delete mode 100644 debian/secure-su.README delete mode 100644 debian/secure-su.conffiles delete mode 100644 debian/secure-su.copyright delete mode 100644 debian/secure-su.postrm delete mode 100644 debian/secure-su.preinst delete mode 100644 debian/securetty delete mode 100755 debian/shadowconfig.sh delete mode 100644 doc/ANNOUNCE delete mode 100644 intl/ChangeLog delete mode 100644 intl/Makefile.in delete mode 100644 intl/VERSION delete mode 100644 intl/bindtextdom.c delete mode 100644 intl/config.charset delete mode 100644 intl/dcgettext.c delete mode 100644 intl/dcigettext.c delete mode 100644 intl/dcngettext.c delete mode 100644 intl/dgettext.c delete mode 100644 intl/dngettext.c delete mode 100644 intl/explodename.c delete mode 100644 intl/finddomain.c delete mode 100644 intl/gettext.c delete mode 100644 intl/gettext.h delete mode 100644 intl/gettextP.h delete mode 100644 intl/hash-string.h delete mode 100644 intl/intl-compat.c delete mode 100644 intl/l10nflist.c delete mode 100644 intl/libgettext.h delete mode 100644 intl/libgnuintl.h delete mode 100644 intl/loadinfo.h delete mode 100644 intl/loadmsgcat.c delete mode 100644 intl/localcharset.c delete mode 100644 intl/locale.alias delete mode 100644 intl/localealias.c delete mode 100644 intl/ngettext.c delete mode 100644 intl/plural.c delete mode 100644 intl/plural.y delete mode 100644 intl/ref-add.sin delete mode 100644 intl/ref-del.sin delete mode 100644 intl/textdomain.c delete mode 100644 lib/dialchk.c delete mode 100644 lib/dialchk.h delete mode 100644 lib/dialup.c delete mode 100644 lib/dialup.h create mode 100644 lib/nscd.c create mode 100644 lib/nscd.h delete mode 100644 lib/tcfsio.c delete mode 100644 lib/tcfsio.h delete mode 100644 libmisc/nscd.c create mode 100644 man/cs/id.1 delete mode 100644 man/de/chsh.1 delete mode 100644 man/de/passwd.1 create mode 100644 man/es/Makefile.am create mode 100644 man/es/Makefile.in delete mode 100644 man/fr/adduser.8 delete mode 100644 man/fr/chage.1 delete mode 100644 man/fr/chsh.1 delete mode 100644 man/fr/faillog.5 delete mode 100644 man/fr/gpasswd.1 delete mode 100644 man/fr/groups.1 delete mode 100644 man/fr/newgrp.1 delete mode 100644 man/fr/passwd.1 delete mode 100644 man/fr/passwd.5 delete mode 100644 man/fr/shadow.5 delete mode 100644 man/fr/useradd.8 delete mode 100644 man/fr/userdel.8 delete mode 100644 man/fr/usermod.8 delete mode 100644 man/getspnam.3 delete mode 100644 man/hu/chsh.1 delete mode 100644 man/hu/gpasswd.1 delete mode 100644 man/hu/login.1 delete mode 100644 man/hu/newgrp.1 delete mode 100644 man/hu/passwd.1 delete mode 100644 man/hu/sg.1 delete mode 100644 man/it/adduser.8 delete mode 100644 man/it/chfn.1 delete mode 100644 man/it/chsh.1 delete mode 100644 man/it/gpasswd.1 delete mode 100644 man/it/groups.1 delete mode 100644 man/it/grpck.8 delete mode 100644 man/it/grpconv.8 delete mode 100644 man/it/grpunconv.8 delete mode 100644 man/it/lastlog.8 delete mode 100644 man/it/login.1 delete mode 100644 man/it/newgrp.1 delete mode 100644 man/it/passwd.1 delete mode 100644 man/it/passwd.5 delete mode 100644 man/it/pwconv.8 delete mode 100644 man/it/pwunconv.8 delete mode 100644 man/it/shadow.5 delete mode 100644 man/it/useradd.8 delete mode 100644 man/it/usermod.8 delete mode 100644 man/it/vigr.8 delete mode 100644 man/it/vipw.8 rename man/ja/{dpasswd.8 => expiry.1} (63%) delete mode 100644 man/ja/pwauth.8 delete mode 100644 man/ko/groups.1 delete mode 100644 man/ko/login.1 delete mode 100644 man/ko/newgrp.1 delete mode 100644 man/ko/passwd.5 delete mode 100644 man/pl/d_passwd.5 delete mode 100644 man/pl/dialups.5 delete mode 100644 man/pl/pwauth.8 delete mode 100644 man/pwauth.8 create mode 100644 man/ru/Makefile.am create mode 100644 man/ru/Makefile.in create mode 100644 man/ru/passwd.5 create mode 100644 man/zh_CN/Makefile.am create mode 100644 man/zh_CN/Makefile.in rename man/{ko => zh_CN}/chfn.1 (50%) rename man/{fr => zh_CN}/chpasswd.8 (60%) rename man/{ko => zh_CN}/chsh.1 (51%) rename man/{it => zh_CN}/groupadd.8 (51%) rename man/{it => zh_CN}/groupdel.8 (67%) rename man/{it => zh_CN}/groupmod.8 (62%) create mode 100644 man/zh_CN/useradd.8 rename man/{hu/groups.1 => zh_CN/userdel.8} (61%) create mode 100644 man/zh_CN/usermod.8 create mode 100644 man/zh_TW/Makefile.am create mode 100644 man/zh_TW/Makefile.in create mode 100644 man/zh_TW/chfn.1 create mode 100644 man/zh_TW/chsh.1 create mode 100644 man/zh_TW/groupadd.8 rename man/{dpasswd.8 => zh_TW/groupdel.8} (67%) rename man/{pl/dpasswd.8 => zh_TW/groupmod.8} (60%) create mode 100644 man/zh_TW/useradd.8 rename man/{it => zh_TW}/userdel.8 (61%) create mode 100644 man/zh_TW/usermod.8 delete mode 100644 po/ChangeLog create mode 100644 po/LINGUAS create mode 100644 po/Makevars create mode 100644 po/Rules-quot create mode 100644 po/boldquot.sed create mode 100644 po/en@boldquot.header create mode 100644 po/en@quot.header create mode 100644 po/insert-header.sin create mode 100644 po/quot.sed create mode 100644 po/remove-potcdate.sin create mode 100644 po/ru.gmo create mode 100644 po/ru.po rename stamp-h.in => po/stamp-po (100%) create mode 100644 src/.indent.pro delete mode 100644 src/dpasswd.c diff --git a/ABOUT-NLS b/ABOUT-NLS index 5fde45a0..47d5e39f 100644 --- a/ABOUT-NLS +++ b/ABOUT-NLS @@ -113,6 +113,13 @@ But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your country by running the command +`locale -a | grep '^LL''. + Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. @@ -164,128 +171,422 @@ Available Packages ================== Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of September -2001. The matrix shows, in regard of each package, for which languages -PO files have been submitted to translation coordination, with a +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 translation percentage of at least 50%. - Ready PO files bg cs da de el en eo es et fi fr gl he hr id it ja - +----------------------------------------------------+ - a2ps | [] [] [] | - bash | [] [] [] [] | - bfd | | - binutils | [] | - bison | [] [] [] [] [] | - clisp | [] [] [] [] | - cpio | [] [] [] [] [] | - diffutils | [] [] [] [] [] [] [] | - enscript | [] [] | - error | [] [] | - fetchmail | | - fileutils | [] [] [] [] [] [] [] [] | - findutils | [] [] [] [] [] [] [] [] | - flex | [] [] [] | - freetype | | - gas | | - gawk | [] [] | - gcal | | - gcc | | - gettext | [] [] [] [] [] [] [] [] [] [] | - gnupg | [] [] [] [] [] [] [] | - gprof | | - grep | [] [] [] [] [] [] [] [] | - hello | [] [] [] [] [] [] [] [] [] [] [] | - id-utils | [] [] [] | - indent | [] [] [] [] [] | - jpilot | [] | - kbd | | - ld | [] | - libc | [] [] [] [] [] [] [] [] | - lilypond | [] | - lynx | [] [] [] [] | - m4 | [] [] [] [] [] [] [] [] | - make | [] [] [] [] [] [] | - mysecretdiary | [] | - nano | [] [] [] | - opcodes | | - parted | [] [] [] | - ptx | [] [] [] [] [] [] [] | - python | | - recode | [] [] [] [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] [] [] [] | - sh-utils | [] [] [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] [] [] [] [] | - sketch | | - soundtracker | [] [] [] | - sp | | - tar | [] [] [] [] [] [] [] [] | - texinfo | [] [] [] [] [] [] | - textutils | [] [] [] [] [] [] [] [] | - util-linux | [] [] | - wdiff | [] [] [] | - wget | [] [] [] [] [] [] [] [] [] [] | - +----------------------------------------------------+ - bg cs da de el en eo es et fi fr gl he hr id it ja - 0 14 24 32 11 1 8 23 13 1 33 22 4 0 7 9 18 + 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 - ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh - +----------------------------------------------------+ - a2ps | [] [] [] | 6 - bash | | 4 - bfd | | 0 - binutils | | 1 - bison | [] | 6 - clisp | [] | 5 - cpio | [] [] [] [] [] | 10 - diffutils | [] [] [] [] | 11 - enscript | [] [] [] | 5 - error | [] [] | 4 - fetchmail | | 0 - fileutils | [] [] [] [] [] [] [] [] [] | 17 - findutils | [] [] [] [] [] [] [] [] | 16 - flex | [] [] [] | 6 - freetype | | 0 - gas | | 0 - gawk | [] | 3 - gcal | | 0 - gcc | | 0 - gettext | [] [] [] [] [] [] [] [] | 18 - gnupg | [] [] [] | 10 - gprof | | 0 - grep | [] [] [] [] | 12 - hello | [] [] [] [] [] [] [] [] [] [] [] | 22 - id-utils | [] [] [] | 6 - indent | [] [] [] [] [] [] [] | 12 - jpilot | | 1 - kbd | [] | 1 - ld | | 1 - libc | [] [] [] [] [] [] [] [] | 16 - lilypond | [] [] | 3 - lynx | [] [] [] [] | 8 - m4 | [] [] [] [] | 12 - make | [] [] [] [] [] [] | 12 - mysecretdiary | | 1 - nano | [] | 4 - opcodes | [] | 1 - parted | [] [] | 5 - ptx | [] [] [] [] [] [] [] [] | 15 - python | | 0 - recode | [] [] [] [] | 13 - sed | [] [] [] [] [] [] [] | 19 - sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 21 - sharutils | [] [] [] | 11 - sketch | | 0 - soundtracker | | 3 - sp | | 0 - tar | [] [] [] [] [] [] [] | 15 - texinfo | [] | 7 - textutils | [] [] [] [] [] [] [] [] | 16 - util-linux | [] [] | 4 - wdiff | [] [] [] [] | 7 - wget | [] [] [] [] [] [] [] | 17 - +----------------------------------------------------+ - 33 teams ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh - 53 domains 9 1 6 20 0 6 17 1 13 25 10 11 23 21 2 2 387 + 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 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 @@ -298,9 +599,9 @@ 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 September 2001 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 + If May 2003 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 @@ -315,7 +616,7 @@ library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle -to use of `gettext' the only thing missing are the translations. The +the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact diff --git a/ChangeLog b/ChangeLog index 39a8cb23..6114f4ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,539 @@ +2004-01-13 Tomasz K³oczko + + * po/pl.po: Typo. + + * man/pl/useradd.8: Cleanups in SYNOPSIS. + +2004-01-12 Tomasz K³oczko + + * po/pl.po: Cleanups. + +2004-01-07 Tomasz K³oczko + + * configure.in: Cleanups after autoupdate. + +2004-01-05 Tomasz K³oczko + + * src/groupadd.c, po/sv.po, po/uk.po, po/ru.po, po/ko.po, po/pl.po, po/fr.po, po/ja.po, po/el.po, po/cs.po, po/de.po, man/zh_TW/groupadd.8, man/zh_CN/groupadd.8, man/pt_BR/groupadd.8, man/pl/groupadd.8, man/ja/groupadd.8, man/it/groupadd.8, man/groupadd.8, NEWS: + Added missing information about -f options in groupadd usage mesage (document + this also in man page). + +2003-12-17 Tomasz K³oczko + + * lib/lastlog_.h, libmisc/log.c, libmisc/utmp.c, src/lastlog.c, src/login.c: + More time() or gettimeofday() prevention overwrite memory on 64bit arch + (partialy based on patch from MDK). + + * po/sv.po, po/uk.po, po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po: + Post remove TCFS support "make update-po". + + * man/Makefile.am: Removed getspnam.3 from EXTRA_DIST. + + * po/POTFILES.in: Removed lib/tcfsio.c. + + * lib/Attic/tcfsio.c, lib/Attic/tcfsio.h, lib/Makefile.am, src/passwd.c, src/userdel.c, NEWS, configure.in, doc/README.pam: + Removed TCFS support (tcfs is dead). + + * configure.in: + Added using AM_MAINTAINER_MODE. AC_INIT without parameters. + + * acconfig.h, configure.in: + Cleanups on autoheadres level: use AC_DEFINE(VAR, VAL, [Comment]) for + USE_PAM, HAVE_TCFS and TCFS_GDBM_SUPPORT. + + * src/newusers.c, src/useradd.c, acconfig.h, autogen.sh, lib/pwpack.c, NEWS: + Remove all old BSD_QUOTA dependent code. + +2003-12-16 Tomasz K³oczko + + * lib/Makefile.am, libmisc/Makefile.am, src/Makefile.am: + Removed -I$(top_srcdir) from INCLUDES (isn't neccessary becaus this is in + DEFAULT_INCLUDES) - slightly shorter compile output. + + * Makefile.am, configure.in: + Added using AM_GNU_GETTEXT([external]) - removed intl SUBDIRS. + Added locale.h to AC_CHECK_HEADERS() - lib/defines.h have part which depends + on HAVE_LOCALE_H. + + * lib/nscd.h: Added missing newline at end of file. + + * acconfig.h: Remove unused (#un)defines. + + * autogen.sh: Typo. + + * autogen.sh: Much more simpler script - use autoreconf. + + * po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + "make update-po". + +2003-12-07 Tomasz K³oczko + + * po/LINGUAS: Languages list for gettext 1.12.x. + +2003-10-26 Tomasz K³oczko + + * po/pl.po: Kill fuzzy entries. + +2003-10-21 Tomasz K³oczko + + * man/usermod.8: + Typo: missing "." on end of sentence (submited by Stepan Kasal ). + +2003-09-07 Tomasz K³oczko + + * po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po, po/cs.po, po/de.po, po/el.po, NEWS: + convert all po/*.po files to utf-8. + +2003-09-05 Andrzej Krzysztofowicz + + * po/ru.po: - fixed header + +2003-07-29 Tomasz K³oczko + + * po/pl.po, po/ru.po, po/sv.po, po/uk.po, libmisc/pam_pass.c, po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po: + Otput "passwd: password updated successfully\n" message on successfull + password change (based on Debian changes). + + * src/newgrp.c: Remove work around for unsecure gettext. + +2003-06-30 Tomasz K³oczko + + * src/useradd.c, src/usermod.c: + Added initializing memory in variables when get_groups() function is not called, + and memory allocated for user_groups is not initialized (in both useradd and + usermod when -G options is used and in usermod when -l option is used). + That causing segfaults sometimes. + This fix is importand but not critical because usermod and usermod aren't suid + root. + Problem reported and fixed by Alexey Voinov . + +2003-06-19 Tomasz K³oczko + + * man/login.1: Fixed FILES section. + + * src/chfn.c, src/chpasswd.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/suauth.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c: + Indented. + + * src/chage.c: Move *flg variables to global. + + * acconfig.h: Comment for USG. + +2003-05-14 Tomasz K³oczko + + * man/de/chfn.1, man/de/login.1: + Fixed section name (s/NAME/BEZEICHNUNG/). + + * man/de/chfn.1, man/de/chsh.1: Sync FILES section with en version. + + * man/login.1: Typo (s/avr/var/). + + * man/de/login.1: Sync FILES section with en man version. + + * man/de/chfn.1, man/de/chsh.1, man/de/login.1: Remove ^M from EOL. + + * man/de/login.1, man/de/Makefile.am, man/de/chfn.1, man/de/chsh.1, NEWS: + Next round updates from Josef Spillner : update + chsh(1), login(1) and added new chfn(1) german man pages. + + * NEWS: Added info about remove d_passwd(5), dialups(5) man pags. + +2003-05-12 Tomasz K³oczko + + * NEWS, TODO, src/chfn.c, src/chpasswd.c, src/chsh.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/passwd.c, src/pwunconv.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c: + One TODO entry gone: fix nscd flushing databases on change (use + per service flushing method instead HUPing nscd process). + + * lib/Makefile.am, lib/commonio.c, lib/nscd.c, lib/nscd.h, libmisc/Attic/nscd.c, libmisc/Attic/nscd.h, libmisc/Makefile.am: + Move nscd.{c,h} from libmisc/ to lib/. + Fix warning about implicit declaration of function `nscd_flush_cache' in lib/commonio.c. + + * lib/pwauth.h: Fix pw_auth() prototype. + + * libmisc/Attic/nscd.c, libmisc/Attic/nscd.h, libmisc/Makefile.am: + Added header file for nscd communication functions. + + * libmisc/chkname.c (good_name): + fixed warning about comparison between pointer and integer. + + * po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + "make update-po". + + * src/useradd.c (main): + chain create_mail() and small fix in usage message. + + * src/userdel.c: Removed AUTH_METHODS code. + + * lib/pwauth.c: Fixed pw_auth() prototype. + + * src/sulogin.c, src/usermod.c: Removed AUTH_METHODS code. + + * po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + "make update-po". + + * src/useradd.c: Indent. + + * man/ja/Attic/pwauth.8, man/ja/Makefile.am, man/pl/Attic/pwauth.8, man/pl/Makefile.am, src/passwd.c, src/useradd.c, NEWS, lib/pwauth.c, man/Attic/pwauth.8, man/Makefile.am: + Cleanups continuations: removed old AUTH_METHODS dependent code, + removed also pwauth(8) man page. + + * man/pl/Makefile.am (man_MANS): remove d_passwd.5 man page. + + * src/useradd.c, src/usermod.c, po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + Cleanups in usage messages. + + * src/newgrp.c: Cleanups in comments. + + * po/uk.po, po/sv.po, po/ru.po, po/pl.po, po/ko.po, po/ja.po, po/fr.po, po/el.po, po/de.po, po/cs.po: + "make update-po". + + * lib/getdef.c (main): remove gettextize error messages from test code. + + * NEWS: Cleanups. + +2003-05-07 Tomasz K³oczko + + * src/useradd.c, man/pl/useradd.8, po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po, NEWS, TODO, etc/useradd, man/useradd.8: + Added handle by useradd /etc/defaults/useradd::CREATE_MAIL_SPOOL={yes|no}. + Now on adding user account can be added also created empty user mail + spool. Curent code handle only mailbox. + TODO: add handle create user mail spool in maildir format. + + * TODO: Typo. + + * src/chage.c (usage): fix missing ")". + (main): updated commented description. + + * src/useradd.c: Indent. + + * man/faillog.8, man/gpasswd.1, man/groupadd.8: Minor cleanups. + + * man/chage.1, man/pl/chage.1: + Rewrite for use claissic list form options descriptions. + + * man/pl/groupadd.8: + s/Polecenie groupadd posiada opcje:/Polecenie groupadd posiada nastêpuj±ce opcje:/ + + * TODO: ALL: + move base passwd/shadow/group/gshadow operation to module for allow write + diffrent backend modules for db, NIS, LDAP and others. Default backend it + will be choose depending on /etc/nsswitch.conf and allow overrride this by + -r options (where the can be file, db, nis + nisplus, ldap .. like on /etc/nsswitch.conf in service column). + passwd have old piece of code with handling -r option and it will be good + finish this and propagate on other shadow tools for allow operate on other + user databases by well known tools. + + useradd: + add handle /etc/defaults/useradd::CREATE_MAIL_SPOOL={yes,no} for allow + create empty mail spool for added user. + + * man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5: Removed. + + * man/groupmems.8: Close few \fB by add \fR. + + * man/groupadd.8, man/groupmems.8: Minor cleanups. + +2003-05-06 Tomasz K³oczko + + * src/grpconv.c, src/grpunconv.c, src/pwconv.c, src/pwunconv.c: + Move non-SHADOWPWD stub code to end of file (like in chage.c) and do not use + gettextized message. + + * po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + "make update-po". + + * src/chage.c, NEWS: + Now all code depend on SHADOWPWD. If shadow will not be configured on + autoconf level for using shadow possword chage is olny stub which informs + "chage not configured for shadow password support." + + * man/it/Makefile.am: Removed EXTRA_DIST (not neccessary). + + * man/es/Makefile.am: Removed groups.1 (doen't exist es groups(1)). + + * man/de/Makefile.am (man_MANS): added login.1. + + * man/de/Makefile.am: Removed EXTRA_DIST (isn't neccessary now). + + * man/hu/Makefile.am, man/ja/Makefile.am, man/ko/Makefile.am, man/pl/Makefile.am, man/de/Makefile.am, man/fr/Makefile.am, NEWS, man/Makefile.am: + Install groups(1) man page (moved from EXTRA_DIST to man_MANS). + + * po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + Updated after removing dialup tools. + + * po/POTFILES.in: Removed lib/{dialchk,dialup}.c and src/dpasswd.c. + +2003-05-05 Tomasz K³oczko + + * libmisc/shell.c (shell): do not gettexitize DEBUG message. + + * src/chsh.c, src/grpconv.c, src/login.c, src/logoutd.c, src/sulogin.c, src/vipw.c, libmisc/getdate.y, libmisc/limits.c, libmisc/login_access.c, libmisc/obscure.c, libmisc/setupenv.c, lib/getpass.c, lib/pwauth.c: + Removed "#if 0 .. #endif" dead code. + + * libmisc/utmp.c: Fixed unterminated #if. + + * libmisc/login_access.c (resolve_hostname): + cleanup: removed #if 1 .. #endif. + + * libmisc/Attic/getdate.c: + Removed - this file is generated by bison/yacc. + + * configure.in: + Change file name passwd in AC_INIT argument from lib/dialchk.c to src/passwd.c. + + * src/su.c: + Removed dead code (#if 0 .. #endif) with call motd() and mailcheck() + (was commnted because GNU su doesn't do this). + +2003-05-04 Tomasz K³oczko + + * src/Attic/dpasswd.c, src/login.c, src/Makefile.am, man/pl/Attic/dpasswd.8, man/pl/Makefile.am, man/ja/Attic/dpasswd.8, man/ja/Makefile.am, man/Attic/dpasswd.8, man/Makefile.am, lib/Attic/dialchk.c, lib/Attic/dialchk.h, lib/Attic/dialup.c, lib/Attic/dialup.h, lib/Makefile.am, lib/getdef.c, etc/login.defs, etc/login.defs.linux, NEWS: + Removed old dpasswd and DIALUPS_CHECK_ENAB login.defs handling code from login. + + * doc/Attic/ANNOUNCE, doc/Makefile.am, NEWS: Removed old doc/ANNOUNCE. + + * src/login.c, lib/getdef.c, etc/login.defs.linux, NEWS: + Remove NO_PASSWORD_CONSOLE code. + +2003-05-03 Tomasz K³oczko + + * libmisc/pwd2spwd.c, libmisc/utmp.c, libmisc/entry.c, libmisc/isexpired.c, lib/sgetspent.c, lib/shadow.c, lib/defines.h, lib/putpwent.c, lib/pwent.c, lib/pwio.c, lib/pwpack.c, lib/sgetpwent.c, acconfig.h, configure.in: + Remove old SVR4, ATT_AGE, ATT_COMMENT dependent code. + + * src/chage.c: + Remove some ageing code which was not used if SHADOWPWD isn't defined. + Now handling mindays, maxdays and lastday also depends on SHADOWPWD. + +2003-05-01 Tomasz K³oczko + + * man/Attic/dpasswd.8, man/Attic/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/shadowconfig.8, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8: + Reformated. + + * etc/login.defs: + Use FHS 2.x compliant paths to lastlog, sulog, mail spool and also change + ENV_SUPATH to PATH=/sbin:/bin:/usr/sbin:/usr/bin and + ENV_PATH to PATH=/bin:/usr/bin + + * old/Attic/Makefile.am, old/Attic/Makefile.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/config.h.linux, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/orig-config.h, old/Attic/pwconv-old.8, old/Attic/pwconv-old.c, old/Attic/pwconv.8, old/Attic/pwd.h.m4, old/Attic/pwunconv-old.8, old/Attic/pwunconv-old.c, old/Attic/pwunconv.8, old/Attic/scologin.c, old/Attic/vipw.8: + Removed old stuff. + +2003-04-30 Tomasz K³oczko + + * po/pl.po, po/ru.po, po/sv.po, po/uk.po, po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po: + make update-po + + * src/su.c: Remove not mached #endif after removing ATT_AGE code. + + * man/ko/passwd.5: Remove ^M from end of line. + + * src/chage.c, src/chpasswd.c, src/login.c, src/newusers.c, src/passwd.c, src/pwunconv.c, src/su.c, src/useradd.c, NEWS, acconfig.h, configure.in: + Removed old ATT_AGE (account ageing in passwd file) dependent code. + + * po/pl.po: Fix chage and lastlog messages. + +2003-04-29 Tomasz K³oczko + + * libmisc/limits.c, src/logoutd.c: + More utmp/utmpx fixes: use endutend() or endutxend() depending on HAVE_UTMPX_H. + + * po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + Run "make update-po" after remove SVR4 code and fix duplicated entries in sv.po. + + * NEWS, src/login.c, src/logoutd.c, src/useradd.c: + Remove old SVR4 and SVR4_SI86_EUA dependent code from login, useradd and + logoutd. + +2003-04-28 Tomasz K³oczko + + * man/pl/usermod.8: Remove "OD T£UMACZA" section. + + * man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/grpck.8, man/pl/passwd.1, man/pl/pwck.8, man/pl/useradd.8, man/pl/userdel.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/grpck.8, man/passwd.1, man/pwck.8, man/useradd.8, man/userdel.8: + Added EXIT VALUES section with full description exit codes. + + * src/groupadd.c: Typo (s/nut/not/). + + * man/shadowconfig.8: Merge changes from Debian. + + * NEWS, man/passwd.5: + Remove text about password aging from passwd(5) (based on Debian changes). + + * po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po, src/lastlog.c, man/it/lastlog.8, man/ja/lastlog.8, man/lastlog.8, man/pl/lastlog.8: + More unification in lastlog command syntax. + + * man/it/lastlog.8, man/ja/lastlog.8, man/lastlog.8, man/pl/lastlog.8: + Unifications in SYNOPSIS. + + * man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8: + Remove ^M from end of line. + + * man/gpasswd.1, man/groupadd.8: Indentation in FILES section. + + * src/pwconv.c, src/useradd.c, src/userdel.c: + s/bad command syntax/invalid command syntax/ + + * src/userdel.c: + Indent by hand (seems indent have problems with complex conditions). + + * man/ru/Makefile.am: man_MANS: s#passwd.1#passwd.5# + + * po/pl.po: s/nie mogê/nie mo¿na/ + + * po/fr.po: Emoticon removed. + + * NEWS, configure.in, man/Makefile.am, man/ru/Makefile.am, man/ru/passwd.5: + Added ru passwd(1) man page from KSI resources. + + * man/zh_CN/Makefile.am, man/zh_CN/chfn.1, man/zh_CN/chsh.1, man/zh_TW/Makefile.am, man/zh_TW/chfn.1, man/zh_TW/chsh.1, man/ja/Attic/dpasswd.8, man/ja/Attic/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/expiry.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/newusers.8, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/shadowconfig.8, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, NEWS, man/cs/Makefile.am, man/cs/id.1: + Added chch(1), chfn(1) man pages from chinese man pages translation + project. + Added id(1) man page czech man pages translation project. + Updated ja man pages and added expiry(1). + + * man/hu/groups.1, man/hu/login.1: + Remove info about $HOME/.profile from FILES section (this does not depends + stricte on shadow). + + * configure.in, man/Makefile.am, man/es/Makefile.am: + Added es man pages to ac/am suit. + + * man/hu/Makefile.am, man/hu/su.1: + Added su(1) man page from hungarian man pages translation project. + +2003-04-26 Tomasz K³oczko + + * NEWS: Ready for gettext 0.11.5, automake 1.7.4, autoconf 2.57. + Many cleanups and unifications in man pages. + + * man/pt_BR/gpasswd.1, man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8, man/ko/login.1, man/ko/su.1, man/pl/chage.1, man/pl/chfn.1, man/pl/chsh.1, man/pl/expiry.1, man/pl/gpasswd.1, man/pl/groupmems.8, man/pl/groups.1, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/passwd.1, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/usermod.8, man/ja/chage.1, man/ja/chfn.1, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/limits.5, man/ja/login.1, man/ja/login.access.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/hu/chsh.1, man/hu/gpasswd.1, man/hu/groups.1, man/hu/login.1, man/hu/newgrp.1, man/hu/passwd.1, man/it/gpasswd.1, man/it/groupadd.8, man/it/groupdel.8, man/it/groupmod.8, man/it/grpck.8, man/it/lastlog.8, man/it/shadow.5, man/it/useradd.8, man/it/userdel.8, man/it/usermod.8, man/cs/shadow.5, man/es/su.1, man/fr/chage.1, man/fr/faillog.5, man/fr/gpasswd.1, man/fr/shadow.5, man/fr/su.1, man/fr/userdel.8, man/fr/usermod.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/passwd.1, man/passwd.5, man/porttime.5, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8: + Fixes: correct utmp/wtmp paths. + Unifications: bold commnanda and italify other file names. + Other minor changes and cleanups and unifications. + + * libmisc/limits.c: More utmpx/utmp fixes. + + * src/chpasswd.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/useradd.c, src/userdel.c, src/usermod.c, po/cs.po, po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po, po/sv.po, po/uk.po: + Usage help message unification (s/usage:/Usage:/). + + * TODO: Missing "are". + + * src/logoutd.c, src/userdel.c, NEWS: + Handle also utmpx if avalaile in userdel and logoutd. + +2003-04-25 Tomasz K³oczko + + * src/sulogin.c: Remove unused utent declaration. + + * src/sulogin.c, src/login.c: + Remove #include and . This comes with #include "prototypes.h". + + * lib/prototypes.h: + "#include " or "#include " depending on HAVE_UTMPX_H. + + * libmisc/failure.c: + Remove "#include " (this is included in failure.h). + + * configure.in: + On detect mail spool directory location try first /var/mail. + +2003-04-22 Tomasz K³oczko + + * libmisc/Attic/getdate.c, libmisc/Attic/nscd.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/pwdcheck.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/addgrps.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkshell.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c: + Indent all using current .indent.pro settings. + + * po/Makevars: New file neccessary for gettext >=0.11.5. + + * man/Makefile.am: Removed getspnam.3 from man_MANS (dos not exist). + + * po/de.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po, po/ru.po: + Fixes after filtering gettext 0.11.5 (missing headers elements, inforrect + format strings). + +2003-04-21 Tomasz K³oczko + + * NEWS, man/de/passwd.1: + updated german passwd(1) man page (by Josef Spillner ) + +2003-03-12 Andrzej Krzysztofowicz + + * po/pl.po: - updated; terminology unification + +2003-02-28 Pawe³ Go³aszewski + + * etc/login.defs: - missing "MD5_CRYPT_ENAB yes" added + +2003-01-20 Andrzej Krzysztofowicz + + * configure.in: - added Makefiles for man/zh_{CN,TW} + + * man/Makefile.am, man/zh_CN/Makefile.am, man/zh_CN/chpasswd.8, man/zh_CN/groupadd.8, man/zh_CN/groupdel.8, man/zh_CN/groupmod.8, man/zh_CN/useradd.8, man/zh_CN/userdel.8, man/zh_CN/usermod.8, man/zh_TW/Makefile.am, man/zh_TW/groupadd.8, man/zh_TW/groupdel.8, man/zh_TW/groupmod.8, man/zh_TW/useradd.8, man/zh_TW/userdel.8, man/zh_TW/usermod.8: + - added zh man pages from MDK (2 x 6) and from cman (1) + +2003-01-07 Tomasz K³oczko + + * man/ja/shadow.3, man/pl/shadow.3, man/shadow.3: + sync spwd structure declaration with current glibc declaration (tahnks for + point this bug to Michael Kerrisk ). + + * man/pl/faillog.5: s/konsolê/terminal/ + +2002-12-29 Tomasz K³oczko + + * src/Makefile.am: typo (s/EXTRA_DOST/EXTRA_DIST/). + +2002-10-14 Tomasz K³oczko + + * src/Makefile.am: + fixed making vigr symlink to vipw (not vipw to vigr) in install-exec-hook (fix submited by + Dimitar Zhekov ). + + * debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/login.postrm, debian/Attic/login.preinst, debian/Attic/login.prerm, debian/Attic/logoutd.init, debian/Attic/passwd.conffiles, debian/Attic/passwd.copyright, debian/Attic/passwd.cron, debian/Attic/passwd.init, debian/Attic/passwd.postinst, debian/Attic/passwd.postrm, debian/Attic/porttime, debian/Attic/rules, debian/Attic/secure-su.README, debian/Attic/secure-su.conffiles, debian/Attic/secure-su.copyright, debian/Attic/secure-su.postrm, debian/Attic/secure-su.preinst, debian/Attic/securetty, debian/Attic/shadowconfig.sh, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/checksums, debian/Attic/control, debian/Attic/control.gnu, debian/Attic/control.linux, debian/Attic/login.conffiles, Makefile.am, configure.in: + removed debian directory. + +2002-10-12 Tomasz K³oczko + + * NEWS, src/newgrp.c: + Use CLOSE_SESSIONS depending code only when USE_PAM. + The problem was reported by Mattias Webjorn Eriksson using Slackware + 8.1 and reproduced it using slackware-current (9.0beta) (fix submited by + Simon Williams ). + +2002-10-07 Tomasz K³oczko + + * man/ja/login.1, man/ja/logoutd.8, man/pl/login.1, man/pl/logoutd.8, man/hu/login.1, man/login.1, man/logoutd.8: + changed utmp and wtmp files paths (s#/etc/utmp/#/var/run/utmp#; s#/etc/wtmp#/var/log/wtmp#) + + * po/ru.po, configure.in: added ru translation (from KSI resources). + +2002-09-07 Tomasz K³oczko + + * NEWS, libmisc/failure.c: + libbmisc/failure.c (too_many_failures): incorrect if() condition in non-PAM + dependent code in fail login handling (fixed by Krzysztof Oledzki ). + +2002-08-05 Tomasz K³oczko + + * man/pl/useradd.8, man/useradd.8, NEWS: + document useradd and groupadd -M option in en and pl man pages + (by Jakub Mikusek ). + + * configure.in: start prepare 4.0.4. + +2002-03-18 Andrzej Krzysztofowicz + + * man/ja/Attic/dpasswd.8, man/ja/chpasswd.8, man/ja/faillog.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.defs.5, man/ja/newusers.8, man/ja/shadowconfig.8, man/ja/su.1, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8: + - updated to man-pages-ja-20020315 (except cvs tags) + +2002-03-15 Andrzej Krzysztofowicz + + * TODO: - remove already done pl man updates from the list + 2002-03-13 Tomasz K³oczko + * man/ko/Makefile.am, man/ko/chfn.1, man/ko/chsh.1, man/ko/groups.1, man/ko/id.1, man/ko/login.1, man/ko/newgrp.1, man/ko/passwd.5, man/ko/su.1: + added ko man pages. + + * man/de/Makefile.am: automake files for de man pages. + * TODO: updated. * man/it/Makefile.am, man/id/Makefile.am, man/id/adduser.8, man/id/useradd.8, man/Makefile.am, man/cs/Makefile.am, man/fr/Makefile.am, configure.in, NEWS: @@ -57,12 +591,12 @@ 2002-03-09 Andrzej Krzysztofowicz - * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/pwauth.8, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwauth.8, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8: + * man/pt_BR/groupadd.8, man/pt_BR/groupdel.8, man/pt_BR/groupmod.8, man/pt_BR/shadow.5, man/pl/userdel.8, man/pl/usermod.8, man/pl/sulogin.8, man/pl/useradd.8, man/pl/pwconv.8, man/pl/su.1, man/pl/Attic/pwauth.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/passwd.5, man/pl/login.defs.5, man/pl/chpasswd.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmems.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/login.1, man/hu/groups.1, man/hu/newgrp.1, man/ja/Attic/pwauth.8, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/groups.1, man/ja/grpck.8, man/ja/id.1, man/ja/lastlog.8, man/ja/login.1, man/ja/login.defs.5, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.5, man/ja/su.1, man/ja/sulogin.8, man/ja/useradd.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/vipw.8, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8: - further "SEE ALSO" references sorting 2002-03-08 Tomasz K³oczko - * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3, man/pwauth.8: + * man/pwck.8, man/pwconv.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/Attic/pwauth.8, man/Makefile.am, man/chpasswd.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/login.1, man/login.defs.5, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.5, man/pw_auth.3: merged shadow-4.0.0-owl-man.patch by Solar Designer . * NEWS: updated for 4.0.3. @@ -189,7 +723,7 @@ * po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, po/ja.po, po/ko.po, po/pl.po: update. - * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/dpasswd.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c: + * src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c, src/Attic/dpasswd.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c: Add -pcs to .indent.pro file and reindent all code. Remove "\n" from all SYSLOG() messages. @@ -208,10 +742,10 @@ * po/uk.po: typo. - * man/pl/passwd.1, man/ja/passwd.1, man/chpasswd.8, man/dpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1: + * man/pl/passwd.1, man/ja/passwd.1, man/Attic/dpasswd.8, man/chpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1: cleanups. - * src/dpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8: + * src/Attic/dpasswd.c, src/expiry.c, src/grpck.c, src/id.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/chfn.c, src/chsh.c, po/ja.po, po/ko.po, po/pl.po, po/sv.po, po/uk.po, po/cs.po, po/el.po, po/fr.po, man/useradd.8: standarize usage messages syntax. * man/pl/useradd.8, man/pl/usermod.8, man/pl/vipw.8, man/pl/userdel.8: @@ -243,7 +777,7 @@ * src/newgrp.c, src/pwck.c, src/su.c, src/useradd.c, src/usermod.c, src/groupadd.c, src/groupmod.c, src/id.c, NEWS: fixes for handle/print correctly 32bit uid/gid (Thorsten Kukuk ). - * src/chage.c: - break ussage vomment line. + * src/chage.c: - break usage vomment line. * lib/defines.h: removed bunch spaces on end line in conditionale #include @@ -278,7 +812,7 @@ 2001-11-16 Andrzej Krzysztofowicz - * man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwauth.8, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/dpasswd.8, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1: + * man/ja/Attic/pwauth.8, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, man/ja/Attic/dpasswd.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1: - updated to man-pages-ja-20011115.tar.gz * man/ja/groups.1: 3c26de91cfd359c0b7c36ca3cd3e170d groups.1 @@ -348,11 +882,11 @@ 2001-11-06 Tomasz K³oczko - * src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/login.c, src/passwd.c, src/pwck.c, src/userdel.c, src/usermod.c, src/chage.c, src/chfn.c, src/chsh.c, libmisc/utmp.c: + * src/Attic/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/login.c, src/passwd.c, src/pwck.c, src/userdel.c, src/usermod.c, src/chage.c, src/chfn.c, src/chsh.c, libmisc/utmp.c: removed prototypes which are defined in libc header files (Thorsten Kukuk ). - * libmisc/Makefile.am, libmisc/nscd.c, lib/commonio.c: + * libmisc/Attic/nscd.c, libmisc/Makefile.am, lib/commonio.c: implemetn better reloading the nscd cache (per NSS map) by Thorsten Kukuk @@ -376,7 +910,7 @@ * src/useradd.c: sort alphabetically *flg variables. - * debian/Attic/tar.c, debian/Makefile.am: removed. + * debian/Attic/Makefile.am, debian/Attic/tar.c: removed. 2001-10-10 Tomasz K³oczko @@ -593,12 +1127,12 @@ * po/pl.po: fixed charset (must be iso-8859-2). - * man/Makefile.am, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/dpasswd.8, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwauth.8, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS: + * man/Makefile.am, man/ja/Attic/dpasswd.8, man/ja/Attic/pwauth.8, man/ja/Makefile.am, man/ja/chage.1, man/ja/chfn.1, man/ja/chpasswd.8, man/ja/chsh.1, man/ja/faillog.5, man/ja/faillog.8, man/ja/gpasswd.1, man/ja/groupadd.8, man/ja/groupdel.8, man/ja/groupmod.8, man/ja/grpck.8, man/ja/lastlog.8, man/ja/login.1, man/ja/login.access.5, man/ja/login.defs.5, man/ja/logoutd.8, man/ja/mkpasswd.8, man/ja/newgrp.1, man/ja/passwd.1, man/ja/passwd.5, man/ja/porttime.5, man/ja/pw_auth.3, man/ja/pwck.8, man/ja/pwconv.8, man/ja/shadow.3, man/ja/shadow.5, man/ja/su.1, man/ja/suauth.5, man/ja/sulogin.8, man/ja/userdel.8, man/ja/usermod.8, configure.in, NEWS: added ja man pages. 2001-05-30 Tomasz K³oczko - * src/Attic/shadowconfig.sh, src/Makefile.am, debian/Makefile.am, debian/shadowconfig.sh: + * src/Attic/shadowconfig.sh, src/Makefile.am, debian/Attic/Makefile.am, debian/Attic/shadowconfig.sh: move shadowconfig.sh to debian/ * src/Makefile.am: added missing -I${top_srcdir} to INCLUDES. @@ -643,14 +1177,14 @@ * TODO: - updated. - * man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/dpasswd.8, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/su.1, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/dpasswd.8, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/lastlog.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/su.1, man/useradd.8, man/usermod.8, man/vipw.8: + * man/pl/Attic/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/su.1, man/pl/useradd.8, man/pl/userdel.8, man/pl/vipw.8, man/Attic/dpasswd.8, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/id.1, man/lastlog.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/su.1, man/useradd.8, man/usermod.8, man/vipw.8: many small cleanups, fixes also removed commented obsoleted texts. 2001-01-25 Tomasz K³oczko * autogen.sh: add to conf_flags --disable-shared. - * man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwauth.8, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwauth.8, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/shadowconfig.8, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8: + * man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5, man/pl/Attic/dpasswd.8, man/pl/Attic/pwauth.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/vipw.8, man/Attic/pwauth.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/shadow.3, man/shadow.5, man/shadowconfig.8, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, man/vipw.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/expiry.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmems.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/limits.5, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8: put or move to top cemmented Id cvs keyword, (passwd.1): documment -e option (patch from Debian), (userdel.1): remove commented obsoleted options. @@ -735,7 +1269,7 @@ 2000-10-16 Tomasz K³oczko - * old/pwconv-old.8, old/pwconv.8, old/pwunconv-old.8, old/pwunconv.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwauth.8, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/dpasswd.8, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwauth.8, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, doc/ANNOUNCE, doc/LSM, doc/README, doc/README.linux: + * old/Attic/pwconv-old.8, old/Attic/pwconv.8, old/Attic/pwunconv-old.8, old/Attic/pwunconv.8, man/pl/Attic/pwauth.8, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/shadow.3, man/pl/su.1, man/pl/sulogin.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/pl/Attic/dpasswd.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/login.1, man/Attic/dpasswd.8, man/Attic/pwauth.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, doc/Attic/ANNOUNCE, doc/LSM, doc/README, doc/README.linux: Julianne F. Haugh new contact adress. * NEWS: - summary chanfes for 20001016. @@ -777,7 +1311,7 @@ * libmisc/Makefile.am: - removed pwdcheck.c from libmisc_a_SOURCES. - * debian/Makefile.am: - removed FILES from EXTRA_DIST. + * debian/Attic/Makefile.am: - removed FILES from EXTRA_DIST. * contrib/Makefile.am: - s/udbachk.v012.tgz/udbachk.tgz/ @@ -881,62 +1415,62 @@ 2000-09-05 Marek Micha³kiewicz - * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/d_passwd.5, man/pl/dialups.5, man/pl/dpasswd.8, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwauth.8, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5: + * man/pl/sulogin.8, man/pl/vipw.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, man/pl/Attic/d_passwd.5, man/pl/Attic/dialups.5, man/pl/Attic/dpasswd.8, man/pl/Attic/pwauth.8, man/pl/chage.1, man/pl/chfn.1, man/pl/chpasswd.8, man/pl/chsh.1, man/pl/faillog.5, man/pl/faillog.8, man/pl/gpasswd.1, man/pl/groups.1, man/pl/grpck.8, man/pl/id.1, man/pl/lastlog.8, man/pl/limits.5, man/pl/login.1, man/pl/login.access.5, man/pl/login.defs.5, man/pl/logoutd.8, man/pl/mkpasswd.8, man/pl/newgrp.1, man/pl/newusers.8, man/pl/passwd.1, man/pl/passwd.5, man/pl/porttime.5, man/pl/pw_auth.3, man/pl/pwck.8, man/pl/pwconv.8, man/pl/shadow.3, man/pl/shadow.5, man/pl/shadowconfig.8, man/pl/su.1, man/pl/suauth.5: *** empty log message *** 2000-09-02 Marek Micha³kiewicz - * src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/commonio.h, lib/defines.h, lib/groupio.c, lib/pwio.c, lib/sgroupio.c, lib/shadowio.c, man/usermod.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, redhat/Attic/shadow-utils.spec.in, src/chage.c, src/chfn.c, src/chsh.c, src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, configure.in, debian/rules, doc/Attic/CHANGES, doc/LSM, lib/commonio.c: + * src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwck.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/commonio.h, lib/defines.h, lib/groupio.c, lib/pwio.c, lib/sgroupio.c, lib/shadowio.c, man/usermod.8, po/el.po, po/fr.po, po/pl.po, po/sv.po, redhat/Attic/shadow-utils.spec.in, src/Attic/dpasswd.c, src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, configure.in, debian/Attic/rules, doc/Attic/CHANGES, doc/LSM, lib/commonio.c: *** empty log message *** 2000-08-26 Marek Micha³kiewicz - * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/README.mirrors, src/vipw.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/dpasswd.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/dialchk.h, lib/dialup.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/rad64.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, lib/tcfsio.h, libmisc/Attic/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwauth.8, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/ANNOUNCE, doc/Attic/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, Attic/mkinstalldirs, configure.in, Makefile.am: + * contrib/Makefile.am, contrib/groupmems.shar, doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, doc/README.mirrors, src/vipw.c, src/Attic/dpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Attic/dialchk.h, lib/Attic/dialup.h, lib/Attic/tcfsio.h, lib/Makefile.am, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, lib/groupio.c, lib/groupio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/pwio.h, lib/rad64.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.h, libmisc/Attic/suauth.c, libmisc/chkname.h, libmisc/chowndir.c, libmisc/copydir.c, libmisc/entry.c, libmisc/failure.h, libmisc/getdate.h, libmisc/hushed.c, libmisc/loginprompt.c, libmisc/setupenv.c, libmisc/sulog.c, man/Attic/dpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/pl/Makefile.am, man/pl/groupadd.8, man/pl/groupdel.8, man/pl/groupmod.8, man/pl/useradd.8, man/pl/userdel.8, man/pl/usermod.8, man/porttime.5, man/pw_auth.3, man/pwck.8, man/shadow.3, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, etc/login.defs.hurd, etc/login.defs.linux, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/README, doc/README.linux, doc/README.pam, doc/WISHLIST, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, Attic/mkinstalldirs, configure.in, Makefile.am: *** empty log message *** 1999-08-27 Marek Micha³kiewicz - * doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, debian/passwd.postinst, lib/dialchk.c, lib/getdef.c, lib/getpass.c, lib/pwauth.c, libmisc/limits.c, libmisc/rlogin.c, man/limits.5, man/newgrp.1, src/chage.c, src/dpasswd.c, src/gpasswd.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/sulogin.c, acconfig.h, configure.in, debian/Attic/logoutd, debian/Makefile.am, debian/changelog, debian/control.gnu, debian/control.linux, debian/login.postrm, debian/logoutd.init, debian/passwd.conffiles, debian/passwd.cron, debian/passwd.init, debian/passwd.postrm, debian/rules, doc/Attic/CHANGES, doc/README.mirrors, doc/WISHLIST, etc/Makefile.am, etc/login.defs.hurd, etc/login.defs.linux, lib/defines.h: + * doc/LSM, po/el.po, po/fr.po, po/pl.po, po/sv.po, debian/Attic/passwd.postinst, lib/Attic/dialchk.c, lib/getdef.c, lib/getpass.c, lib/pwauth.c, libmisc/limits.c, libmisc/rlogin.c, man/limits.5, man/newgrp.1, src/Attic/dpasswd.c, src/chage.c, src/gpasswd.c, src/login.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/sulogin.c, acconfig.h, configure.in, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/control.gnu, debian/Attic/control.linux, debian/Attic/login.postrm, debian/Attic/logoutd, debian/Attic/logoutd.init, debian/Attic/passwd.conffiles, debian/Attic/passwd.cron, debian/Attic/passwd.init, debian/Attic/passwd.postrm, debian/Attic/rules, doc/Attic/CHANGES, doc/README.mirrors, doc/WISHLIST, etc/Makefile.am, etc/login.defs.hurd, etc/login.defs.linux, lib/defines.h: *** empty log message *** 1999-07-09 Marek Micha³kiewicz - * configure.in, contrib/Makefile.am, debian/changelog, doc/Attic/CHANGES, doc/LSM, doc/WISHLIST, lib/prototypes.h, lib/strcasecmp.c, libmisc/Makefile.am, man/faillog.8, po/el.po, po/pl.po, src/Makefile.am, src/chfn.c, src/chsh.c, src/faillog.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, src/newgrp.c, src/passwd.c, src/vipw.c: + * configure.in, contrib/Makefile.am, debian/Attic/changelog, doc/Attic/CHANGES, doc/LSM, doc/WISHLIST, lib/prototypes.h, lib/strcasecmp.c, libmisc/Makefile.am, man/faillog.8, po/el.po, po/pl.po, src/Makefile.am, src/chfn.c, src/chsh.c, src/faillog.c, src/groupmod.c, src/grpconv.c, src/grpunconv.c, src/newgrp.c, src/passwd.c, src/vipw.c: *** empty log message *** 1999-06-07 Marek Micha³kiewicz - * redhat/Attic/shadow-utils.spec.in, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/dpasswd.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/changelog, debian/rules, doc/Attic/CHANGES, doc/LSM, doc/README.linux, doc/README.mirrors, doc/README.platforms, doc/WISHLIST, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, lib/rcsid.h, libmisc/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, acconfig.h, configure.in: + * redhat/Attic/shadow-utils.spec.in, src/Attic/dpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/usermod.c, contrib/Makefile.am, contrib/README, contrib/udbachk.tgz, debian/Attic/changelog, debian/Attic/rules, doc/Attic/CHANGES, doc/LSM, doc/README.linux, doc/README.mirrors, doc/README.platforms, doc/WISHLIST, lib/Makefile.am, lib/fputsx.c, lib/getpass.c, lib/pam_defs.h, lib/prototypes.h, lib/rcsid.h, libmisc/login_desrpc.c, libmisc/pam_pass.c, libmisc/utmp.c, man/login.1, po/el.po, po/pl.po, acconfig.h, configure.in: *** empty log message *** 1999-03-07 Marek Micha³kiewicz - * po/pl.po, po/el.po, doc/LSM, src/useradd.c, src/su.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/logoutd.c, src/login.c, src/grpconv.c, src/grpck.c, src/groupadd.c, src/gpasswd.c, src/dpasswd.c, src/chfn.c, src/chage.c, man/usermod.8, man/useradd.8, man/limits.5, man/chage.1, libmisc/valid.c, libmisc/sub.c, libmisc/strtoday.c, libmisc/setupenv.c, libmisc/obscure.c, libmisc/limits.c, libmisc/env.c, lib/snprintf.h, lib/getdef.c, lib/encrypt.c, lib/defines.h, etc/login.defs.linux, doc/WISHLIST, doc/README.nls, doc/README.pam, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/Makefile.am, doc/Attic/CHANGES, debian/Attic/tar.c, debian/rules, debian/Attic/logoutd, debian/control, debian/changelog, configure.in: + * po/pl.po, po/el.po, doc/LSM, src/useradd.c, src/su.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/logoutd.c, src/login.c, src/grpconv.c, src/grpck.c, src/groupadd.c, src/gpasswd.c, src/Attic/dpasswd.c, src/chfn.c, src/chage.c, man/usermod.8, man/useradd.8, man/limits.5, man/chage.1, libmisc/valid.c, libmisc/sub.c, libmisc/strtoday.c, libmisc/setupenv.c, libmisc/obscure.c, libmisc/limits.c, libmisc/env.c, lib/snprintf.h, lib/getdef.c, lib/encrypt.c, lib/defines.h, etc/login.defs.linux, doc/WISHLIST, doc/README.nls, doc/README.pam, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/Makefile.am, doc/Attic/CHANGES, debian/Attic/tar.c, debian/Attic/rules, debian/Attic/logoutd, debian/Attic/control, debian/Attic/changelog, configure.in: *** empty log message *** 1998-12-28 Marek Micha³kiewicz - * src/usermod.c, src/userdel.c, src/useradd.c, src/sulogin.c, src/su.c, src/pwunconv.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/mkpasswd.c, src/logoutd.c, src/login.c, src/lastlog.c, src/id.c, src/grpunconv.c, src/grpconv.c, src/grpck.c, src/groups.c, src/groupmod.c, src/groupdel.c, src/groupadd.c, src/gpasswd.c, src/faillog.c, src/expiry.c, src/dpasswd.c, src/chsh.c, src/chpasswd.c, src/chfn.c, src/chage.c, po/Attic/doit, po/POTFILES.in, po/el.po, src/Makefile.am, man/usermod.8, man/userdel.8, man/useradd.8, man/sulogin.8, man/su.1, man/shadow.5, man/shadow.3, man/pwck.8, man/pwauth.8, man/pw_auth.3, man/porttime.5, man/passwd.5, man/passwd.1, man/newusers.8, man/newgrp.1, man/mkpasswd.8, man/logoutd.8, man/login.defs.5, man/login.1, man/lastlog.8, man/id.1, man/grpck.8, man/groups.1, man/groupmod.8, man/groupdel.8, man/groupadd.8, man/faillog.8, man/faillog.5, man/dpasswd.8, man/chsh.1, man/chpasswd.8, man/chfn.1, man/chage.1, libmisc/xmalloc.c, libmisc/sub.c, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/setupenv.c, libmisc/pam_pass.c, libmisc/obscure.c, libmisc/mail.c, libmisc/login_desrpc.c, libmisc/limits.c, libmisc/failure.c, libmisc/env.c, libmisc/console.c, libmisc/chowntty.c, libmisc/age.c, libmisc/addgrps.c, libmisc/Makefile.am, lib/strerror.c, lib/pwauth.c, lib/prototypes.h, lib/getpass.c, lib/getdef.c, lib/dialchk.c, lib/defines.h, lib/Makefile.am, doc/WISHLIST, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/README, doc/LSM, doc/Attic/CHANGES, debian/secure-su.copyright, debian/passwd.copyright, debian/login.copyright, debian/control, debian/changelog, configure.in, acconfig.h, Makefile.am: + * src/usermod.c, src/userdel.c, src/useradd.c, src/sulogin.c, src/su.c, src/pwunconv.c, src/pwconv.c, src/pwck.c, src/passwd.c, src/newusers.c, src/newgrp.c, src/mkpasswd.c, src/logoutd.c, src/login.c, src/lastlog.c, src/id.c, src/grpunconv.c, src/grpconv.c, src/grpck.c, src/groups.c, src/groupmod.c, src/groupdel.c, src/groupadd.c, src/gpasswd.c, src/faillog.c, src/expiry.c, src/Attic/dpasswd.c, src/chsh.c, src/chpasswd.c, src/chfn.c, src/chage.c, po/Attic/doit, po/POTFILES.in, po/el.po, src/Makefile.am, man/usermod.8, man/userdel.8, man/useradd.8, man/sulogin.8, man/su.1, man/shadow.5, man/shadow.3, man/pwck.8, man/Attic/pwauth.8, man/pw_auth.3, man/porttime.5, man/passwd.5, man/passwd.1, man/newusers.8, man/newgrp.1, man/mkpasswd.8, man/logoutd.8, man/login.defs.5, man/login.1, man/lastlog.8, man/id.1, man/grpck.8, man/groups.1, man/groupmod.8, man/groupdel.8, man/groupadd.8, man/faillog.8, man/faillog.5, man/Attic/dpasswd.8, man/chsh.1, man/chpasswd.8, man/chfn.1, man/chage.1, libmisc/xmalloc.c, libmisc/sub.c, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/setupenv.c, libmisc/pam_pass.c, libmisc/obscure.c, libmisc/mail.c, libmisc/login_desrpc.c, libmisc/limits.c, libmisc/failure.c, libmisc/env.c, libmisc/console.c, libmisc/chowntty.c, libmisc/age.c, libmisc/addgrps.c, libmisc/Makefile.am, lib/strerror.c, lib/pwauth.c, lib/prototypes.h, lib/getpass.c, lib/getdef.c, lib/Attic/dialchk.c, lib/defines.h, lib/Makefile.am, doc/WISHLIST, doc/README.platforms, doc/README.mirrors, doc/README.linux, doc/README, doc/LSM, doc/Attic/CHANGES, debian/Attic/secure-su.copyright, debian/Attic/passwd.copyright, debian/Attic/login.copyright, debian/Attic/control, debian/Attic/changelog, configure.in, acconfig.h, Makefile.am: *** empty log message *** 1998-07-24 Marek Micha³kiewicz - * src/passwd.c, src/su.c, src/userdel.c, src/Makefile.am, src/chage.c, src/faillog.c, src/login.c, lib/pwauth.c, lib/tcfsio.c, lib/tcfsio.h, libmisc/chowntty.c, libmisc/pam_pass.c, libmisc/setugid.c, etc/pam.d/passwd, etc/pam.d/su, lib/Makefile.am, lib/commonio.c, lib/defines.h, lib/prototypes.h, doc/Makefile.am, doc/README.linux, doc/README.mirrors, doc/README.platforms, doc/WISHLIST, etc/Makefile.am, etc/pam.d/Makefile.am, doc/Attic/CHANGES, debian/changelog, configure.in, acconfig.h: + * src/passwd.c, src/su.c, src/userdel.c, src/Makefile.am, src/chage.c, src/faillog.c, src/login.c, lib/Attic/tcfsio.c, lib/Attic/tcfsio.h, lib/pwauth.c, libmisc/chowntty.c, libmisc/pam_pass.c, libmisc/setugid.c, etc/pam.d/passwd, etc/pam.d/su, lib/Makefile.am, lib/commonio.c, lib/defines.h, lib/prototypes.h, doc/Makefile.am, doc/README.linux, doc/README.mirrors, doc/README.platforms, doc/WISHLIST, etc/Makefile.am, etc/pam.d/Makefile.am, doc/Attic/CHANGES, debian/Attic/changelog, configure.in, acconfig.h: *** empty log message *** 1998-06-26 Marek Micha³kiewicz - * src/passwd.c, src/usermod.c, man/faillog.8, man/pwconv.8, src/logoutd.c, lib/getpass.c, libmisc/copydir.c, doc/README.linux, doc/README.mirrors, doc/WISHLIST, lib/commonio.c, debian/changelog, doc/Attic/CHANGES, configure.in: + * src/passwd.c, src/usermod.c, man/faillog.8, man/pwconv.8, src/logoutd.c, lib/getpass.c, libmisc/copydir.c, doc/README.linux, doc/README.mirrors, doc/WISHLIST, lib/commonio.c, debian/Attic/changelog, doc/Attic/CHANGES, configure.in: *** empty log message *** 1998-05-29 Marek Micha³kiewicz - * man/lastlog.8, man/login.1, src/usermod.c, doc/Attic/CHANGES, doc/README.linux, etc/login.defs.linux, lib/defines.h, debian/changelog, debian/login.copyright, debian/login.postinst, debian/passwd.copyright, debian/rules, debian/secure-su.copyright, configure.in, contrib/Makefile.am, contrib/shadow-anonftp.patch: + * man/lastlog.8, man/login.1, src/usermod.c, doc/Attic/CHANGES, doc/README.linux, etc/login.defs.linux, lib/defines.h, debian/Attic/changelog, debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/passwd.copyright, debian/Attic/rules, debian/Attic/secure-su.copyright, configure.in, contrib/Makefile.am, contrib/shadow-anonftp.patch: *** empty log message *** 1998-04-16 Marek Micha³kiewicz - * src/useradd.c, src/userdel.c, src/usermod.c, src/passwd.c, src/sulogin.c, src/groupdel.c, src/login.c, src/logoutd.c, src/newgrp.c, src/chage.c, src/dpasswd.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, redhat/Attic/shadow-970616-rh.patch, redhat/Attic/shadow-970616-utuser.patch, redhat/Attic/shadow-970616.login.defs, redhat/Attic/shadow-970616.useradd, redhat/Attic/shadow-utils-970616.spec, src/Makefile.am, libmisc/utmp.c, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970616-fix.patch, redhat/Attic/shadow-970616-glibc.patch, libmisc/limits.c, libmisc/log.c, libmisc/login_desrpc.c, libmisc/loginprompt.c, libmisc/obscure.c, libmisc/strtoday.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/copydir.c, libmisc/failure.c, lib/defines.h, lib/dialchk.c, lib/pwauth.c, lib/pwpack.c, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, doc/cracklib26.diff, lib/commonio.c, acconfig.h, configure.in, debian/Attic/tar.c: + * src/useradd.c, src/userdel.c, src/usermod.c, src/passwd.c, src/sulogin.c, src/groupdel.c, src/login.c, src/logoutd.c, src/newgrp.c, src/Attic/dpasswd.c, src/chage.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, redhat/Attic/shadow-970616-rh.patch, redhat/Attic/shadow-970616-utuser.patch, redhat/Attic/shadow-970616.login.defs, redhat/Attic/shadow-970616.useradd, redhat/Attic/shadow-utils-970616.spec, src/Makefile.am, libmisc/utmp.c, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970616-fix.patch, redhat/Attic/shadow-970616-glibc.patch, libmisc/limits.c, libmisc/log.c, libmisc/login_desrpc.c, libmisc/loginprompt.c, libmisc/obscure.c, libmisc/strtoday.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/copydir.c, libmisc/failure.c, lib/Attic/dialchk.c, lib/defines.h, lib/pwauth.c, lib/pwpack.c, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, doc/cracklib26.diff, lib/commonio.c, acconfig.h, configure.in, debian/Attic/tar.c: *** empty log message *** 1998-04-02 Marek Micha³kiewicz @@ -946,7 +1480,7 @@ 1998-01-30 Marek Micha³kiewicz - * Attic/install-sh, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/groupmod.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, redhat/Attic/README, redhat/Attic/shadow-utils.spec.in, src/Makefile.am, src/chage.c, man/login.defs.5, man/useradd.8, man/usermod.8, redhat/Attic/Makefile.am, libmisc/pam_pass.c, libmisc/strtoday.c, libmisc/tz.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/obscure.c, libmisc/age.c, libmisc/env.c, libmisc/limits.c, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/strstr.c, lib/utent.c, lib/pwio.c, lib/pwio.h, lib/rmdir.c, lib/sgetspent.c, lib/sgroupio.c, lib/mkdir.c, lib/prototypes.h, lib/putgrent.c, lib/pwauth.c, lib/md5crypt.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, doc/Attic/automake-1.0.diff, doc/README.mirrors, doc/WISHLIST, lib/Makefile.am, lib/commonio.c, doc/ANNOUNCE, doc/Attic/CHANGES, doc/Makefile.am, doc/README.limits, doc/README.linux, debian/Makefile.am, debian/changelog, debian/login.copyright, debian/rules, Attic/mkinstalldirs, Attic/shadow-utils.spec, contrib/README, Attic/aclocal.m4, acconfig.h, configure.in, Makefile.am: + * Attic/install-sh, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/useradd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/groupmod.c, src/login.c, src/logoutd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/expiry.c, redhat/Attic/README, redhat/Attic/shadow-utils.spec.in, src/Makefile.am, src/chage.c, man/login.defs.5, man/useradd.8, man/usermod.8, redhat/Attic/Makefile.am, libmisc/pam_pass.c, libmisc/strtoday.c, libmisc/tz.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/obscure.c, libmisc/age.c, libmisc/env.c, libmisc/limits.c, lib/shadow.c, lib/shadowio.c, lib/shadowio.h, lib/strstr.c, lib/utent.c, lib/pwio.c, lib/pwio.h, lib/rmdir.c, lib/sgetspent.c, lib/sgroupio.c, lib/mkdir.c, lib/prototypes.h, lib/putgrent.c, lib/pwauth.c, lib/md5crypt.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/getdef.h, doc/Attic/automake-1.0.diff, doc/README.mirrors, doc/WISHLIST, lib/Makefile.am, lib/commonio.c, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/Makefile.am, doc/README.limits, doc/README.linux, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/login.copyright, debian/Attic/rules, Attic/mkinstalldirs, Attic/shadow-utils.spec, contrib/README, Attic/aclocal.m4, acconfig.h, configure.in, Makefile.am: *** empty log message *** 1998-01-25 Marek Micha³kiewicz @@ -955,22 +1489,22 @@ 1997-12-14 Marek Micha³kiewicz - * doc/Attic/CHANGES, debian/checksums, debian/rules, debian/Makefile.am, src/Makefile.am, src/userdel.c, src/usermod.c, src/pwck.c, src/useradd.c, src/mkpasswd.c, src/gpasswd.c, src/grpck.c, src/login.c, src/chage.c, src/chfn.c, src/chsh.c, man/shadowconfig.8, man/vipw.8, old/Makefile.am, old/pwunconv.8, man/Makefile.am, man/login.defs.5, man/pwconv.8, man/pwunconv.8, libmisc/limits.c, libmisc/rlogin.c, lib/prototypes.h, lib/pwdbm.c, lib/pwent.c, lib/shadow.c, doc/LSM, doc/WISHLIST, etc/limits, lib/grent.c, Attic/shadow-utils.spec, debian/changelog, configure.in: + * doc/Attic/CHANGES, debian/Attic/checksums, debian/Attic/rules, debian/Attic/Makefile.am, src/Makefile.am, src/userdel.c, src/usermod.c, src/pwck.c, src/useradd.c, src/mkpasswd.c, src/gpasswd.c, src/grpck.c, src/login.c, src/chage.c, src/chfn.c, src/chsh.c, man/shadowconfig.8, man/vipw.8, old/Attic/Makefile.am, old/Attic/pwunconv.8, man/Makefile.am, man/login.defs.5, man/pwconv.8, man/pwunconv.8, libmisc/limits.c, libmisc/rlogin.c, lib/prototypes.h, lib/pwdbm.c, lib/pwent.c, lib/shadow.c, doc/LSM, doc/WISHLIST, etc/limits, lib/grent.c, Attic/shadow-utils.spec, debian/Attic/changelog, configure.in: *** empty log message *** 1997-12-08 Marek Micha³kiewicz - * src/userdel.c, src/usermod.c, src/Attic/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/logoutd.c, src/mkpasswd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/chsh.c, src/dpasswd.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Makefile.am, old/pwconv.8, old/vipw.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/shadowconfig.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/Attic/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, libmisc/chkshell.c, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/spdbm.c, lib/sppack.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/pwauth.c, lib/pwdbm.c, lib/pwent.c, lib/pwio.c, lib/pwpack.c, lib/mkdir.c, lib/port.c, lib/prototypes.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/gsdbm.c, lib/gshadow.c, lib/gspack.c, lib/lockpw.c, lib/md5.c, lib/md5crypt.c, lib/grdbm.c, lib/grent.c, lib/groupio.c, lib/grpack.c, lib/getpass.c, lib/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/dialchk.c, lib/dialchk.h, doc/Attic/automake-1.0.diff, etc/limits, etc/login.defs.linux, lib/Makefile.am, doc/Attic/CHANGES, doc/README.linux, doc/README.mirrors, doc/WISHLIST, debian/login.conffiles, debian/login.postinst, debian/passwd.postinst, debian/porttime, debian/rules, debian/secure-su.README, debian/securetty, contrib/pwdauth.c, debian/changelog, debian/control, Attic/aclocal.m4, Attic/shadow-utils.spec, acconfig.h, configure.in, Makefile.am: + * src/userdel.c, src/usermod.c, src/Attic/shadowconfig.sh, src/su.c, src/sulogin.c, src/useradd.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/newgrp.c, src/newusers.c, src/logoutd.c, src/mkpasswd.c, src/grpconv.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/grpck.c, src/Attic/dpasswd.c, src/chsh.c, src/expiry.c, src/faillog.c, src/gpasswd.c, src/Makefile.am, src/chage.c, src/chfn.c, src/chpasswd.c, old/Attic/Makefile.am, old/Attic/pwconv.8, old/Attic/vipw.8, man/Makefile.am, man/limits.5, man/pwconv.8, man/shadowconfig.8, man/vipw.8, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, libmisc/Attic/suauth.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/rlogin.c, libmisc/motd.c, libmisc/myname.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/pwd2spwd.c, libmisc/pwd_init.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/Attic/getdate.c, libmisc/failure.h, libmisc/fields.c, libmisc/getdate.h, libmisc/getdate.y, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chkname.h, libmisc/chkshell.c, lib/strdup.c, lib/strerror.c, lib/strstr.c, lib/utent.c, libmisc/Makefile.am, libmisc/addgrps.c, lib/sgroupio.c, lib/shadow.c, lib/shadowio.c, lib/spdbm.c, lib/sppack.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/rad64.c, lib/pwauth.c, lib/pwdbm.c, lib/pwent.c, lib/pwio.c, lib/pwpack.c, lib/mkdir.c, lib/port.c, lib/prototypes.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/gsdbm.c, lib/gshadow.c, lib/gspack.c, lib/lockpw.c, lib/md5.c, lib/md5crypt.c, lib/grdbm.c, lib/grent.c, lib/groupio.c, lib/grpack.c, lib/getpass.c, lib/Attic/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/Attic/dialchk.c, lib/Attic/dialchk.h, lib/commonio.c, lib/commonio.h, lib/defines.h, doc/Attic/automake-1.0.diff, etc/limits, etc/login.defs.linux, lib/Makefile.am, doc/Attic/CHANGES, doc/README.linux, doc/README.mirrors, doc/WISHLIST, debian/Attic/login.conffiles, debian/Attic/login.postinst, debian/Attic/passwd.postinst, debian/Attic/porttime, debian/Attic/rules, debian/Attic/secure-su.README, debian/Attic/securetty, contrib/pwdauth.c, debian/Attic/changelog, debian/Attic/control, Attic/aclocal.m4, Attic/shadow-utils.spec, acconfig.h, configure.in, Makefile.am: *** empty log message *** 1997-10-01 Marek Micha³kiewicz - * debian/changelog, src/chpasswd.c, libmisc/login_access.c, lib/commonio.h, lib/sgroupio.c, lib/shadowio.c, etc/login.defs.linux, doc/Attic/CHANGES, doc/LSM, doc/README.mirrors, doc/WISHLIST, Attic/shadow-utils.spec: + * debian/Attic/changelog, src/chpasswd.c, libmisc/login_access.c, lib/commonio.h, lib/sgroupio.c, lib/shadowio.c, etc/login.defs.linux, doc/Attic/CHANGES, doc/LSM, doc/README.mirrors, doc/WISHLIST, Attic/shadow-utils.spec: *** empty log message *** 1997-09-30 Marek Micha³kiewicz - * src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/groupmod.c, src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, old/Attic/install-sh, old/pwconv-old.8, old/pwunconv-old.8, old/Makefile.am, man/pwconv.8, man/pwunconv.8, libmisc/setugid.c, libmisc/shell.c, libmisc/utmp.c, libmisc/mail.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/salt.c, libmisc/isexpired.c, libmisc/login_access.c, libmisc/env.c, libmisc/fields.c, libmisc/addgrps.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, lib/strerror.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h, lib/snprintf.c, lib/snprintf.h, lib/putgrent.c, lib/pwauth.c, lib/pwent.c, lib/getpass.c, lib/grent.c, lib/prototypes.h, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/Makefile.am, etc/login.defs.linux, doc/README.linux, doc/README.mirrors, doc/WISHLIST, doc/Attic/CHANGES, doc/LSM, doc/Makefile.am, debian/rules, debian/changelog, contrib/adduser.c, configure.in, acconfig.h: + * src/useradd.c, src/userdel.c, src/usermod.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/groupmod.c, src/Attic/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, old/Attic/install-sh, old/Attic/pwconv-old.8, old/Attic/pwunconv-old.8, old/Attic/Makefile.am, man/pwconv.8, man/pwunconv.8, libmisc/setugid.c, libmisc/shell.c, libmisc/utmp.c, libmisc/mail.c, libmisc/obscure.c, libmisc/pam_pass.c, libmisc/salt.c, libmisc/isexpired.c, libmisc/login_access.c, libmisc/env.c, libmisc/fields.c, libmisc/addgrps.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, lib/strerror.c, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h, lib/snprintf.c, lib/snprintf.h, lib/putgrent.c, lib/pwauth.c, lib/pwent.c, lib/getpass.c, lib/grent.c, lib/prototypes.h, lib/commonio.c, lib/commonio.h, lib/defines.h, lib/encrypt.c, lib/getdef.c, lib/Makefile.am, etc/login.defs.linux, doc/README.linux, doc/README.mirrors, doc/WISHLIST, doc/Attic/CHANGES, doc/LSM, doc/Makefile.am, debian/Attic/rules, debian/Attic/changelog, contrib/adduser.c, configure.in, acconfig.h: *** empty log message *** 1997-09-29 Marek Micha³kiewicz @@ -980,17 +1514,17 @@ 1997-06-16 Marek Micha³kiewicz - * doc/Attic/console.c.spec, doc/Makefile.am, doc/WISHLIST, doc/console.c.spec.txt, doc/Attic/CHANGES, debian/changelog, src/Attic/shadowconfig.sh, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, doc/Attic/README.shadow-paper, doc/README.mirrors, doc/README.linux, debian/login.copyright, debian/passwd.copyright, debian/secure-su.copyright, Attic/shadow-utils.spec, Makefile.am, configure.in: + * doc/Attic/console.c.spec, doc/Makefile.am, doc/WISHLIST, doc/console.c.spec.txt, doc/Attic/CHANGES, debian/Attic/changelog, src/Attic/shadowconfig.sh, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, doc/Attic/README.shadow-paper, doc/README.mirrors, doc/README.linux, debian/Attic/login.copyright, debian/Attic/passwd.copyright, debian/Attic/secure-su.copyright, Attic/shadow-utils.spec, Makefile.am, configure.in: *** empty log message *** 1997-06-01 Marek Micha³kiewicz - * debian/changelog, src/userdel.c, src/usermod.c, src/pwck.c, src/pwunconv.c, src/useradd.c, src/grpunconv.c, src/newusers.c, src/passwd.c, src/expiry.c, src/grpconv.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, libmisc/mail.c, libmisc/login_desrpc.c, lib/pwio.h, lib/shadowio.c, lib/shadowio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/commonio.c, lib/defines.h, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, doc/INSTALL, Attic/install-sh, Attic/mkinstalldirs, Makefile.am, acconfig.h, configure.in: + * debian/Attic/changelog, src/userdel.c, src/usermod.c, src/pwck.c, src/pwunconv.c, src/useradd.c, src/grpunconv.c, src/newusers.c, src/passwd.c, src/expiry.c, src/grpconv.c, src/chage.c, src/chfn.c, src/chpasswd.c, src/chsh.c, src/Makefile.am, redhat/Attic/Makefile.am, redhat/Attic/README, redhat/Attic/shadow-970502-config.patch, redhat/Attic/shadow-utils.spec, libmisc/mail.c, libmisc/login_desrpc.c, lib/pwio.h, lib/shadowio.c, lib/shadowio.h, lib/prototypes.h, lib/pwauth.c, lib/pwio.c, lib/commonio.c, lib/defines.h, doc/README.linux, doc/WISHLIST, doc/Attic/CHANGES, doc/INSTALL, Attic/install-sh, Attic/mkinstalldirs, Makefile.am, acconfig.h, configure.in: *** empty log message *** 1997-05-02 Marek Micha³kiewicz - * src/Attic/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/Attic/CHANGES, debian/Attic/shadowconfig, debian/Makefile.am, debian/changelog, debian/control, debian/rules, configure.in, Attic/configure, shlib/Attic/Makefile.in, man/Attic/Makefile.in, libmisc/Attic/Makefile.in, lib/Attic/Makefile.in, etc/Attic/Makefile.in, doc/Attic/Makefile.in, contrib/Attic/Makefile.in, Attic/Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/pw_auth.3, man/pwauth.8, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/shadow_.h, lib/spdbm.c, lib/sppack.c, lib/strstr.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/pwpack.c, lib/rad64.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/pwauth.h, lib/pwdbm.c, lib/pwent.c, lib/port.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwauth.c, lib/lastlog_.h, lib/lockpw.c, lib/mkdir.c, lib/port.c, lib/grpack.c, lib/gsdbm.c, lib/gshadow.c, lib/gshadow_.h, lib/gspack.c, lib/getdef.c, lib/getpass.c, lib/grdbm.c, lib/grent.c, lib/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/commonio.c, lib/defines.h, lib/dialchk.c, lib/dialup.c, etc/login.defs, etc/login.defs.linux, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/ANNOUNCE, debian/secure-su.README, debian/secure-su.conffiles, debian/secure-su.copyright, debian/secure-su.postrm, debian/secure-su.preinst, debian/securetty, debian/passwd.conffiles, debian/passwd.copyright, debian/passwd.postinst, debian/porttime, debian/Attic/logoutd, debian/login.conffiles, debian/login.copyright, debian/login.postinst, debian/login.postrm, debian/login.preinst, debian/login.prerm, Attic/config.h.in, acconfig.h, Makefile.am, old/Attic/Makefile.in, old/scologin.c, old/orig-config.h, old/pwconv-old.c, old/pwd.h.m4, old/pwunconv-old.c, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/config.h.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/Makefile.am, old/Makefile.linux, src/Attic/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/Attic/pwconv5.c, src/Attic/scologin.c, src/pwck.c, src/pwunconv.c, src/Attic/patchlevel.h, src/newusers.c, src/passwd.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/chsh.c, src/dpasswd.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c: + * src/Attic/shadowconfig.sh, src/Makefile.am, man/Makefile.am, libmisc/mail.c, libmisc/salt.c, lib/sgroupio.c, lib/shadowio.c, lib/groupio.c, lib/pwio.c, etc/Makefile.am, doc/WISHLIST, doc/Attic/CHANGES, debian/Attic/shadowconfig, debian/Attic/Makefile.am, debian/Attic/changelog, debian/Attic/control, debian/Attic/rules, configure.in, Attic/configure, shlib/Attic/Makefile.in, man/Attic/Makefile.in, libmisc/Attic/Makefile.in, lib/Attic/Makefile.in, etc/Attic/Makefile.in, doc/Attic/Makefile.in, contrib/Attic/Makefile.in, Attic/Makefile.in, man/userdel.8, man/usermod.8, man/shadow.5, man/su.1, man/sulogin.8, man/useradd.8, man/Attic/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/limits.5, man/login.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/faillog.5, man/faillog.8, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, libmisc/valid.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/utmp.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/setugid.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/login_access.c, libmisc/loginprompt.c, libmisc/motd.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/age.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, lib/utent.c, lib/shadow_.h, lib/spdbm.c, lib/sppack.c, lib/strstr.c, lib/shadow.c, lib/sgetpwent.c, lib/sgetspent.c, lib/pwpack.c, lib/rad64.c, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/pwauth.h, lib/pwdbm.c, lib/pwent.c, lib/port.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwauth.c, lib/lastlog_.h, lib/lockpw.c, lib/mkdir.c, lib/port.c, lib/grpack.c, lib/gsdbm.c, lib/gshadow.c, lib/gshadow_.h, lib/gspack.c, lib/getdef.c, lib/getpass.c, lib/grdbm.c, lib/grent.c, lib/Attic/dialup.h, lib/encrypt.c, lib/faillog.h, lib/fputsx.c, lib/Attic/dialchk.c, lib/Attic/dialup.c, lib/commonio.c, lib/defines.h, etc/login.defs, etc/login.defs.linux, doc/README.linux, doc/LICENSE, doc/Makefile.am, doc/README, doc/HOWTO, doc/Attic/ANNOUNCE, debian/Attic/secure-su.README, debian/Attic/secure-su.conffiles, debian/Attic/secure-su.copyright, debian/Attic/secure-su.postrm, debian/Attic/secure-su.preinst, debian/Attic/securetty, debian/Attic/passwd.conffiles, debian/Attic/passwd.copyright, debian/Attic/passwd.postinst, debian/Attic/porttime, debian/Attic/login.conffiles, debian/Attic/login.copyright, debian/Attic/login.postinst, debian/Attic/login.postrm, debian/Attic/login.preinst, debian/Attic/login.prerm, debian/Attic/logoutd, Attic/config.h.in, acconfig.h, Makefile.am, old/Attic/Makefile.in, old/Attic/scologin.c, old/Attic/orig-config.h, old/Attic/pwconv-old.c, old/Attic/pwd.h.m4, old/Attic/pwunconv-old.c, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/config.h.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/Makefile.am, old/Attic/Makefile.linux, src/Attic/Makefile.in, src/pwconv.c, src/userdel.c, src/usermod.c, src/useradd.c, src/su.c, src/sulogin.c, src/Attic/pwconv5.c, src/Attic/scologin.c, src/pwck.c, src/pwunconv.c, src/Attic/patchlevel.h, src/newusers.c, src/passwd.c, src/logoutd.c, src/mkpasswd.c, src/newgrp.c, src/grpunconv.c, src/id.c, src/lastlog.c, src/login.c, src/grpck.c, src/grpconv.c, src/groupdel.c, src/groupmod.c, src/groups.c, src/faillog.c, src/gpasswd.c, src/groupadd.c, src/Attic/dpasswd.c, src/chsh.c, src/expiry.c, src/chfn.c, src/chpasswd.c, src/chage.c: *** empty log message *** 1997-02-11 Marek Micha³kiewicz @@ -1015,27 +1549,27 @@ 1996-09-20 Marek Micha³kiewicz - * src/usermod.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/groupdel.c, src/groupmod.c, src/chsh.c, src/dpasswd.c, src/gpasswd.c, src/groupadd.c, src/Attic/Makefile.in, src/chage.c, src/chfn.c, src/Makefile.am, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/sub.c, libmisc/ttytype.c, libmisc/env.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/chowntty.c, lib/prototypes.h, lib/getdef.c, doc/Attic/CHANGES, doc/WISHLIST: + * src/usermod.c, src/su.c, src/sulogin.c, src/useradd.c, src/userdel.c, src/newusers.c, src/passwd.c, src/pwck.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/groupdel.c, src/groupmod.c, src/Attic/dpasswd.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/Attic/Makefile.in, src/chage.c, src/chfn.c, src/Makefile.am, libmisc/Attic/suauth.c, libmisc/shell.c, libmisc/sub.c, libmisc/ttytype.c, libmisc/env.c, libmisc/setugid.c, libmisc/setupenv.c, libmisc/chowntty.c, lib/prototypes.h, lib/getdef.c, doc/Attic/CHANGES, doc/WISHLIST: *** empty log message *** 1996-09-10 Marek Micha³kiewicz - * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Attic/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/pw_auth.3, man/pwauth.8, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/limits, etc/login.access, etc/login.defs.linux, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Attic/Makefile.in, contrib/Makefile.am, Attic/configure, configure.in: + * src/su.c, src/sulogin.c, src/usermod.c, src/logoutd.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/Attic/Makefile.in, src/chfn.c, src/chsh.c, src/grpunconv.c, src/login.c, src/Makefile.am, man/useradd.8, man/userdel.8, man/usermod.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/Attic/pwauth.8, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/Attic/dpasswd.8, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, libmisc/isexpired.c, libmisc/obscure.c, libmisc/setupenv.c, libmisc/utmp.c, libmisc/age.c, lib/defines.h, lib/getdef.c, lib/getpass.c, etc/limits, etc/login.access, etc/login.defs.linux, doc/Attic/CHANGES, doc/README.linux, doc/WISHLIST, contrib/Attic/Makefile.in, contrib/Makefile.am, Attic/configure, configure.in: *** empty log message *** 1996-08-10 Marek Micha³kiewicz - * old/Attic/install-sh, old/Makefile.am, old/Makefile.linux, old/Makefile.sun4, old/Makefile.svr4, old/Makefile.xenix, old/config.h.linux, old/config.h.sun4, old/config.h.svr4, old/config.h.xenix, old/orig-config.h, old/pwd.h.m4, shlib/Attic/Makefile.am, shlib/Attic/Makefile.in, shlib/Attic/Makefile.in.saved: + * old/Attic/Makefile.am, old/Attic/Makefile.linux, old/Attic/Makefile.sun4, old/Attic/Makefile.svr4, old/Attic/Makefile.xenix, old/Attic/config.h.linux, old/Attic/config.h.sun4, old/Attic/config.h.svr4, old/Attic/config.h.xenix, old/Attic/install-sh, old/Attic/orig-config.h, old/Attic/pwd.h.m4, shlib/Attic/Makefile.am, shlib/Attic/Makefile.in, shlib/Attic/Makefile.in.saved: New file. * contrib/adduser-old.c, contrib/adduser.sh, contrib/adduser2.sh, contrib/atudel, doc/README.sun4: 960810 - first version under cvs - * contrib/Attic/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/ANNOUNCE, doc/Attic/CHANGES, doc/Attic/Makefile.in, doc/Attic/automake-1.0.diff, doc/Attic/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Attic/Makefile.in, etc/Makefile.am, etc/login.access, etc/login.defs, etc/login.defs.linux, old/Attic/Makefile.in, src/Attic/patchlevel.h, src/Attic/pwconv5.c, src/Attic/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c: + * contrib/Attic/Makefile.in, contrib/Makefile.am, contrib/README, contrib/adduser.c, contrib/pwdauth.c, doc/Attic/ANNOUNCE, doc/Attic/CHANGES, doc/Attic/Makefile.in, doc/Attic/automake-1.0.diff, doc/Attic/console.c.spec, doc/HOWTO, doc/LICENSE, doc/Makefile.am, doc/README, doc/README.limits, doc/README.linux, doc/WISHLIST, etc/Attic/Makefile.in, etc/Makefile.am, etc/login.access, etc/login.defs, etc/login.defs.linux, old/Attic/Makefile.in, src/Attic/patchlevel.h, src/Attic/pwconv5.c, src/Attic/scologin.c, src/chage.c, src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c, src/groups.c, src/grpconv.c, src/id.c, src/login.c, src/newgrp.c, src/passwd.c, src/pwconv.c, src/pwunconv.c, src/su.c, src/sulogin.c: New file. * lib/md5.h: 960810 - first version under cvs - * lib/defines.h, lib/dialup.h, lib/faillog.h, lib/getdef.h, lib/grdbm.c, lib/grent.c, lib/groupio.h, lib/grpack.c, lib/gsdbm.c, lib/gshadow_.h, lib/gspack.c, lib/lastlog_.h, lib/md5.c, lib/md5crypt.c, lib/mkdir.c, lib/port.h, lib/prototypes.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwauth.h, lib/pwdbm.c, lib/pwent.c, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadow_.h, lib/shadowio.c, lib/shadowio.h, lib/spdbm.c, lib/sppack.c, lib/strdup.c, lib/strstr.c, lib/utent.c, src/Attic/Makefile.in, src/Makefile.am, src/chpasswd.c, src/dpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/mkpasswd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Attic/Makefile.in, lib/Makefile.am, lib/commonio.c, lib/dialchk.c, lib/dialup.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/rad64.c, lib/sgroupio.c, libmisc/Attic/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Attic/Makefile.in, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/dpasswd.8, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwauth.8, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Attic/Makefile.in, Attic/aclocal.m4, Attic/config.h.in, Attic/configure, Attic/install-sh, Attic/mkinstalldirs, Attic/stamp-h.in, Makefile.am, README, acconfig.h, configure.in, libmisc/Attic/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c: + * lib/Attic/dialup.h, lib/defines.h, lib/faillog.h, lib/getdef.h, lib/grdbm.c, lib/grent.c, lib/groupio.h, lib/grpack.c, lib/gsdbm.c, lib/gshadow_.h, lib/gspack.c, lib/lastlog_.h, lib/md5.c, lib/md5crypt.c, lib/mkdir.c, lib/port.h, lib/prototypes.h, lib/putgrent.c, lib/putpwent.c, lib/putspent.c, lib/pwauth.h, lib/pwdbm.c, lib/pwent.c, lib/pwio.h, lib/pwpack.c, lib/rcsid.h, lib/rename.c, lib/rmdir.c, lib/sgetgrent.c, lib/sgetpwent.c, lib/sgetspent.c, lib/sgroupio.h, lib/shadow.c, lib/shadow_.h, lib/shadowio.c, lib/shadowio.h, lib/spdbm.c, lib/sppack.c, lib/strdup.c, lib/strstr.c, lib/utent.c, src/Attic/Makefile.in, src/Attic/dpasswd.c, src/Makefile.am, src/chpasswd.c, src/faillog.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/lastlog.c, src/logoutd.c, src/mkpasswd.c, src/newusers.c, src/pwck.c, src/useradd.c, src/userdel.c, src/usermod.c, lib/Attic/Makefile.in, lib/Attic/dialchk.c, lib/Attic/dialup.c, lib/Makefile.am, lib/commonio.c, lib/encrypt.c, lib/fputsx.c, lib/getdef.c, lib/getpass.c, lib/groupio.c, lib/gshadow.c, lib/lockpw.c, lib/port.c, lib/pwauth.c, lib/pwio.c, lib/rad64.c, lib/sgroupio.c, libmisc/Attic/suauth.c, libmisc/age.c, libmisc/basename.c, libmisc/chkname.c, libmisc/chowndir.c, libmisc/chowntty.c, libmisc/console.c, libmisc/copydir.c, libmisc/entry.c, libmisc/env.c, libmisc/failure.c, libmisc/fields.c, libmisc/hushed.c, libmisc/isexpired.c, libmisc/limits.c, libmisc/list.c, libmisc/log.c, libmisc/login_access.c, libmisc/login_desrpc.c, libmisc/login_krb.c, libmisc/loginprompt.c, libmisc/mail.c, libmisc/motd.c, libmisc/obscure.c, libmisc/pwd2spwd.c, libmisc/rlogin.c, libmisc/salt.c, libmisc/setugid.c, libmisc/setup.c, libmisc/setupenv.c, libmisc/shell.c, libmisc/strtoday.c, libmisc/sub.c, libmisc/sulog.c, libmisc/ttytype.c, libmisc/tz.c, libmisc/ulimit.c, libmisc/utmp.c, libmisc/valid.c, libmisc/xmalloc.c, man/Attic/Makefile.in, man/Attic/dpasswd.8, man/Attic/pwauth.8, man/Makefile.am, man/chage.1, man/chfn.1, man/chpasswd.8, man/chsh.1, man/faillog.5, man/faillog.8, man/gpasswd.1, man/groupadd.8, man/groupdel.8, man/groupmod.8, man/groups.1, man/grpck.8, man/id.1, man/lastlog.8, man/login.1, man/login.access.5, man/login.defs.5, man/logoutd.8, man/mkpasswd.8, man/newgrp.1, man/newusers.8, man/passwd.1, man/passwd.5, man/porttime.5, man/pw_auth.3, man/pwck.8, man/pwconv.8, man/pwunconv.8, man/shadow.3, man/shadow.5, man/su.1, man/suauth.5, man/sulogin.8, man/useradd.8, man/userdel.8, man/usermod.8, Attic/Makefile.in, Attic/aclocal.m4, Attic/config.h.in, Attic/configure, Attic/install-sh, Attic/mkinstalldirs, Attic/stamp-h.in, Makefile.am, README, acconfig.h, configure.in, libmisc/Attic/Makefile.in, libmisc/Makefile.am, libmisc/addgrps.c: New file. diff --git a/Makefile.am b/Makefile.am index 384e27b2..7492f07f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,5 +4,5 @@ EXTRA_DIST = NEWS README TODO shadow.spec.in AUTOMAKE_OPTIONS = 1.5 dist-bzip2 foreign -SUBDIRS = intl po man libmisc lib src \ - contrib debian doc etc +SUBDIRS = po man libmisc lib src \ + contrib doc etc diff --git a/Makefile.in b/Makefile.in index dccda293..3ae0ae59 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,128 +14,209 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = . -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ EXTRA_DIST = NEWS README TODO shadow.spec.in AUTOMAKE_OPTIONS = 1.5 dist-bzip2 foreign -SUBDIRS = intl po man libmisc lib src \ - contrib debian doc etc +SUBDIRS = po man libmisc lib src \ + contrib doc etc subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = intl/Makefile shadow.spec +CONFIG_CLEAN_FILES = shadow.spec DIST_SOURCES = -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README ./stamp-h.in ABOUT-NLS ChangeLog Makefile.am \ - Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess \ - config.h.in config.sub configure configure.in depcomp \ - install-sh ltmain.sh missing mkinstalldirs shadow.spec.in +RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ + ps-recursive install-info-recursive uninstall-info-recursive \ + all-recursive install-data-recursive install-exec-recursive \ + installdirs-recursive install-recursive uninstall-recursive \ + check-recursive installcheck-recursive +DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure \ + ABOUT-NLS ChangeLog Makefile.am NEWS TODO acconfig.h aclocal.m4 \ + config.guess config.h.in config.rpath config.sub configure \ + configure.in depcomp install-sh ltmain.sh missing mkinstalldirs \ + shadow.spec.in DIST_SUBDIRS = $(SUBDIRS) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) + +$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) + cd $(srcdir) && $(AUTOCONF) + +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h + +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + touch $(srcdir)/config.h.in + +distclean-hdr: + -rm -f config.h stamp-h1 +shadow.spec: $(top_builddir)/config.status shadow.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + mostlyclean-libtool: -rm -f *.lo @@ -143,50 +225,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$@ $(SHELL) ./config.status - -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) - -$(ACLOCAL_M4): configure.in - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -config.h: stamp-h - @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ - else :; fi -stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h stamp-hT - @echo timestamp > stamp-hT 2> /dev/null - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h \ - $(SHELL) ./config.status - @mv stamp-hT stamp-h -$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/./stamp-h.in; \ - $(MAKE) $(srcdir)/./stamp-h.in; \ - else :; fi -$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h - @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT - @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null - cd $(top_srcdir) && $(AUTOHEADER) - @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in - -distclean-hdr: - -rm -f config.h -intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in - cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status -shadow.spec: $(top_builddir)/config.status shadow.spec.in - cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd @@ -196,7 +234,7 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -216,7 +254,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -243,72 +281,120 @@ tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) + mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ + if (etags --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + else \ + include_option=--include; \ + fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + test -f $$subdir/TAGS && \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ + here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = . -# Avoid unsightly `./'. distdir = $(PACKAGE)-$(VERSION) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } + GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) + $(am__remove_distdir) mkdir $(distdir) - $(mkinstalldirs) $(distdir)/. $(distdir)/intl $(distdir)/po - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + $(mkinstalldirs) $(distdir)/. $(distdir)/po + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - for subdir in $(SUBDIRS); do \ + list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -326,46 +412,75 @@ distdir: $(DISTFILES) ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) -dist: distdir +dist-gzip: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) + $(am__remove_distdir) dist-bzip2: distdir $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist - -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) + $(am__remove_distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/=build - mkdir $(distdir)/=inst + mkdir $(distdir)/_build + mkdir $(distdir)/_inst chmod a-w $(distdir) - dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ - && cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - --with-included-gettext \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ - || (echo "Error: files left after uninstall" 1>&2; \ - exit 1) ) \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && $(MAKE) $(AM_MAKEFLAGS) distclean \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && rm -f $(distdir).tar.gz \ - && (test `find . -type f -print | wc -l` -eq 0 \ - || (echo "Error: files left after distclean" 1>&2; \ - exit 1) ) - -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h @@ -383,6 +498,7 @@ install-am: all-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -390,7 +506,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -399,12 +515,9 @@ clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am -dist-all: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) distclean: distclean-recursive - -rm -f config.status config.cache config.log + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ distclean-tags @@ -427,31 +540,43 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive - + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive dist dist-all \ - dist-bzip2 distcheck distclean distclean-generic distclean-hdr \ - distclean-libtool distclean-recursive distclean-tags distdir \ - dvi dvi-am dvi-recursive info info-am info-recursive install \ - install-am install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ + clean-generic clean-libtool clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip distcheck \ + distclean distclean-generic distclean-hdr distclean-libtool \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am dvi-recursive info info-am \ + info-recursive install install-am install-data install-data-am \ + install-data-recursive install-exec install-exec-am \ + install-exec-recursive install-info install-info-am \ + install-info-recursive install-man install-recursive \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am installdirs-recursive maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ + pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ + tags-recursive uninstall uninstall-am uninstall-info-am \ uninstall-info-recursive uninstall-recursive # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/NEWS b/NEWS index 75405ce1..72ed6da3 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,49 @@ -$Id: NEWS,v 1.31 2002/03/13 09:30:52 kloczek Exp $ +$Id: NEWS,v 1.57.2.1 2004/01/14 06:20:26 kloczek Exp $ + +shadow-4.0.3 => shadow-4.0.4 + +*** general: +- added missing information about -f options in groupadd usage mesage + (document this also in man page), +- removed TCFS support (tcfs is dead), +- convert all po/*.po files to utf-8, +- one TODO entry gone: fix nscd flushing databases on change (use + per service flushing method instead HUPing nscd process), +- removed old AUTH_METHODS dependent code, +- chage: now all code depend on SHADOWPWD. If shadow will not be configured + on autoconf level for using shadow possword chage is olny stub which + informs "chage not configured for shadow password support." +- dpasswd: removed, +- login: remove handle login.defs::DIALUPS_CHECK_ENAB code, +- login: remove handle login.defs::NO_PASSWORD_CONSOLE code, +- ALL tools, libraries: remove old SVR4, SVR4_SI86_EUA BSD_QUOTA and ATT_AGE + dependent code, +- ALL: ready for gettext 0.11.5, automake 1.7.4, autoconf 2.57, +- logoutd, userd: handle also utmpx if avalaile, +- newgrp: fix for non-PAM version + Use CLOSE_SESSIONS depending code only when USE_PAM. + The problem was reported by Mattias Webjorn Eriksson using Slackware + 8.1 and reproduced it using slackware-current (9.0beta) (fix submited by + Simon Williams ), +- fix in too_many_failures() function: incorrect if() condition in non-PAM + dependent code in fail login handling (fixed by Krzysztof + Oledzki ), +*** documentation: +- install groups(1) man page (moved from EXTRA_DIST to man_MANS), +- removed pwauth(8), d_passwd(5), dialups(5) man pages, +- remove text about password aging from passwd(5) (based on Debian changes), +- document useradd and groupadd -M option in en and pl man pages + (by Jakub Mikusek ). +- added ru passwd(1) man page from KSI resources, +- added es man pages found in Conectiva distribution resources, +- added chch(1), chfn(1) man pages from chinese man pages translation + project, +- added id(1) man page czech man pages translation project, +- updated ja man pages and added expiry(1), +- removed old doc/ANNOUNCE, +- updated german passwd(1), chsh(1) and login(1) man page and added chfn(1) + (by Josef Spillner ), +- many other cleanups and unifications in man pages. shadow-4.0.2 => shadow-4.0.3 diff --git a/TODO b/TODO index 3fd06e40..0c8c8b10 100644 --- a/TODO +++ b/TODO @@ -2,16 +2,22 @@ # "*" partialy exist/implemented # "+" done -- fix nscd flushing databases on change (I'm still not shure where it will - be bether add this on shadow or on PAM level), +ALL: +- move base passwd/shadow/group/gshadow operation to module for allow write + diffrent backend modules for db, NIS, LDAP and others. Default backend it + will be choose depending on /etc/nsswitch.conf and allow overwride this by + -r options (where the can be file, db, nis + nisplus, ldap .. like on /etc/nsswitch.conf in service column). + passwd have old piece of code with handling -r option and it will be good + finish this and propagate on other shadow tools for allow operate on other + user databases by well known tools. -- add more translations (maintainners for man pages and gettext files - welcome), +- useradd: + - add handle /etc/defaults/useradd::USER_GROUPS={yes,no} for allow configure + using by useradd create per user group. + - add handle create user mail spool in maildir format. -- add handle /etc/defaults/useradd::USERGROUPS={yes,no} for allow configure - using by useradd create per user group, - -- add handle -n switch in groups nad id command for allow query is +- add handle -n switch in groups and id command for allow query is group/user with specyfied id/gid exist - this will be very useable on automation in packages for quoery/check is group/user exist in system or not, @@ -32,5 +38,3 @@ Documentation: - documment in pt_BR, ja man pages -s {pw,grp}ck option, - document -o option in ja man page, - -- pl man page for login(1) - documment -f -h -p -r options. diff --git a/acconfig.h b/acconfig.h index 16aa9e18..7cbd22e8 100644 --- a/acconfig.h +++ b/acconfig.h @@ -1,52 +1,13 @@ -/* $Id: acconfig.h,v 1.15 2001/07/27 13:26:04 kloczek Exp $ */ +/* $Id: acconfig.h,v 1.21 2003/12/17 01:46:59 kloczek Exp $ */ -/* Define to enable password aging. */ -#undef AGING - -/* Define if struct passwd has pw_age. */ -#undef ATT_AGE - -/* Define if struct passwd has pw_comment. */ -#undef ATT_COMMENT - -/* Define to support JFH's auth. methods. UNTESTED. */ -#undef AUTH_METHODS - -/* Define if struct passwd has pw_quota. */ -#undef BSD_QUOTA - /* Define if you have secure RPC. */ #undef DES_RPC -/* Define to support 16-character passwords. */ -#undef DOUBLESIZE - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - /* Path for faillog file. */ #undef FAILLOG_FILE -/* Define if you want my getgrent routines. */ -#undef GETGRENT - -/* Define to libshadow_getpass to use our own version of getpass(). */ -#undef getpass - -/* Define if you want my getpwent routines. */ -#undef GETPWENT - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - /* Defined if you have libcrack. */ #undef HAVE_LIBCRACK @@ -65,12 +26,6 @@ /* Working shadow group support in libc? */ #undef HAVE_SHADOWGRP -/* Define to 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define to support TCFS. */ -#undef HAVE_TCFS - /* Path for lastlog file. */ #undef LASTLOG_FILE @@ -83,24 +38,12 @@ /* Name of user's mail spool file if stored in user's home directory. */ #undef MAIL_SPOOL_FILE -/* Define to support the MD5-based password hashing algorithm. */ -#undef MD5_CRYPT - -/* Define to use ndbm. */ -#undef NDBM - /* Define to support OPIE one-time password logins. */ #undef OPIE -/* Package name. */ -#undef PACKAGE - /* Path to passwd program. */ #undef PASSWD_PROGRAM -/* Define if the compiler understands function prototypes. */ -#undef PROTOTYPES - /* Define if login should support the -r flag for rlogind. */ #undef RLOGIN @@ -119,32 +62,23 @@ /* Define to support /etc/suauth su access control. */ #undef SU_ACCESS -/* Define to support SecureWare(tm) long passwords. */ -#undef SW_CRYPT - -/* Define if you want gdbm for TCFS. */ -#undef TCFS_GDBM_SUPPORT - -/* Define to support Pluggable Authentication Modules. */ -#undef USE_PAM - /* Define to use syslog(). */ #undef USE_SYSLOG +/* Define to support USG (Unix Systems Group?) behavior. */ +#undef USG + /* Define if you have ut_host in struct utmp. */ #undef UT_HOST /* Path for utmp file. */ #undef _UTMP_FILE -/* Define to ut_name if struct utmp has ut_name (not ut_user). */ -#undef ut_user - -/* Version. */ -#undef VERSION - /* Path for wtmp file. */ #undef _WTMP_FILE -/* */ -#undef USG +/* Define to libshadow_getpass to use our own version of getpass(). */ +#undef getpass + +/* Define to ut_name if struct utmp has ut_name (not ut_user). */ +#undef ut_user diff --git a/aclocal.m4 b/aclocal.m4 index 60e41060..230e22b7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# aclocal.m4 generated automatically by aclocal 1.5 +# generated automatically by aclocal 1.7.8 -*- Autoconf -*- -# Copyright 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -11,75 +11,87 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# Do all the work for Automake. This macro actually does too much -- -# some checks are only needed if your package does certain things. -# But this isn't really a big deal. +# Do all the work for Automake. -*- Autoconf -*- -# serial 5 +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# 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, or (at your option) +# any later version. -# We require 2.13 because we rely on SHELL being computed by configure. -AC_PREREQ([2.13]) +# 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. -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. -# The purpose of this macro is to provide the user with a means to -# check macros which are provided without letting her know how the -# information is coded. -# If this macro is not defined by Autoconf, define it here. -ifdef([AC_PROVIDE_IFELSE], - [], - [define([AC_PROVIDE_IFELSE], - [ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) +# 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. +# serial 10 -# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) -# ---------------------------------------------- -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) -fi - -# Define the identity of the package. -PACKAGE=$1 -AC_SUBST(PACKAGE)dnl -VERSION=$2 -AC_SUBST(VERSION)dnl -ifelse([$3],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) +AC_PREREQ([2.54]) # Autoconf 2.50 wants to disallow AM_ names. We explicitly allow # the ones we care about. -ifdef([m4_pattern_allow], - [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -# Autoconf 2.50 always computes EXEEXT. However we need to be -# compatible with 2.13, for now. So we always define EXEEXT, but we -# don't compute it. -AC_SUBST(EXEEXT) -# Similar for OBJEXT -- only we only use OBJEXT if the user actually -# requests that it be used. This is a bit dumb. -: ${OBJEXT=o} -AC_SUBST(OBJEXT) +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal) +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(AMTAR, tar) @@ -89,22 +101,135 @@ AM_PROG_INSTALL_STRIP # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl -AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_PROVIDE_IFELSE([AC_PROG_][CC], +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_][CC], - defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_][CXX], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_][CXX], - defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl ]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright 2002 Free Software Foundation, Inc. + +# 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, 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 + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.7.8])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright 2001, 2002 Free Software Foundation, Inc. + +# 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, 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. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # # Check to make sure that the build environment is sane. # +# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. + +# 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, 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. + # serial 3 # AM_SANITY_CHECK @@ -148,8 +273,27 @@ Check your system clock]) fi AC_MSG_RESULT(yes)]) +# -*- Autoconf -*- -# serial 2 + +# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. + +# 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, 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. + +# serial 3 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -171,13 +315,29 @@ if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= - am_backtick='`' - AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) + AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # AM_AUX_DIR_EXPAND +# Copyright 2001 Free Software Foundation, Inc. + +# 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, 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. + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. @@ -216,19 +376,59 @@ fi # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. +# Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50]) + AC_DEFUN([AM_AUX_DIR_EXPAND], [ # expand $ac_aux_dir to an absolute path -am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` +am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. + +# Copyright 2001 Free Software Foundation, Inc. + +# 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, 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. + AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) +# AM_PROG_INSTALL_STRIP + +# Copyright 2001 Free Software Foundation, Inc. + +# 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, 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. + # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip @@ -238,11 +438,68 @@ AC_SUBST(install_sh)]) # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# serial 4 -*- Autoconf -*- +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. +# 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, 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. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# serial 5 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + +# 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, 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. # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be @@ -254,9 +511,9 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) # _AM_DEPENDENCIES(NAME) -# --------------------- +# ---------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX" or "OBJC". +# NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was @@ -271,7 +528,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) @@ -288,18 +545,32 @@ AC_CACHE_CHECK([dependency style of $depcc], # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + : > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) @@ -317,13 +588,20 @@ AC_CACHE_CHECK([dependency style of $depcc], # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_$1_dependencies_compiler_type=$depmode - break + # icc doesn't choke on unknown options, it will just issue warnings + # (even with -Werror). So we grep stderr for any message + # that says an option was ignored. + if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi fi done @@ -333,8 +611,10 @@ else am_cv_$1_dependencies_compiler_type=none fi ]) -$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" -AC_SUBST([$1DEPMODE]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) @@ -343,16 +623,8 @@ AC_SUBST([$1DEPMODE]) # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], -[rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null -AC_SUBST(DEPDIR) +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) @@ -367,30 +639,48 @@ if test "x$enable_dependency_tracking" != xno; then AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -pushdef([subst], defn([AC_SUBST])) -subst(AMDEPBACKSLASH) -popdef([subst]) +AC_SUBST([AMDEPBACKSLASH]) ]) -# Generate code to set up dependency tracking. -# This macro should only be invoked once -- use via AC_REQUIRE. -# Usage: -# AM_OUTPUT_DEPENDENCY_COMMANDS +# Generate code to set up dependency tracking. -*- Autoconf -*- -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ -AC_OUTPUT_COMMANDS([ -test x"$AMDEP_TRUE" != x"" || -for mf in $CONFIG_FILES; do - case "$mf" in - Makefile) dirpart=.;; - */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; - *) continue;; - esac - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue +# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + +# 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, 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. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` @@ -414,14 +704,48 @@ for mf in $CONFIG_FILES; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue - fdir=`echo "$file" | sed -e 's|/[^/]*$||'` - $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done -], [AMDEP_TRUE="$AMDEP_TRUE" -ac_aux_dir="$ac_aux_dir"])]) +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# 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, 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. + +# serial 2 # AM_MAKE_INCLUDE() # ----------------- @@ -429,12 +753,13 @@ ac_aux_dir="$ac_aux_dir"])]) AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' -doit: +am__doit: @echo done +.PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) -am__include='#' +am__include="#" am__quote= _am_result=none # First try GNU make style include. @@ -444,7 +769,7 @@ echo "include confinc" > confmf # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU @@ -454,33 +779,45 @@ if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include - am__quote='"' + am__quote="\"" _am_result=BSD fi fi -AC_SUBST(am__include) -AC_SUBST(am__quote) -AC_MSG_RESULT($_am_result) +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# serial 3 +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright 1997, 2000, 2001 Free Software Foundation, Inc. + +# 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, 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. + +# serial 5 + +AC_PREREQ(2.52) # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. -# -# FIXME: Once using 2.50, use this: -# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl AC_DEFUN([AM_CONDITIONAL], -[ifelse([$1], [TRUE], - [errprint(__file__:__line__: [$0: invalid condition: $1 -])dnl -m4exit(1)])dnl -ifelse([$1], [FALSE], - [errprint(__file__:__line__: [$0: invalid condition: $1 -])dnl -m4exit(1)])dnl +[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE]) AC_SUBST([$1_FALSE]) if $2; then @@ -489,81 +826,70 @@ if $2; then else $1_TRUE='#' $1_FALSE= -fi]) +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) -# Like AC_CONFIG_HEADER, but automatically create stamp file. +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# serial 3 +# serial 47 AC_PROG_LIBTOOL -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. We must strip everything past the first ":", -# and everything past the last "/". -AC_PREREQ([2.12]) +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) -AC_DEFUN([AM_CONFIG_HEADER], -[ifdef([AC_FOREACH],dnl - [dnl init our file count if it isn't already - m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) - dnl prepare to store our destination file list for use in config.status - AC_FOREACH([_AM_File], [$1], - [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) - m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) - dnl and add it to the list of files AC keeps track of, along - dnl with our hook - AC_CONFIG_HEADERS(_AM_File, -dnl COMMANDS, [, INIT-CMDS] -[# update the timestamp -echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[" -][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS - m4_popdef([_AM_Dest])])],dnl -[AC_CONFIG_HEADER([$1]) - AC_OUTPUT_COMMANDS( - ifelse(patsubst([$1], [[^ ]], []), - [], - [test -z "$CONFIG_HEADERS" || echo timestamp >dnl - patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl -[am_indx=1 -for am_file in $1; do - case " \$CONFIG_HEADERS " in - *" \$am_file "*) - am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` - if test -n "\$am_dir"; then - am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` - for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do - am_tmpdir=\$am_tmpdir\$am_subdir/ - if test ! -d \$am_tmpdir; then - mkdir \$am_tmpdir - fi - done - fi - echo timestamp > "\$am_dir"stamp-h\$am_indx - ;; - esac - am_indx=\`expr \$am_indx + 1\` -done]) -])]) # AM_CONFIG_HEADER - -# _AM_DIRNAME(PATH) -# ----------------- -# Like AS_DIRNAME, only do it during macro expansion -AC_DEFUN([_AM_DIRNAME], - [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, - m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, - m4_if(m4_regexp([$1], [^/.*]), -1, - [.], - m4_patsubst([$1], [^\(/\).*], [\1])), - m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), - m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl -]) # _AM_DIRNAME - -# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- - -# serial 46 AC_PROG_LIBTOOL +# AC_PROG_LIBTOOL +# --------------- AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" @@ -574,10 +900,13 @@ AC_SUBST(LIBTOOL)dnl # Prevent multiple expansion define([AC_PROG_LIBTOOL], []) -]) +])# _AC_PROG_LIBTOOL + +# AC_LIBTOOL_SETUP +# ---------------- AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.13)dnl +[AC_PREREQ(2.50)dnl AC_REQUIRE([AC_ENABLE_SHARED])dnl AC_REQUIRE([AC_ENABLE_STATIC])dnl AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl @@ -587,13 +916,103 @@ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_LD])dnl AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl AC_REQUIRE([AC_PROG_NM])dnl + AC_REQUIRE([AC_PROG_LN_S])dnl AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! AC_REQUIRE([AC_OBJEXT])dnl AC_REQUIRE([AC_EXEEXT])dnl dnl +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl _LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +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//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) @@ -603,324 +1022,78 @@ file_magic*) ;; esac -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], enable_win32_dll=yes, enable_win32_dll=no) -AC_ARG_ENABLE(libtool-lock, - [ --disable-libtool-lock avoid locking (might break parallel builds)]) +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_SAVE - AC_LANG_C - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_RESTORE]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one - AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, - [AC_TRY_LINK([], - [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); - DllMain (0, 0, 0);], - [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl - case $host/$CC in - *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) - # old mingw systems require "-dll" to link a DLL, while more recent ones - # require "-mdll" - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mdll" - AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, - [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) - CFLAGS="$SAVE_CFLAGS" ;; - *-*-cygwin* | *-*-pw32*) - # cygwin systems need to pass --dll to the linker, and not link - # crt.o which will require a WinMain@16 definition. - lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; - esac - ;; - ]) -esac +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} -_LT_AC_LTCONFIG_HACK +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER -]) -# AC_LIBTOOL_HEADER_ASSERT -# ------------------------ -AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT], -[AC_CACHE_CHECK([whether $CC supports assert without backlinking], - [lt_cv_func_assert_works], - [case $host in - *-*-solaris*) - if test "$GCC" = yes && test "$with_gnu_ld" != yes; then - case `$CC --version 2>/dev/null` in - [[12]].*) lt_cv_func_assert_works=no ;; - *) lt_cv_func_assert_works=yes ;; - esac - fi - ;; - esac]) +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX -if test "x$lt_cv_func_assert_works" = xyes; then - AC_CHECK_HEADERS(assert.h) -fi -])# AC_LIBTOOL_HEADER_ASSERT -# _LT_AC_CHECK_DLFCN -# -------------------- -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h) -])# _LT_AC_CHECK_DLFCN +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -irix*) - symcode='[[BCDEGRST]]' - ;; -solaris* | sysv5*) - symcode='[[BDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $host_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[[ABCDGISTW]]' -fi - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. -lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[[]] = -{ -EOF - sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if AC_TRY_EVAL(ac_link) && test -s conftest; then - pipe_works=yes - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AC_FD_CC - fi - else - echo "cannot find nm_test_var in $nlist" >&AC_FD_CC - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC - fi - else - echo "$progname: failed program was:" >&AC_FD_CC - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" -if test -z "$lt_cv_sys_global_symbol_pipe"; then - global_symbol_to_cdecl= - global_symbol_to_c_name_address= -else - global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" - global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" -fi -if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; -then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - -# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR -# --------------------------------- -AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], -[# Find the correct PATH separator. Usually this is `:', but -# DJGPP uses `;' like DOS. -if test "X${PATH_SEPARATOR+set}" != Xset; then - UNAME=${UNAME-`uname 2>/dev/null`} - case X$UNAME in - *-DOS) lt_cv_sys_path_separator=';' ;; - *) lt_cv_sys_path_separator=':' ;; - esac - PATH_SEPARATOR=$lt_cv_sys_path_separator -fi -])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR # _LT_AC_PROG_ECHO_BACKSLASH # -------------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR - +[_LT_AC_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} @@ -938,7 +1111,7 @@ if test "X[$]1" = X--no-reexec; then elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else @@ -950,7 +1123,7 @@ if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && @@ -994,7 +1168,7 @@ else break fi done - IFS="$save_ifs" + IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. @@ -1067,17 +1241,291 @@ if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then fi AC_SUBST(ECHO) -AC_DIVERT_POP -])# _LT_AC_PROG_ECHO_BACKSLASH +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + 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 + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; 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 + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + testring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring=$testring$testring + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ------------------------------------------------------------------ AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[if test "$cross_compiling" = yes; then : +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : [$4] else - AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext </dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" -need_locks="$enable_libtool_lock" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -if test x"$host" != x"$build"; then - ac_tool_prefix=${host_alias}- -else - ac_tool_prefix= -fi - -# Transform linux* to *-*-linux-gnu*, to support old configure scripts. -case $host_os in -linux-gnu*) ;; -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" - ;; - *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -# Allow CC to be a program name with arguments. -set dummy $CC -compiler="[$]2" - -AC_MSG_CHECKING([for objdir]) -rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - objdir=_libs -fi -rmdir .libs 2>/dev/null -AC_MSG_RESULT($objdir) - - -AC_ARG_WITH(pic, -[ --with-pic try to use only PIC/non-PIC objects [default=use both]], -pic_mode="$withval", pic_mode=default) -test -z "$pic_mode" && pic_mode=default - -# We assume here that the value for lt_cv_prog_cc_pic will not be cached -# in isolation, and that seeing it set (from the cache) indicates that -# the associated values are set (in the cache) correctly too. -AC_MSG_CHECKING([for $compiler option to produce PIC]) -AC_CACHE_VAL(lt_cv_prog_cc_pic, -[ lt_cv_prog_cc_pic= - lt_cv_prog_cc_shlib= - lt_cv_prog_cc_wl= - lt_cv_prog_cc_static= - lt_cv_prog_cc_no_builtin= - lt_cv_prog_cc_can_build_shared=$can_build_shared - - if test "$GCC" = yes; then - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-static' - - case $host_os in - aix*) - # Below there is a dirty hack to force normal static linking with -ldl - # The problem is because libdl dynamically linked with both libc and - # libC (AIX C++ library), which obviously doesn't included in libraries - # list by gcc. This cause undefined symbols with -static flags. - # This hack allows C programs to be linked with "-static -ldl", but - # not sure about C++ programs. - lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_cv_prog_cc_pic='-fno-common' - ;; - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_cv_prog_cc_pic=-Kconform_pic - fi - ;; - *) - lt_cv_prog_cc_pic='-fPIC' - ;; - esac - else - # PORTME Check for PIC flags for the system compiler. - case $host_os in - aix3* | aix4* | aix5*) - lt_cv_prog_cc_wl='-Wl,' - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_cv_prog_cc_static='-Bstatic' - else - lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - hpux9* | hpux10* | hpux11*) - # Is there a better lt_cv_prog_cc_static that works with the bundled CC? - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" - lt_cv_prog_cc_pic='+Z' - ;; - - irix5* | irix6*) - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - # PIC (with -KPIC) is the default. - ;; - - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - - newsos6) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - ;; - - osf3* | osf4* | osf5*) - # All OSF/1 code is PIC. - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - ;; - - sco3.2v5*) - lt_cv_prog_cc_pic='-Kpic' - lt_cv_prog_cc_static='-dn' - lt_cv_prog_cc_shlib='-belf' - ;; - - solaris*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Wl,' - ;; - - sunos4*) - lt_cv_prog_cc_pic='-PIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Qoption ld ' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - if test "x$host_vendor" = xsni; then - lt_cv_prog_cc_wl='-LD' - else - lt_cv_prog_cc_wl='-Wl,' - fi - ;; - - uts4*) - lt_cv_prog_cc_pic='-pic' - lt_cv_prog_cc_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_cv_prog_cc_pic='-Kconform_pic' - lt_cv_prog_cc_static='-Bstatic' - fi - ;; - - *) - lt_cv_prog_cc_can_build_shared=no - ;; - esac - fi + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + 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 + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* ]) -if test -z "$lt_cv_prog_cc_pic"; then - AC_MSG_RESULT([none]) -else - AC_MSG_RESULT([$lt_cv_prog_cc_pic]) - - # Check to make sure the pic_flag actually works. - AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works]) - AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" - AC_TRY_COMPILE([], [], [dnl - case $host_os in - hpux9* | hpux10* | hpux11*) - # On HP-UX, both CC and GCC only warn that PIC is supported... then - # they create non-PIC objects. So, if there were any warnings, we - # assume that PIC is not supported. - if test -s conftest.err; then - lt_cv_prog_cc_pic_works=no - else - lt_cv_prog_cc_pic_works=yes - fi - ;; - *) - lt_cv_prog_cc_pic_works=yes - ;; - esac - ], [dnl - lt_cv_prog_cc_pic_works=no - ]) - CFLAGS="$save_CFLAGS" - ]) - - if test "X$lt_cv_prog_cc_pic_works" = Xno; then - lt_cv_prog_cc_pic= - lt_cv_prog_cc_can_build_shared=no - else - lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" - fi - - AC_MSG_RESULT([$lt_cv_prog_cc_pic_works]) -fi - -# Check for any special shared library compilation flags. -if test -n "$lt_cv_prog_cc_shlib"; then - AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries]) - if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then : - else - AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure]) - lt_cv_prog_cc_can_build_shared=no - fi -fi - -AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works]) -AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl - lt_cv_prog_cc_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" - AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes]) - LDFLAGS="$save_LDFLAGS" -]) - -# Belt *and* braces to stop my trousers falling down: -test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= -AC_MSG_RESULT([$lt_cv_prog_cc_static_works]) - -pic_flag="$lt_cv_prog_cc_pic" -special_shlib_compile_flags="$lt_cv_prog_cc_shlib" -wl="$lt_cv_prog_cc_wl" -link_static_flag="$lt_cv_prog_cc_static" -no_builtin_flag="$lt_cv_prog_cc_no_builtin" -can_build_shared="$lt_cv_prog_cc_can_build_shared" +])# AC_LIBTOOL_PROG_CC_C_O -# Check to see if options -o and -c are simultaneously supported by compiler -AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext]) -AC_CACHE_VAL([lt_cv_compiler_c_o], [ -$rm -r conftest 2>/dev/null -mkdir conftest -cd conftest -echo "int some_variable = 0;" > conftest.$ac_ext -mkdir out -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers -# that will create temporary files in the current directory regardless of -# the output directory. Thus, making CWD read-only will cause this test -# to fail, enabling locking or at least warning the user not to do parallel -# builds. -chmod -w . -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" -compiler_c_o=no -if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && 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 - lt_cv_compiler_c_o=no - else - lt_cv_compiler_c_o=yes - fi -else - # Append any errors to the config.log. - cat out/conftest.err 1>&AC_FD_CC - lt_cv_compiler_c_o=no -fi -CFLAGS="$save_CFLAGS" -chmod u+w . -$rm conftest* out/* -rmdir out -cd .. -rmdir conftest -$rm -r conftest 2>/dev/null -]) -compiler_c_o=$lt_cv_compiler_c_o -AC_MSG_RESULT([$compiler_c_o]) - -if test x"$compiler_c_o" = x"yes"; then - # Check to see if we can write to a .lo - AC_MSG_CHECKING([if $compiler supports -c -o file.lo]) - AC_CACHE_VAL([lt_cv_compiler_o_lo], [ - lt_cv_compiler_o_lo=no - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -c -o conftest.lo" - save_objext="$ac_objext" - ac_objext=lo - AC_TRY_COMPILE([], [int some_variable = 0;], [dnl - # 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 - lt_cv_compiler_o_lo=no - else - lt_cv_compiler_o_lo=yes - fi - ]) - ac_objext="$save_objext" - CFLAGS="$save_CFLAGS" - ]) - compiler_o_lo=$lt_cv_compiler_o_lo - AC_MSG_RESULT([$compiler_o_lo]) -else - compiler_o_lo=no -fi - +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- # Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + hard_links="nottested" -if test "$compiler_c_o" = no && test "$need_locks" != no; then +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes @@ -1663,749 +1791,77 @@ if test "$compiler_c_o" = no && test "$need_locks" != no; then ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then - AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS -if test "$GCC" = yes; then - # Check to see if options -fno-rtti -fno-exceptions are supported by compiler - AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions]) - echo "int some_variable = 0;" > conftest.$ac_ext - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" - compiler_rtti_exceptions=no - AC_TRY_COMPILE([], [int some_variable = 0;], [dnl - # 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 - compiler_rtti_exceptions=no - else - compiler_rtti_exceptions=yes - fi - ]) - CFLAGS="$save_CFLAGS" - AC_MSG_RESULT([$compiler_rtti_exceptions]) - if test "$compiler_rtti_exceptions" = "yes"; then - no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' - else - no_builtin_flag=' -fno-builtin' - fi -fi - -# See if the linker supports building shared libraries. -AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries]) - -allow_undefined_flag= -no_undefined_flag= -need_lib_prefix=unknown -need_version=unknown -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -archive_cmds= -archive_expsym_cmds= -old_archive_from_new_cmds= -old_archive_from_expsyms_cmds= -export_dynamic_flag_spec= -whole_archive_flag_spec= -thread_safe_flag_spec= -hardcode_into_libs=no -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no -hardcode_shlibpath_var=unsupported -runpath_var= -link_all_deplibs=unknown -always_export_symbols=no -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' -# include_expsyms should be a list of space-separated symbols to be *always* -# included in the symbol list -include_expsyms= -# exclude_expsyms can be an egrep regular expression of symbols to exclude -# it will be wrapped by ` (' and `)$', so one must not match beginning or -# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', -# as well as any symbol that contains `d'. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out -# platforms (ab)use it in PIC code, but their linkers get confused if -# the symbol is explicitly referenced. Since portable code cannot -# rely on this symbol name, it's probably fine to never include it in -# preloaded symbol tables. -extract_expsyms_cmds= - -case $host_os in -cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; -openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX, the GNU linker is very broken - # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II reports - # 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 - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=yes - - extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ - sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ - test -f $output_objdir/impgen.exe || (cd $output_objdir && \ - if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ - else $CC -o impgen impgen.c ; fi)~ - $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' - - old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' - - # cygwin and mingw dlls have different entry points and sets of symbols - # to exclude. - # FIXME: what about values for MSVC? - dll_entry=__cygwin_dll_entry@12 - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ - case $host_os in - mingw*) - # mingw values - dll_entry=_DllMainCRTStartup@12 - dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ - ;; - esac - - # mingw and cygwin differ, and it's simplest to just exclude the union - # of the two symbol sets. - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one (in ltdll.c) - if test "x$lt_cv_need_dllmain" = "xyes"; then - ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " - ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ - test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' - else - ltdll_obj= - ltdll_cmds= - fi - - # Extract the symbol export list from an `--export-all' def file, - # then regenerate the def file from the symbol export list, so that - # the compiled dll only exports the symbol export list. - # Be careful not to strip the DATA tag left be newer dlltools. - export_symbols_cmds="$ltdll_cmds"' - $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ - sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' - - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is. - # If DATA tags from a recent dlltool are present, honour them! - archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname-def; - else - echo EXPORTS > $output_objdir/$soname-def; - _lt_hint=1; - cat $export_symbols | while read symbol; do - set dummy \$symbol; - case \[$]# in - 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; - *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; - esac; - _lt_hint=`expr 1 + \$_lt_hint`; - done; - fi~ - '"$ltdll_cmds"' - $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ - $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ - $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - 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' - case $host_os in - cygwin* | mingw* | pw32*) - # dlltool doesn't understand --whole-archive et. al. - whole_archive_flag_spec= - ;; - *) - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - ;; - esac - fi +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - hardcode_direct=yes - archive_cmds='' - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - esac - - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - shared_flag='${wl}-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall can do strange things, so it is better to - # generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='${wl}-berok' - # This is a bit strange, but is similar to how AIX traditionally builds - # it's shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[[012]]) - allow_undefined_flag='-undefined suppress' - ;; - *) # Darwin 1.3 on - allow_undefined_flag='-flat_namespace -undefined suppress' - ;; - esac - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' - # We need to add '_' to the symbols in $export_symbols first - #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' - hardcode_direct=yes - hardcode_shlibpath_var=no - whole_archive_flag_spec='-all_load $convenience' - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9* | hpux10* | hpux11*) - case $host_os in - hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; - *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; - esac - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_minus_L=yes # Not in the search PATH, but as the default - # location of the library. - export_dynamic_flag_spec='${wl}-E' - ;; - - irix5* | irix6*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $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='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case "$host_os" in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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 - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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='${wl}-rpath ${wl}$libdir' - else - 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 "-exported_symbol " >> $lib.exp; echo "\$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' - - #Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - export_dynamic_flag_spec='${wl}-Bexport' - ;; - - solaris*) - # gcc --version < 3.0 without binutils cannot create self contained - # shared libraries reliably, requiring libgcc.a to resolve some of - # the object symbols generated in some cases. Libraries that use - # assert need libgcc.a to resolve __eprintf, for example. Linking - # a copy of libgcc.a into every shared library to guarantee resolving - # such symbols causes other problems: According to Tim Van Holder - # , C++ libraries end up with a separate - # (to the application) exception stack for one thing. - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - case `$CC --version 2>/dev/null` in - [[12]].*) - cat <&2 - -*** Warning: Releases of GCC earlier than version 3.0 cannot reliably -*** create self contained shared libraries on Solaris systems, without -*** introducing a dependency on libgcc.a. Therefore, libtool is disabling -*** -no-undefined support, which will at least allow you to build shared -*** libraries. However, you may find that when you link such libraries -*** into an application without using GCC, you have to manually add -*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to -*** upgrade to a newer version of GCC. Another option is to rebuild your -*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. - -EOF - no_undefined_flag= - ;; - esac - fi - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - 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' - hardcode_libdir_flag_spec='-R$libdir' - 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='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - if test "x$host_vendor" = xsno; then - archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - else - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv5*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - 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' - hardcode_libdir_flag_spec= - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=no - hardcode_shlibpath_var=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5uw7* | unixware7*) - no_undefined_flag='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs fi -AC_MSG_RESULT([$ld_shlibs]) -test "$ld_shlibs" = no && can_build_shared=no +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- # Check hardcoding attributes. -AC_MSG_CHECKING([how to hardcode library paths into programs]) -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$hardcode_shlibpath_var" != no && - test "$hardcode_minus_L" != no; then + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. - hardcode_action=relink + _LT_AC_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate + _LT_AC_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. - hardcode_action=unsupported + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported fi -AC_MSG_RESULT([$hardcode_action]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) -striplib= +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then @@ -2413,17 +1869,33 @@ if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else AC_MSG_RESULT([no]) fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP -reload_cmds='$LD$reload_flag -o $output$reload_objs' -test -z "$deplibs_check_method" && deplibs_check_method=unknown +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- # PORTME Fill in your ld.so characteristics -AC_MSG_CHECKING([dynamic linker characteristics]) +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= +shrext=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= @@ -2433,23 +1905,60 @@ shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # sanitize + new_sys_lib_search_path_spec= + for d in $sys_lib_search_path_spec ; do + # check if exists + if test -d $d -a -x $d ; then + # normalize + new_d=$(cd $d ; pwd) + # uniq + if ! echo "$new_sys_lib_search_path_spec" | grep -q -F -e " $new_d " ; then + new_sys_lib_search_path_spec="$new_sys_lib_search_path_spec $new_d " + fi + fi + done + # compress spaces + sys_lib_search_path_spec=`echo "$new_sys_lib_search_path_spec" | $SED -e 's/^ *//g;s/ \+/ /g;s/ $//g'` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown case $host_os in aix3*) version_type=linux - library_names_spec='${libname}${release}.so$versuffix $libname.a' + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH - # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so$major' + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 - library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file @@ -2459,29 +1968,28 @@ aix4* | aix5*) # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; esac - # AIX (on Power*) has no versioning support, so currently we can - # not hardcode correct soname into executable. Probably we can - # add versioning support to collect2, so additional links can - # be useful in future. + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}.so$major' + soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi @@ -2494,7 +2002,7 @@ amigaos*) ;; beos*) - library_names_spec='${libname}.so' + library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; @@ -2502,13 +2010,12 @@ beos*) bsdi4*) version_type=linux need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - export_dynamic_flag_spec=-rdynamic # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs @@ -2516,29 +2023,55 @@ bsdi4*) cygwin* | mingw* | pw32*) version_type=windows + shrext=".dll" need_version=no need_lib_prefix=no + case $GCC,$host_os in - yes,cygwin*) + yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' - postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ - $install_prog .libs/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac ;; - yes,mingw*) - library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` - ;; - yes,pw32*) - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' - ;; + *) - library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' @@ -2554,10 +2087,25 @@ darwin* | rhapsody*) # FIXME: Relying on posixy $() will cause problems for # cross-compilation, but unfortunately the echo tests do not # yet detect zsh echo's removal of \ escapes. - library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' - soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) @@ -2569,12 +2117,12 @@ freebsd*) version_type=freebsd-$objformat case $version_type in freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac @@ -2583,7 +2131,11 @@ freebsd*) freebsd2*) shlibpath_overrides_runpath=yes ;; - *) + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; @@ -2594,8 +2146,8 @@ gnu*) version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; @@ -2603,33 +2155,75 @@ gnu*) hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. - dynamic_linker="$host_os dld.sl" version_type=sunos need_lib_prefix=no need_version=no - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' - soname_spec='${libname}${release}.sl$major' + case "$host_cpu" in + ia64*) + shrext='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; -irix5* | irix6*) - version_type=irix +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac need_lib_prefix=no need_version=no - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in - irix5*) + irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; @@ -2638,20 +2232,21 @@ irix5* | irix6*) shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) +linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. -linux-gnu*) +linux*) version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -2674,12 +2269,12 @@ netbsd*) need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH @@ -2689,7 +2284,17 @@ netbsd*) newsos6) version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; @@ -2698,36 +2303,38 @@ openbsd*) version_type=sunos need_lib_prefix=no need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case "$host_os" in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac else shlibpath_overrides_runpath=yes fi - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH ;; os2*) libname_spec='$name' + shrext=".dll" need_lib_prefix=no - library_names_spec='$libname.dll $libname.a' + library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf + need_lib_prefix=no need_version=no - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" @@ -2735,8 +2342,8 @@ osf3* | osf4* | osf5*) sco3.2v5*) version_type=osf - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH ;; @@ -2744,8 +2351,8 @@ solaris*) version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes @@ -2755,7 +2362,7 @@ solaris*) sunos4*) version_type=sunos - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -2767,12 +2374,18 @@ sunos4*) sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no ;; motorola) need_lib_prefix=no @@ -2783,39 +2396,950 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) esac ;; -uts4*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - sysv4*MP*) if test -d /usr/nec ;then version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.so.$major' + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# Report the final consequences. + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && test "X$CXX" != "Xno"; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 dll's +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +#- set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the path to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +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 $CC]) + 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. + [[\\/]]* | ?:[[\\/]]*) + 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(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_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 `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case "$host_cpu" in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + case $host_cpu in + alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the path to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will +# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided and an installed libltdl is not found, it is +# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' +# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single +# quotes!). If your package is not flat and you're not using automake, +# define top_builddir and top_srcdir appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,CXX" | sed 's/^,//'`]) +])# _LT_AC_LANG_CXX + + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,F77" | sed 's/^,//'`]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,GCJ" | sed 's/^,//'`]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# -------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,RC" | sed 's/^,//'`]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_DLOPEN_SELF($1) + +# Report which librarie types wil actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) @@ -2838,6 +3362,34 @@ aix4*) test "$enable_shared" = yes && enable_static=no fi ;; + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _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 -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + fi + ;; esac AC_MSG_RESULT([$enable_shared]) @@ -2846,111 +3398,1292 @@ AC_MSG_CHECKING([whether to build static libraries]) test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cc + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +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 + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + unset lt_cv_path_LD +fi +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%^.*/%%'` + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi +if test "$GXX" = yes; then + # Set up default GNU C++ configuration -AC_LIBTOOL_DLOPEN_SELF + AC_PROG_LD -if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - AC_CACHE_VAL([lt_cv_archive_cmds_need_lc], - [$rm conftest* - echo 'static int dummy;' > conftest.$ac_ext + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - if AC_TRY_EVAL(ac_compile); then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_cv_prog_cc_wl - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$save_allow_undefined_flag + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=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 - cat conftest.err 1>&5 - fi]) - AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc]) - ;; - esac -fi -need_lc=${lt_cv_archive_cmds_need_lc-yes} + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= -# The second clause should only fire when bootstrapping the + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + fi + ;; + + dgux*) + case $cc_basename in + ec++) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + 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 + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${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' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC) + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case "$host_cpu" in + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + 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' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + 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' + 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 + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc) + # Intel C++ + with_gnu_ld=yes + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _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,$libdir' + _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' + ;; + 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' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + osf3*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + 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(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + 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(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + 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_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~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + 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(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + 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' + _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 -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. + # 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' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + 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' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _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 -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _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 -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_DLOPEN_SELF($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < "${ofile}T" -#! $SHELL + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # -# Copyright (C) 1996-2000 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify @@ -2989,14 +4739,21 @@ if test -f "$ltmain"; then # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. +# A sed program that does not truncate output. +SED=$lt_SED + # Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="sed -e s/^X//" +Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi -# ### BEGIN LIBTOOL CONFIG +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: @@ -3010,7 +4767,10 @@ build_libtool_libs=$enable_shared build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$need_lc +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) # Whether or not to optimize for fast installation. fast_install=$enable_fast_install @@ -3026,14 +4786,20 @@ echo=$lt_echo AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS -# The default C compiler. -CC=$lt_CC +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) # Is the compiler the GNU C compiler? -with_gcc=$GCC +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP # The linker used to build libraries. -LD=$lt_LD +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) # Whether we need hard or soft links. LN_S=$lt_LN_S @@ -3064,7 +4830,7 @@ reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. -wl=$lt_wl +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) # Object file suffix (normally "o"). objext="$ac_objext" @@ -3072,18 +4838,21 @@ objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" +# Shared library suffix (normally ".so"). +shrext='$shrext' + # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. -pic_flag=$lt_pic_flag +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) pic_mode=$pic_mode -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_compiler_c_o +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len -# Can we write directly to a .lo ? -compiler_o_lo=$lt_compiler_o_lo +# 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 ? need_locks=$lt_need_locks @@ -3104,19 +4873,19 @@ dlopen_self=$enable_dlopen_self dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. -link_static_flag=$lt_link_static_flag +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) # Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_no_builtin_flag +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) # Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) # Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) # Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) # Library versioning type. version_type=$version_type @@ -3133,26 +4902,50 @@ soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) # Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) # Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -3160,10 +4953,10 @@ deplibs_check_method=$lt_deplibs_check_method file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) # Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds @@ -3172,13 +4965,13 @@ finish_cmds=$lt_finish_cmds finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_global_symbol_pipe +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_global_symbol_to_cdecl +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var @@ -3190,36 +4983,45 @@ shlibpath_var=$shlibpath_var shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) # Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. -hardcode_direct=$hardcode_direct +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. -hardcode_minus_L=$hardcode_minus_L +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec @@ -3228,30 +5030,33 @@ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" # Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) # The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) # Symbols that must always be exported. -include_expsyms=$lt_include_expsyms +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) -# ### END LIBTOOL CONFIG +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) __EOF__ +ifelse([$1],[], [ case $host_os in aix3*) - cat <<\EOF >> "${ofile}T" + cat <<\EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems @@ -3264,11 +5069,1493 @@ EOF ;; esac + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGISTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + 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" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + 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) + _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 + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + 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. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc) + # Intel C++ + _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)='-static' + ;; + cxx) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + 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 + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + sco*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + 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) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux*) + case $CC in + icc|ecc) + _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)='-static' + ;; + ccc) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + 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' + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _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' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in - cygwin* | mingw* | pw32* | os2*) - cat <<'EOF' >> "${ofile}T" - # This is a source program that is used to create dlls on Windows - # Don't remove nor modify the starting and closing comments + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # 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't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=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' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $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' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + 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' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + 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 + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi4*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $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)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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' + else + _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' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + _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 + _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' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _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)='-z allextract$convenience -z defaultextract' ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _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' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ # /* ltdll.c starts here */ # #define WIN32_LEAN_AND_MEAN # #include @@ -3302,741 +6589,13 @@ EOF # return TRUE; # } # /* ltdll.c ends here */ - # This is a source program that is used to create import libraries - # on Windows for dlls which lack them. Don't remove nor modify the - # starting and closing comments -# /* impgen.c starts here */ -# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. -# -# This file is part of GNU libtool. -# -# 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. -# */ -# -# #include /* for printf() */ -# #include /* for open(), lseek(), read() */ -# #include /* for O_RDONLY, O_BINARY */ -# #include /* for strdup() */ -# -# /* O_BINARY isn't required (or even defined sometimes) under Unix */ -# #ifndef O_BINARY -# #define O_BINARY 0 -# #endif -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[2]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# return b[0] + (b[1]<<8); -# } -# -# static unsigned int -# pe_get32 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[4]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# int -# main (argc, argv) -# int argc; -# char *argv[]; -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# filename = argv[1]; -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (dll < 1) -# return 1; -# -# dll_name = filename; -# -# for (i=0; filename[i]; i++) -# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# char sname[8]; -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i> "${ofile}T" || (rm -f "${ofile}T"; exit 1) - - mv -f "${ofile}T" "$ofile" || \ - (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") - chmod +x "$ofile" -fi - -])# _LT_AC_LTCONFIG_HACK - -# AC_LIBTOOL_DLOPEN - enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) - -# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) - -# AC_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AC_ENABLE_SHARED[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(shared, -changequote(<<, >>)dnl -<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl -]) - -# AC_DISABLE_SHARED - set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no)]) - -# AC_ENABLE_STATIC - implement the --enable-static flag -# Usage: AC_ENABLE_STATIC[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(static, -changequote(<<, >>)dnl -<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_static=AC_ENABLE_STATIC_DEFAULT)dnl -]) - -# AC_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no)]) +])# _LT_AC_FILE_LTDLL_C -# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag -# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(fast-install, -changequote(<<, >>)dnl -<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl -]) +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) -# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no)]) - -# AC_LIBTOOL_PICMODE - implement the --with-pic flag -# Usage: AC_LIBTOOL_PICMODE[(MODE)] -# Where MODE is either `yes' or `no'. If omitted, it defaults to -# `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default)]) - - -# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -]) - - -# AC_PATH_MAGIC - find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl -AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) - else - MAGIC_CMD=: - fi -fi -]) - - -# AC_PROG_LD - find the path to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH(gnu-ld, -[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], -test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl -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(lt_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_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 - lt_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. - if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$lt_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_PROG_LD_GNU -]) - -# AC_PROG_LD_GNU - -AC_DEFUN([AC_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - lt_cv_prog_gnu_ld=yes -else - lt_cv_prog_gnu_ld=no -fi]) -with_gnu_ld=$lt_cv_prog_gnu_ld -]) - -# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker -# -- PORTME Some linkers may need a different reload flag. -AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], -[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, -[lt_cv_ld_reload_flag='-r']) -reload_flag=$lt_cv_ld_reload_flag -test -n "$reload_flag" && reload_flag=" $reload_flag" -]) - -# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], -[AC_CACHE_CHECK([how to recognise dependant libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given egrep regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi4*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin* | mingw* | pw32*) - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.[[012]]) - lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' - ;; - esac - ;; - -freebsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20*|hpux11*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - -irix5* | irix6*) - case $host_os in - irix5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" - ;; - *) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" - ;; - esac - lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux-gnu*) - case $host_cpu in - alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; - esac - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -openbsd*) - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' - else - lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' - fi - ;; - -osf3* | osf4* | osf5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' - lt_cv_file_magic_test_file=/shlib/libc.so - lt_cv_deplibs_check_method=pass_all - ;; - -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - lt_cv_file_magic_test_file=/lib/libc.so - ;; - -sysv5uw[[78]]* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - esac - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -]) - - -# AC_PROG_NM - find the path to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl -AC_MSG_CHECKING([for BSD-compatible nm]) -AC_CACHE_VAL(lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/${ac_tool_prefix}nm - if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then - lt_cv_path_NM="$tmp_nm -B" - break - elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - lt_cv_path_NM="$tmp_nm -p" - break - else - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -AC_MSG_RESULT([$NM]) -]) - -# AC_CHECK_LIBM - check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32*) - # These system don't have libm - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, main, LIBM="-lm") - ;; -esac -]) - -# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl convenience library and INCLTDL to the include flags for -# the libltdl header and adds --enable-ltdl-convenience to the -# configure arguments. Note that LIBLTDL and INCLTDL are not -# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not -# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed -# with '${top_builddir}/' and INCLTDL will be prefixed with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and -# top_srcdir appropriately in the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) -]) - -# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl installable library and INCLTDL to the include flags for -# the libltdl header and adds --enable-ltdl-install to the configure -# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is -# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed -# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will -# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed -# with '${top_srcdir}/' (note the single quotes!). If your package is -# not flat and you're not using automake, define top_builddir and -# top_srcdir appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, main, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - INCLTDL= - fi -]) # old names AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) @@ -4050,7 +6609,126 @@ AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) # This is just to silence aclocal about the macro not being used ifelse([AC_DISABLE_FAST_INSTALL]) -#serial 1 +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && break + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +SED=$lt_cv_path_SED +]) +AC_MSG_RESULT([$SED]) +]) + +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. + +# 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, 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. + +# serial 2 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# isc-posix.m4 serial 2 (gettext-0.11.2) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. + # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) @@ -4069,7 +6747,24 @@ AC_DEFUN([AC_ISC_POSIX], ) -# serial 1 +# Copyright 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. + +# 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, 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. + +# serial 2 AC_DEFUN([AM_C_PROTOTYPES], [AC_REQUIRE([AM_PROG_CC_STDC]) @@ -4090,8 +6785,27 @@ AC_SUBST(U)dnl AC_SUBST(ANSI2KNR)dnl ]) +AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) -# serial 1 + +# Copyright 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + +# 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, 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. + +# serial 2 # @defmac AC_PROG_CC_STDC # @maindex PROG_CC_STDC @@ -4179,30 +6893,47 @@ case "x$am_cv_prog_cc_stdc" in esac ]) -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# 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 -# License or the GNU Library General Public License but which still want -# to provide support for the GNU gettext functionality. -# Please note that the actual code of the GNU gettext library is covered -# by the GNU Library General Public License, and the rest of the GNU -# gettext package package is covered by the GNU General Public License. -# They are *not* in the public domain. +AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC]) -# serial 10 +# gettext.m4 serial 20 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +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 Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]). -dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library +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). Otherwise, a static library +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. -dnl LIBDIR is used to find the intl libraries. If empty, +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: @@ -4216,29 +6947,63 @@ 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_WITH_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_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 Set USE_NLS. + AM_NLS + + ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no - INTLLIBS= + ]) + LIBINTL= + LTLIBINTL= + POSUB= - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if translation of program messages to the user's native language - is requested.]) + 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], @@ -4248,214 +7013,192 @@ AC_DEFUN([AM_WITH_NLS], 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. - CATOBJEXT=NONE dnl Add a version number to the cache macros. - define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc]) - define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl]) + 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_CHECK_HEADER(libintl.h, - [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, - [AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr;], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], - gt_cv_func_gnugettext_libc=yes, - gt_cv_func_gnugettext_libc=no)]) + 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 - AC_CACHE_CHECK([for GNU gettext in libintl], - gt_cv_func_gnugettext_libintl, - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $LIBICONV" - AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr;], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], - gt_cv_func_gnugettext_libintl=yes, - gt_cv_func_gnugettext_libintl=no) - LIBS="$gt_save_LIBS"]) - fi + 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 ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + 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 ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + [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; }; then - AC_DEFINE(HAVE_GETTEXT, 1, - [Define if the GNU gettext() function is already present or preinstalled.]) + 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 - if test "$gt_cv_func_gnugettext_libintl" = "yes"; then - dnl If iconv() is in a separate libiconv library, then anyone - dnl linking with libintl{.a,.so} also needs to link with - dnl libiconv. - INTLLIBS="-lintl $LIBICONV" - fi - - gt_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - AC_CHECK_FUNCS(dcgettext) - LIBS="$gt_save_LIBS" - - dnl Search for GNU msgfmt in the PATH. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - - dnl Search for GNU xgettext in the PATH. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) - - CATOBJEXT=.gmo - fi - ]) - - if test "$CATOBJEXT" = "NONE"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=yes + 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. - INTLOBJS="\$(GETTOBJS)" - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) - AC_SUBST(MSGFMT) - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes + 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 + + 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 - INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi + ]) - 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; then - : ; - else - AC_MSG_RESULT( - [found msgfmt 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 /dev/null >/dev/null 2>&1; then - : ; - else - AC_MSG_RESULT( - [found xgettext program is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - - dnl We need to process the po/ directory. - POSUB=po + 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 - 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 - 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" - sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - fi - ;; - esac - done]) + 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; then + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes 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 These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) - AC_SUBST(GMOFILES) - AC_SUBST(INTLLIBS) - AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= @@ -4472,126 +7215,432 @@ changequote([,])dnl 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. + 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 Usage: Just like AM_WITH_NLS, which see. -AC_DEFUN([AM_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])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([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - AC_REQUIRE([jm_GLIBC21])dnl + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ + 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([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + AC_REQUIRE([gt_INTDIV0])dnl + AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl + AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl + AC_REQUIRE([gt_INTTYPES_PRI])dnl + + 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([feof_unlocked fgets_unlocked getcwd getegid geteuid \ -getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ -strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) + AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ +geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ +strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \ +__fsetlocking]) - AM_ICONV - AM_LANGINFO_CODESET - AM_LC_MESSAGES - AM_WITH_NLS([$1],[$2],[$3]) + AM_ICONV + AM_LANGINFO_CODESET + if test $ac_cv_header_locale_h = yes; then + AM_LC_MESSAGES + fi - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - for desiredlang in ${LINGUAS-$ALL_LINGUAS}; 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 - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - 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 Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - 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 is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - AC_SUBST(MKINSTALLDIRS) +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], []) - AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) - ]) +# po.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +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 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 >/dev/null 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 >/dev/null 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 >/dev/null 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 + 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, GMOFILES, UPDATEPOFILES, DUMMYPOFILES 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" "$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 + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + GMOFILES= + UPDATEPOFILES= + DUMMYPOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + 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|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|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, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, 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%}" + ]) +]) + +# nls.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +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_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 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) +]) + +# progtest.m4 serial 3 (gettext-0.12) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +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 , 1996. # Search path for a program which passes the given test. -# Ulrich Drepper , 1996. -# -# 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 -# License or the GNU Library General Public License but which still want -# to provide support for the GNU gettext functionality. -# Please note that the actual code of the GNU gettext library is covered -# by the GNU Library General Public License, and the rest of the GNU -# gettext package package is covered by the GNU General Public License. -# They are *not* in the public domain. - -# serial 2 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], -[# Extract the first word of "$2", so it can be a program name with args. +[ +# 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_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" + 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 + 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 @@ -4602,7 +7651,936 @@ fi AC_SUBST($1)dnl ]) -#serial 2 +# lib-prefix.m4 serial 2 (gettext-0.12) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +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*) 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" +]) + +# lib-link.m4 serial 4 (gettext-0.12) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +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], +[ + 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*) 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*) 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-ld.m4 serial 2 (gettext-0.12) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +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. +if $LD -v 2>&1 &5; then + acl_cv_prog_gnu_ld=yes +else + acl_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + 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 +]) + +# iconv.m4 serial AM4 (gettext-0.11.3) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +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 +]) + +# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. @@ -4629,77 +8607,262 @@ AC_DEFUN([jm_GLIBC21], ] ) -#serial AM2 +# intdiv0.m4 serial 1 (gettext-0.11.3) +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. -AC_DEFUN([AM_ICONV], +AC_DEFUN([gt_INTDIV0], [ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl - AC_ARG_WITH([libiconv-prefix], -[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ - for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi - if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done - ]) - - 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 -liconv" - 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.]) - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ + AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], + gt_cv_int_divbyzero_sigfpe, + [ + AC_TRY_RUN([ #include -#include -extern +#include + +static void #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); +sigfpe_handler (int sig) #else -size_t iconv(); +sigfpe_handler (sig) int sig; #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 - LIBICONV= - if test "$am_cv_lib_iconv" = yes; then - LIBICONV="-liconv" - fi - AC_SUBST(LIBICONV) +{ + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); +} +], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, + [ + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i[34567]86 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac + ]) + ]) + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, + [Define if integer division by zero raises signal SIGFPE.]) ]) -#serial AM1 +# uintmax_t.m4 serial 7 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +AC_PREREQ(2.13) + +# Define uintmax_t to 'unsigned long' or 'unsigned long long' +# if it is not already defined in or . + +AC_DEFUN([jm_AC_TYPE_UINTMAX_T], +[ + AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_HEADER_STDINT_H]) + if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then + AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, + [Define to unsigned long or unsigned long long + if and don't define.]) + else + AC_DEFINE(HAVE_UINTMAX_T, 1, + [Define if you have the 'uintmax_t' type in or .]) + fi +]) + +# inttypes_h.m4 serial 5 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_inttypes_h=yes, + jm_ac_cv_header_inttypes_h=no)]) + if test $jm_ac_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) + +# stdint_h.m4 serial 3 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_STDINT_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_STDINT_H], +[ + AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_stdint_h=yes, + jm_ac_cv_header_stdint_h=no)]) + if test $jm_ac_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) + +# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) +dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], +[ + AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, + [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], + [unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull;], + ac_cv_type_unsigned_long_long=yes, + ac_cv_type_unsigned_long_long=no)]) + if test $ac_cv_type_unsigned_long_long = yes; then + AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, + [Define if you have the unsigned long long type.]) + fi +]) + +# inttypes.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H if exists and doesn't clash with +# . + +AC_DEFUN([gt_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, + [ + AC_TRY_COMPILE( + [#include +#include ], + [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) + ]) + if test $gt_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, + [Define if exists and doesn't clash with .]) + fi +]) + +# inttypes-pri.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +# Define PRI_MACROS_BROKEN if exists and defines the PRI* +# macros to non-string values. This is the case on AIX 4.3.3. + +AC_DEFUN([gt_INTTYPES_PRI], +[ + AC_REQUIRE([gt_HEADER_INTTYPES_H]) + if test $gt_cv_header_inttypes_h = yes; then + AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], + gt_cv_inttypes_pri_broken, + [ + AC_TRY_COMPILE([#include +#ifdef PRId32 +char *p = PRId32; +#endif +], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) + ]) + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, + [Define if exists and defines unusable PRI* macros.]) + fi +]) + +# codeset.m4 serial AM1 (gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. @@ -4717,28 +8880,36 @@ AC_DEFUN([AM_LANGINFO_CODESET], fi ]) -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. -# -# 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 -# License or the GNU Library General Public License but which still want -# to provide support for the GNU gettext functionality. -# Please note that the actual code of the GNU gettext library is covered -# by the GNU Library General Public License, and the rest of the GNU -# gettext package package is covered by the GNU General Public License. -# They are *not* in the public domain. +# lcmessage.m4 serial 3 (gettext-0.11.3) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +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. -# serial 2 +dnl Authors: +dnl Ulrich Drepper , 1995. + +# Check whether LC_MESSAGES is available in . AC_DEFUN([AM_LC_MESSAGES], - [if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], +[ + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, - [Define if your file defines LC_MESSAGES.]) - fi - fi]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi +]) diff --git a/config.guess b/config.guess index dff9e481..500ee74b 100755 --- a/config.guess +++ b/config.guess @@ -1,9 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2001-09-04' +timestamp='2003-10-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,8 +24,9 @@ timestamp='2001-09-04' # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Written by Per Bothner . -# Please send patches to . +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and @@ -87,30 +88,42 @@ if test $# != 0; then exit 1 fi +trap 'exit 1' 1 2 15 -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. -# CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c ; - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; - if test $? = 0 ; then +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $dummy.c $dummy.o $dummy.rel ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac' +esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -127,29 +140,30 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) - # Netbsd (nbsd) targets should (where applicable) match one or + # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - *) machine=${UNAME_MACHINE}-unknown ;; + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null @@ -166,75 +180,112 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - esac - fi - rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; + Alpha*:OpenVMS:*:*) + echo alpha-hp-vms + exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -247,29 +298,11 @@ EOF Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -291,6 +324,13 @@ EOF NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; @@ -319,7 +359,7 @@ EOF echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) @@ -333,12 +373,6 @@ EOF aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; - sparc*:NetBSD:*) - echo `uname -p`-unknown-netbsd${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -365,18 +399,6 @@ EOF *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; @@ -415,15 +437,20 @@ EOF exit (-1); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; @@ -496,8 +523,7 @@ EOF exit(0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 @@ -506,7 +532,7 @@ EOF fi exit 0 ;; *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else @@ -546,10 +572,8 @@ EOF 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - case "${HPUX_REV}" in - 11.[0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 @@ -558,13 +582,13 @@ EOF case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac - fi ;; - esac - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include @@ -597,11 +621,21 @@ EOF exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) @@ -635,8 +669,7 @@ EOF exit (0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) @@ -664,9 +697,6 @@ EOF parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; - hppa*:OpenBSD:*:*) - echo hppa-unknown-openbsd - exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; @@ -685,9 +715,6 @@ EOF C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; @@ -700,27 +727,21 @@ EOF CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; + *:UNICOS/mp:*:*) + echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; @@ -730,11 +751,22 @@ EOF *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) + # Determine whether the default compiler uses glibc. + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #if __GLIBC__ >= 2 + LIBC=gnu + #else + LIBC= + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + # GNU/FreeBSD systems have a "k" prefix to indicate we are using + # FreeBSD's kernel, but not the complete OS. + case ${LIBC} in gnu) kernel_only='k' ;; esac + echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -745,11 +777,17 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix + echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin @@ -769,17 +807,52 @@ EOF arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux + echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) - case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in - big) echo mips-unknown-linux-gnu && exit 0 ;; - little) echo mipsel-unknown-linux-gnu && exit 0 ;; - esac + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu @@ -815,6 +888,9 @@ EOF s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -828,7 +904,8 @@ EOF # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. - ld_supported_targets=`cd /; ld --help 2>&1 \ + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// @@ -840,7 +917,7 @@ EOF ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; @@ -852,32 +929,31 @@ EOF esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build - cat >$dummy.c < -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-pc-linux-gnu\n", argv[1]); -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-pc-linux-gnuaout\n", argv[1]); -#endif - return 0; -} + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) @@ -894,6 +970,23 @@ EOF # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -915,22 +1008,19 @@ EOF UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -954,9 +1044,15 @@ EOF # "miniframe" echo m68010-convergent-sysv exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -973,9 +1069,6 @@ EOF mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; @@ -1047,6 +1140,9 @@ EOF SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; @@ -1054,18 +1150,24 @@ EOF echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} + case `uname -p` in + *86) UNAME_PROCESSOR=i686 ;; + powerpc) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) + NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) @@ -1088,11 +1190,6 @@ EOF fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; @@ -1111,11 +1208,8 @@ EOF *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} exit 0 ;; esac @@ -1237,8 +1331,7 @@ main () } EOF -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. diff --git a/config.h.in b/config.h.in index 1a831ac5..90f3c948 100644 --- a/config.h.in +++ b/config.h.in @@ -1,53 +1,14 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ -/* $Id: acconfig.h,v 1.15 2001/07/27 13:26:04 kloczek Exp $ */ +/* config.h.in. Generated from configure.in by autoheader. */ +/* $Id: acconfig.h,v 1.21 2003/12/17 01:46:59 kloczek Exp $ */ -/* Define to enable password aging. */ -#undef AGING - -/* Define if struct passwd has pw_age. */ -#undef ATT_AGE - -/* Define if struct passwd has pw_comment. */ -#undef ATT_COMMENT - -/* Define to support JFH's auth. methods. UNTESTED. */ -#undef AUTH_METHODS - -/* Define if struct passwd has pw_quota. */ -#undef BSD_QUOTA - /* Define if you have secure RPC. */ #undef DES_RPC -/* Define to support 16-character passwords. */ -#undef DOUBLESIZE - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - /* Path for faillog file. */ #undef FAILLOG_FILE -/* Define if you want my getgrent routines. */ -#undef GETGRENT - -/* Define to libshadow_getpass to use our own version of getpass(). */ -#undef getpass - -/* Define if you want my getpwent routines. */ -#undef GETPWENT - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - /* Defined if you have libcrack. */ #undef HAVE_LIBCRACK @@ -66,12 +27,6 @@ /* Working shadow group support in libc? */ #undef HAVE_SHADOWGRP -/* Define to 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define to support TCFS. */ -#undef HAVE_TCFS - /* Path for lastlog file. */ #undef LASTLOG_FILE @@ -84,24 +39,12 @@ /* Name of user's mail spool file if stored in user's home directory. */ #undef MAIL_SPOOL_FILE -/* Define to support the MD5-based password hashing algorithm. */ -#undef MD5_CRYPT - -/* Define to use ndbm. */ -#undef NDBM - /* Define to support OPIE one-time password logins. */ #undef OPIE -/* Package name. */ -#undef PACKAGE - /* Path to passwd program. */ #undef PASSWD_PROGRAM -/* Define if the compiler understands function prototypes. */ -#undef PROTOTYPES - /* Define if login should support the -r flag for rlogind. */ #undef RLOGIN @@ -120,43 +63,26 @@ /* Define to support /etc/suauth su access control. */ #undef SU_ACCESS -/* Define to support SecureWare(tm) long passwords. */ -#undef SW_CRYPT - -/* Define if you want gdbm for TCFS. */ -#undef TCFS_GDBM_SUPPORT - -/* Define to support Pluggable Authentication Modules. */ -#undef USE_PAM - /* Define to use syslog(). */ #undef USE_SYSLOG +/* Define to support USG (Unix Systems Group?) behavior. */ +#undef USG + /* Define if you have ut_host in struct utmp. */ #undef UT_HOST /* Path for utmp file. */ #undef _UTMP_FILE -/* Define to ut_name if struct utmp has ut_name (not ut_user). */ -#undef ut_user - -/* Version. */ -#undef VERSION - /* Path for wtmp file. */ #undef _WTMP_FILE -/* */ -#undef USG +/* Define to libshadow_getpass to use our own version of getpass(). */ +#undef getpass -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define if using `alloca.c'. */ -#undef C_ALLOCA +/* Define to ut_name if struct utmp has ut_name (not ut_user). */ +#undef ut_user /* Define to 1 if translation of program messages to the user's native language is requested. */ @@ -166,372 +92,292 @@ this is either `int' or `gid_t'. */ #undef GETGROUPS_T -/* Define if you have the `a64l' function. */ +/* Define to 1 if you have the `a64l' function. */ #undef HAVE_A64L -/* Define if you have `alloca', as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the `dcgettext' function. */ +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ #undef HAVE_DCGETTEXT -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_DIRENT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H -/* Define if you have the `fchmod' function. */ +/* Define to 1 if you have the `fchmod' function. */ #undef HAVE_FCHMOD -/* Define if you have the `fchown' function. */ +/* Define to 1 if you have the `fchown' function. */ #undef HAVE_FCHOWN -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H -/* Define if you have the `feof_unlocked' function. */ -#undef HAVE_FEOF_UNLOCKED - -/* Define if you have the `fgets_unlocked' function. */ -#undef HAVE_FGETS_UNLOCKED - -/* Define if you have the `fsync' function. */ +/* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC -/* Define if you have the `getcwd' function. */ -#undef HAVE_GETCWD - -/* Define if you have the `getegid' function. */ -#undef HAVE_GETEGID - -/* Define if you have the `geteuid' function. */ -#undef HAVE_GETEUID - -/* Define if you have the `getgid' function. */ -#undef HAVE_GETGID - -/* Define if you have the `getgroups' function. */ +/* Define to 1 if you have the `getgroups' function. */ #undef HAVE_GETGROUPS -/* Define if you have the `gethostname' function. */ +/* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME -/* Define if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the `getspnam' function. */ +/* Define to 1 if you have the `getspnam' function. */ #undef HAVE_GETSPNAM /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT -/* Define if you have the `gettimeofday' function. */ +/* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY -/* Define if you have the `getuid' function. */ -#undef HAVE_GETUID - -/* Define if you have the `getusershell' function. */ +/* Define to 1 if you have the `getusershell' function. */ #undef HAVE_GETUSERSHELL -/* Define if you have the `getutent' function. */ +/* Define to 1 if you have the `getutent' function. */ #undef HAVE_GETUTENT -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_GSHADOW_H /* Define if you have the iconv() function. */ #undef HAVE_ICONV -/* Define if you have the `initgroups' function. */ +/* Define to 1 if you have the `initgroups' function. */ #undef HAVE_INITGROUPS -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define if you have and nl_langinfo(CODESET). */ -#undef HAVE_LANGINFO_CODESET - -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_LASTLOG_H -/* Define if you have the `lchown' function. */ +/* Define to 1 if you have the `lchown' function. */ #undef HAVE_LCHOWN -/* Define if you have the `lckpwdf' function. */ +/* Define to 1 if you have the `lckpwdf' function. */ #undef HAVE_LCKPWDF -/* Define if your file defines LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define if you have the `inet' library (-linet). */ +/* Define to 1 if you have the `inet' library (-linet). */ #undef HAVE_LIBINET -/* Define if you have the `nsl' library (-lnsl). */ +/* Define to 1 if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL -/* Define if you have the `socket' library (-lsocket). */ +/* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H -/* Define if you have the `lstat' function. */ +/* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the `memcpy' function. */ +/* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H -/* Define if you have the `mempcpy' function. */ -#undef HAVE_MEMPCPY - -/* Define if you have the `memset' function. */ +/* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET -/* Define if you have the `mkdir' function. */ +/* Define to 1 if you have the `mkdir' function. */ #undef HAVE_MKDIR -/* Define if you have the `mkstemp' function. */ +/* Define to 1 if you have the `mkstemp' function. */ #undef HAVE_MKSTEMP -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define if you have the `munmap' function. */ -#undef HAVE_MUNMAP - -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_PATHS_H -/* Define if you have the `putenv' function. */ -#undef HAVE_PUTENV - -/* Define if you have the `putgrent' function. */ +/* Define to 1 if you have the `putgrent' function. */ #undef HAVE_PUTGRENT -/* Define if you have the `putpwent' function. */ +/* Define to 1 if you have the `putpwent' function. */ #undef HAVE_PUTPWENT -/* Define if you have the `putspent' function. */ +/* Define to 1 if you have the `putspent' function. */ #undef HAVE_PUTSPENT -/* Define if you have the `rename' function. */ +/* Define to 1 if you have the `rename' function. */ #undef HAVE_RENAME -/* Define if you have the `rmdir' function. */ +/* Define to 1 if you have the `rmdir' function. */ #undef HAVE_RMDIR -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_RPC_KEY_PROT_H -/* Define if you have the `setenv' function. */ -#undef HAVE_SETENV - -/* Define if you have the `setgroups' function. */ +/* Define to 1 if you have the `setgroups' function. */ #undef HAVE_SETGROUPS -/* Define if you have the `setlocale' function. */ -#undef HAVE_SETLOCALE - -/* Define if you have the `sgetgrent' function. */ +/* Define to 1 if you have the `sgetgrent' function. */ #undef HAVE_SGETGRENT -/* Define if you have the `sgetpwent' function. */ +/* Define to 1 if you have the `sgetpwent' function. */ #undef HAVE_SGETPWENT -/* Define if you have the `sgetspent' function. */ +/* Define to 1 if you have the `sgetspent' function. */ #undef HAVE_SGETSPENT -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SGTTY_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SHADOW_H -/* Define if you have the `sigaction' function. */ +/* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION -/* Define if you have the `snprintf' function. */ +/* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF -/* Define if you have the header file. */ -#undef HAVE_STDDEF_H - -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define if you have the `stpcpy' function. */ -#undef HAVE_STPCPY - -/* Define if you have the `strcasecmp' function. */ +/* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP -/* Define if you have the `strchr' function. */ +/* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR -/* Define if you have the `strdup' function. */ +/* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP -/* Define if you have the `strerror' function. */ +/* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR -/* Define if you have the `strftime' function. */ +/* Define to 1 if you have the `strftime' function. */ #undef HAVE_STRFTIME -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define if you have the `strstr' function. */ +/* Define to 1 if you have the `strstr' function. */ #undef HAVE_STRSTR -/* Define if you have the `strtoul' function. */ -#undef HAVE_STRTOUL - -/* Define if `st_rdev' is member of `struct stat'. */ +/* Define to 1 if `st_rdev' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_RDEV -/* Define if your `struct stat' has `st_rdev'. Deprecated, use - `HAVE_STRUCT_STAT_ST_RDEV' instead. */ -#undef HAVE_ST_RDEV - -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYSLOG_H -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_SYS_DIR_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_SYS_NDIR_H -/* Define if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_RESOURCE_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H -/* Define if you have that is POSIX.1 compatible. */ +/* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_TERMIO_H -/* Define if you have the `tsearch' function. */ -#undef HAVE_TSEARCH - -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_ULIMIT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define if you have the `updwtmp' function. */ +/* Define to 1 if you have the `updwtmp' function. */ #undef HAVE_UPDWTMP -/* Define if you have the `updwtmpx' function. */ +/* Define to 1 if you have the `updwtmpx' function. */ #undef HAVE_UPDWTMPX -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UTIME_H -/* Define if `utime(file, NULL)' sets file's timestamp to the present. */ +/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ #undef HAVE_UTIME_NULL -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UTMPX_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UTMP_H -/* Define if you have the `__argz_count' function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the `__argz_next' function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the `__argz_stringify' function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define as const if the declaration of iconv() needs const. */ -#undef ICONV_CONST - /* Name of package */ #undef PACKAGE +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + /* Define if compiler has function prototypes */ #undef PROTOTYPES /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE -/* Define if the `setpgrp' function takes no argument. */ +/* Define to 1 if the `setpgrp' function takes no argument. */ #undef SETPGRP_VOID -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define if the `S_IS*' macros in do not work properly. */ +/* Define to 1 if the `S_IS*' macros in do not work properly. */ #undef STAT_MACROS_BROKEN -/* Define if you have the ANSI C header files. */ +/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS -/* Define if you can safely include both and . */ +/* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME -/* Define if your declares `struct tm'. */ +/* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME +/* Define to support Pluggable Authentication Modules */ +#undef USE_PAM + /* Version number of package */ #undef VERSION @@ -541,10 +387,6 @@ /* Define to `int' if doesn't define. */ #undef gid_t -/* Define as `__inline' if that's what the C compiler calls it, or to nothing - if it is not supported. */ -#undef inline - /* Define to `int' if does not define. */ #undef mode_t @@ -554,8 +396,5 @@ /* Define to `int' if does not define. */ #undef pid_t -/* Define to `unsigned' if does not define. */ -#undef size_t - /* Define to `int' if doesn't define. */ #undef uid_t diff --git a/config.rpath b/config.rpath new file mode 100755 index 00000000..fa24bfc2 --- /dev/null +++ b/config.rpath @@ -0,0 +1,548 @@ +#! /bin/sh +# 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. +# 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. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + mingw* | pw32* | os2*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux*) + case $CC in + icc|ecc) + wl='-Wl,' + ;; + ccc) + wl='-Wl,' + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + sco3.2v5*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II reports + # 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 + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris* | sysv5*) + if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = yes; then + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi4*) + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + hardcode_direct=no + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10* | hpux11*) + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + sco3.2v5*) + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4.2uw2*) + hardcode_direct=yes + hardcode_minus_L=no + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + ;; + sysv5*) + hardcode_libdir_flag_spec= + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. +libname_spec='lib$name' +case "$host_os" in + aix3*) + ;; + aix4* | aix5*) + ;; + amigaos*) + ;; + beos*) + ;; + bsdi4*) + ;; + cygwin* | mingw* | pw32*) + shrext=.dll + ;; + darwin* | rhapsody*) + shrext=.dylib + ;; + dgux*) + ;; + freebsd1*) + ;; + freebsd*) + ;; + gnu*) + ;; + hpux9* | hpux10* | hpux11*) + case "$host_cpu" in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux*) + ;; + netbsd*) + ;; + newsos6) + ;; + nto-qnx) + ;; + openbsd*) + ;; + os2*) + libname_spec='$name' + shrext=.dll + ;; + osf3* | osf4* | osf5*) + ;; + sco3.2v5*) + ;; + solaris*) + ;; + sunos4*) + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + ;; + sysv4*MP*) + ;; + uts4*) + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +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=/' <. +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -117,7 +118,7 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) + nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -226,32 +227,46 @@ case $basic_machine in 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ - | d10v | d30v | dsp16xx \ - | fr30 \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ | m32r | m68000 | m68k | m88k | mcore \ - | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el | mips64vr4300 \ - | mips64vr4300el | mips64vr5000 | mips64vr5000el \ - | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ - | mipsisa32 \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | msp430 \ | ns16k | ns32k \ - | openrisc \ + | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | s390 | s390x \ - | sh | sh[34] | sh[34]eb | shbe | shle \ - | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ - | stormy16 | strongarm \ - | tahoe | thumb | tic80 | tron \ - | v850 \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ | we32k \ - | x86 | xscale \ + | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -278,38 +293,56 @@ case $basic_machine in 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alphapca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armv*-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c54x-* \ - | clipper-* | cray2-* | cydra-* \ - | d10v-* | d30v-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | fx80-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ | m32r-* \ - | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ - | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ - | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ - | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | msp430-* \ + | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \ - | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ - | v850-* | vax-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -343,6 +376,9 @@ case $basic_machine in basic_machine=a29k-none os=-bsd ;; + amd64) + basic_machine=x86_64-pc + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -374,6 +410,10 @@ case $basic_machine in basic_machine=ns32k-sequent os=-dynix ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -394,16 +434,8 @@ case $basic_machine in basic_machine=c38-convex os=-bsd ;; - cray | ymp) - basic_machine=ymp-cray - os=-unicos - ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [cjt]90) - basic_machine=${basic_machine}-cray + cray | j90) + basic_machine=j90-cray os=-unicos ;; crds | unos) @@ -418,6 +450,14 @@ case $basic_machine in decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola @@ -598,14 +638,6 @@ case $basic_machine in basic_machine=m68k-atari os=-mint ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu - ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; @@ -620,6 +652,10 @@ case $basic_machine in basic_machine=m68k-rom68k os=-coff ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; msdos) basic_machine=i386-pc os=-msdos @@ -692,6 +728,10 @@ case $basic_machine in np1) basic_machine=np1-gould ;; + nv1) + basic_machine=nv1-cray + os=-unicosmp + ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -699,6 +739,10 @@ case $basic_machine in basic_machine=hppa1.1-oki os=-proelf ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose @@ -721,49 +765,55 @@ case $basic_machine in pbb) basic_machine=m68k-tti ;; - pc532 | pc532-*) + pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pentium | p5 | k5 | k6 | nexgen) + pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; - pentiumpro | p6 | 6x86 | athlon) + pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; - pentiumii | pentium2) + pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-*) + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumii-* | pentium2-*) + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown - ;; + ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown - ;; + ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown - ;; + ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown - ;; + ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; @@ -784,10 +834,26 @@ case $basic_machine in rtpc | rtpc-*) basic_machine=romp-ibm ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; sa29200) basic_machine=a29k-amd os=-udi ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; sequent) basic_machine=i386-sequent ;; @@ -795,7 +861,10 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; - sparclite-wrs) + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; @@ -862,19 +931,35 @@ case $basic_machine in os=-dynix ;; t3e) - basic_machine=t3e-cray + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; tower | tower-32) basic_machine=m68k-ncr ;; @@ -899,8 +984,8 @@ case $basic_machine in os=-vms ;; vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; + basic_machine=f301-fujitsu + ;; vxworks960) basic_machine=i960-wrs os=-vxworks @@ -921,17 +1006,13 @@ case $basic_machine in basic_machine=hppa1.1-winbond os=-proelf ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt - ;; - xmp) - basic_machine=xmp-cray - os=-unicos - ;; - xps | xps100) + xps | xps100) basic_machine=xps100-honeywell ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim @@ -952,13 +1033,6 @@ case $basic_machine in op60c) basic_machine=hppa1.1-oki ;; - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; romp) basic_machine=romp-ibm ;; @@ -978,13 +1052,16 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh3eb | sh4eb) + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; + sh64) + basic_machine=sh64-unknown + ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; - cydra) + cydra) basic_machine=cydra-cydrome ;; orion) @@ -999,10 +1076,6 @@ case $basic_machine in pmac | pmac-mpw) basic_machine=powerpc-apple ;; - c4x*) - basic_machine=c4x-none - os=-coff - ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; @@ -1058,17 +1131,19 @@ case $os in | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos*) + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1080,8 +1155,10 @@ case $os in ;; esac ;; + -nto-qnx*) + ;; -nto*) - os=-nto-qnx + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ @@ -1090,6 +1167,9 @@ case $os in -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1120,14 +1200,20 @@ case $os in -acis*) os=-aos ;; + -atheos*) + os=-atheos + ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; + -nova*) + os=-rtmk-nova + ;; -ns2 ) - os=-nextstep2 + os=-nextstep2 ;; -nsk*) os=-nsk @@ -1166,8 +1252,14 @@ case $os in -xenix) os=-xenix ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos ;; -none) ;; @@ -1200,10 +1292,14 @@ case $basic_machine in arm*-semi) os=-aout ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; - pdp11-*) + pdp11-*) os=-none ;; *-dec | vax-*) @@ -1230,6 +1326,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or32-*) + os=-coff + ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; @@ -1293,19 +1392,19 @@ case $basic_machine in *-next) os=-nextstep3 ;; - *-gould) + *-gould) os=-sysv ;; - *-highlevel) + *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; - *-sgi) + *-sgi) os=-irix ;; - *-siemens) + *-siemens) os=-sysv4 ;; *-masscomp) @@ -1377,7 +1476,7 @@ case $basic_machine in -ptx*) vendor=sequent ;; - -vxsim* | -vxworks*) + -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) diff --git a/configure b/configure index 21f04f60..8f434a46 100755 --- a/configure +++ b/configure @@ -1,23 +1,245 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.52. +# Generated by GNU Autoconf 2.57a. # -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## -# Find the correct PATH separator. Usually this is `:', but -# DJGPP uses `;' like DOS. -if test "X${PATH_SEPARATOR+set}" != Xset; then - UNAME=${UNAME-`uname 2>/dev/null`} - case X$UNAME in - *-DOS) lt_cv_sys_path_separator=';' ;; - *) lt_cv_sys_path_separator=':' ;; - esac - PATH_SEPARATOR=$lt_cv_sys_path_separator +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix fi +# Support unset when possible. +if (as_foo=foo; unset as_foo) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# 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 + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + + # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} @@ -35,7 +257,7 @@ if test "X$1" = X--no-reexec; then elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else @@ -47,7 +269,7 @@ if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && @@ -91,7 +314,7 @@ else break fi done - IFS="$save_ifs" + IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. @@ -163,81 +386,12 @@ if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi +tagnames=`echo "$tagnames,CXX" | sed 's/^,//'` -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } +tagnames=`echo "$tagnames,F77" | sed 's/^,//'` # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -250,9 +404,11 @@ exec 6>&1 # Initializations. # ac_default_prefix=/usr/local +ac_config_libobj_dir=. cross_compiling=no subdirs= -MFLAGS= MAKEFLAGS= +MFLAGS= +MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. @@ -260,7 +416,13 @@ SHELL=${CONFIG_SHELL-/bin/sh} # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} -ac_unique_file="lib/dialchk.c" +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + # Factoring default headers for most tests. ac_includes_default="\ #include @@ -298,6 +460,9 @@ ac_includes_default="\ # include #endif" +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS LIBCRYPT LIBCRACK LIBSKEY LIBMD LIBPAM MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS' +ac_subst_files='' + # Initialize some variables set by options. ac_init_help= ac_init_version=false @@ -325,23 +490,16 @@ x_libraries=NONE # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' -localstatedir='/var/lib' +localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/share/info' -mandir='${prefix}/share/man' - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= +infodir='${prefix}/info' +mandir='${prefix}/man' ac_prev= for ac_option @@ -475,7 +633,7 @@ do with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) + | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ @@ -654,30 +812,31 @@ do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir + localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. +# FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias -# FIXME: should be removed in autoconf 3.0. +# FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe @@ -693,13 +852,23 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null + # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. @@ -709,13 +878,16 @@ else fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else - { echo "$as_me: error: cannot find sources in $srcdir" >&2 + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias @@ -749,6 +921,26 @@ ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP +ac_env_CXX_set=${CXX+set} +ac_env_CXX_value=$CXX +ac_cv_env_CXX_set=${CXX+set} +ac_cv_env_CXX_value=$CXX +ac_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_env_CXXFLAGS_value=$CXXFLAGS +ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_cv_env_CXXFLAGS_value=$CXXFLAGS +ac_env_CXXCPP_set=${CXXCPP+set} +ac_env_CXXCPP_value=$CXXCPP +ac_cv_env_CXXCPP_set=${CXXCPP+set} +ac_cv_env_CXXCPP_value=$CXXCPP +ac_env_F77_set=${F77+set} +ac_env_F77_value=$F77 +ac_cv_env_F77_set=${F77+set} +ac_cv_env_F77_value=$F77 +ac_env_FFLAGS_set=${FFLAGS+set} +ac_env_FFLAGS_value=$FFLAGS +ac_cv_env_FFLAGS_set=${FFLAGS+set} +ac_cv_env_FFLAGS_value=$FFLAGS # # Report the --help message. @@ -756,7 +948,7 @@ ac_cv_env_CPP_value=$CPP if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. - cat < if you have headers in a nonstandard directory CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -EOF +_ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` - for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue - cd $ac_subdir - # A "../" for each directory in /$ac_subdir. - ac_dots=`echo $ac_subdir | - sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. - case $srcdir in - .) # No --srcdir option. We are building in place. - ac_sub_srcdir=$srcdir ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_sub_srcdir=$srcdir/$ac_subdir ;; - *) # Relative path. - ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; - esac +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_sub_srcdir/configure.gnu; then + if test -f $ac_srcdir/configure.gnu; then echo - $SHELL $ac_sub_srcdir/configure.gnu --help=recursive - elif test -f $ac_sub_srcdir/configure; then + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then echo - $SHELL $ac_sub_srcdir/configure --help=recursive - elif test -f $ac_sub_srcdir/configure.ac || - test -f $ac_sub_srcdir/configure.in; then + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then echo $ac_configure --help else - echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done @@ -905,33 +1131,32 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then - cat <<\EOF + cat <<\_ACEOF configure -generated by GNU Autoconf 2.52 +generated by GNU Autoconf 2.57a -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -EOF +_ACEOF exit 0 fi exec 5>config.log -cat >&5 <&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.52. Invocation command line was +generated by GNU Autoconf 2.57a. Invocation command line was $ $0 $@ -EOF +_ACEOF { cat <<_ASUNAME -## ---------- ## -## Platform. ## -## ---------- ## +## --------- ## +## Platform. ## +## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` @@ -950,79 +1175,156 @@ hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -PATH = $PATH - _ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + } >&5 -cat >&5 <&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF -EOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= +ac_configure_args0= +ac_configure_args1= ac_sep= -for ac_arg +ac_must_keep_next=false +for ac_pass in 1 2 do - case $ac_arg in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" - ac_sep=" " ;; - esac - # Get rid of the leading space. + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. - echo >&5 - echo "## ----------------- ##" >&5 - echo "## Cache variables. ##" >&5 - echo "## ----------------- ##" >&5 - echo >&5 - # The following way of writing the cache mishandles newlines in values, + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; -} >&5 - sed "/^$/d" confdefs.h >conftest.log - if test -s conftest.log; then - echo >&5 - echo "## ------------ ##" >&5 - echo "## confdefs.h. ##" >&5 - echo "## ------------ ##" >&5 - echo >&5 - cat conftest.log >&5 - fi - (echo; echo) >&5 - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" >&5 - echo "$as_me: exit $exit_status" >&5 - rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core core.* *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do @@ -1035,6 +1337,33 @@ rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then @@ -1046,9 +1375,9 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - { echo "$as_me:1049: loading site script $ac_site_file" >&5 + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} - cat "$ac_site_file" >&5 + sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done @@ -1057,7 +1386,7 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then - { echo "$as_me:1060: loading cache $cache_file" >&5 + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; @@ -1065,7 +1394,7 @@ echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { echo "$as_me:1068: creating cache $cache_file" >&5 + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1074,49 +1403,49 @@ fi # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:1084: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:1088: error: \`$ac_var' was not set in the previous run" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:1094: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:1096: former value: $ac_old_val" >&5 + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:1098: current value: $ac_new_val" >&5 + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + ac_cache_corrupted=: fi;; esac - # Pass precious variables to config.status. It doesn't matter if - # we pass some twice (in addition to the command line arguments). + # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" - ;; + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { echo "$as_me:1117: error: changes in the environment can compromise the build" >&5 + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:1119: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi @@ -1127,27 +1456,25 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac -echo "#! $SHELL" >conftest.sh -echo "exit 0" >>conftest.sh -chmod +x conftest.sh -if { (echo "$as_me:1139: PATH=\".;.\"; conftest.sh") >&5 - (PATH=".;."; conftest.sh) 2>&5 - ac_status=$? - echo "$as_me:1142: \$? = $ac_status" >&5 - (exit $ac_status); }; then - ac_path_separator=';' -else - ac_path_separator=: -fi -PATH_SEPARATOR="$ac_path_separator" -rm -f conftest.sh + + + + + + + + + + + + + + + + + +am__api_version="1.7" ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then @@ -1165,7 +1492,7 @@ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:1168: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi @@ -1184,44 +1511,51 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:1188: checking for a BSD compatible install" >&5 -echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_IFS=$IFS; IFS=$ac_path_separator - for ac_dir in $PATH; do - IFS=$ac_save_IFS - # Account for people who put trailing slashes in PATH elements. - case $ac_dir/ in - / | ./ | .// | /cC/* \ - | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ - | /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if $as_executable_p "$ac_dir/$ac_prog"; then + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && - grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 fi fi done - ;; - esac - done + done + ;; +esac +done + fi if test "${ac_cv_path_install+set}" = set; then @@ -1234,7 +1568,7 @@ fi INSTALL=$ac_install_sh fi fi -echo "$as_me:1237: result: $INSTALL" >&5 +echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -1245,7 +1579,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -echo "$as_me:1248: checking whether build environment is sane" >&5 +echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 @@ -1269,7 +1603,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { { echo "$as_me:1272: error: ls -t appears to fail. Make sure there is not a broken + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} @@ -1282,13 +1616,13 @@ then # Ok. : else - { { echo "$as_me:1285: error: newly created file is older than distributed files! + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:1291: result: yes" >&5 +echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" @@ -1303,8 +1637,9 @@ _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed + # expand $ac_aux_dir to an absolute path -am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` +am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL @@ -1312,16 +1647,15 @@ if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= - am_backtick='`' - { echo "$as_me:1316: WARNING: ${am_backtick}missing' script is too old or missing" >&5 -echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;} + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi -for ac_prog in awk mawk gawk nawk +for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:1324: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1329,41 +1663,44 @@ else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AWK="$ac_prog" -echo "$as_me:1339: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - echo "$as_me:1347: result: $AWK" >&5 + echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else - echo "$as_me:1350: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done -echo "$as_me:1357: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.make <<\EOF + cat >conftest.make <<\_ACEOF all: - @echo 'ac_maketemp="${MAKE}"' -EOF + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then @@ -1374,147 +1711,251 @@ fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:1377: result: yes" >&5 + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else - echo "$as_me:1381: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval="$enable_dependency_tracking" - -fi; -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. else - AMDEP_TRUE='#' - AMDEP_FALSE= + am__leading_dot=_ fi +rmdir .tst 2>/dev/null -rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null - -# test to see if srcdir already configured -if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && + # test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - { { echo "$as_me:1417: error: source directory already configured; run \"make distclean\" there first" >&5 + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + # Define the identity of the package. -PACKAGE=shadow -VERSION=4.0.3 + PACKAGE=shadow + VERSION=4.0.4 -cat >>confdefs.h <>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" -EOF +_ACEOF -cat >>confdefs.h <>confdefs.h <<_ACEOF #define VERSION "$VERSION" -EOF - -# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow -# the ones we care about. - -# Autoconf 2.50 always computes EXEEXT. However we need to be -# compatible with 2.13, for now. So we always define EXEEXT, but we -# don't compute it. - -# Similar for OBJEXT -- only we only use OBJEXT if the user actually -# requests that it be used. This is a bit dumb. -: ${OBJEXT=o} +_ACEOF # Some tools Automake needs. -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal"} +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake"} + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + AMTAR=${AMTAR-"${am_missing_run}tar"} install_sh=${install_sh-"$am_aux_dir/install-sh"} +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. - ac_config_headers="$ac_config_headers config.h" + + + ac_config_headers="$ac_config_headers config.h" + test "$prefix" = "NONE" && prefix="/usr" test "$prefix" = "/usr" && exec_prefix="" -test "$CFLAGS" = "" && CFLAGS="-O2 -Wall" -test "$LDFLAGS" = "" && LDFLAGS="-s" # Check whether --enable-shared or --disable-shared was given. if test "${enable_shared+set}" = set; then enableval="$enable_shared" p=${PACKAGE-default} -case $enableval in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else enable_shared=no fi; + + # Check whether --enable-static or --disable-static was given. if test "${enable_static+set}" = set; then enableval="$enable_static" p=${PACKAGE-default} -case $enableval in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else enable_static=yes fi; + +echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 + # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval="$enable_maintainer_mode" + USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi; + echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -1523,7 +1964,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1526: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1531,25 +1972,28 @@ else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1541: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1549: result: $CC" >&5 + echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1552: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1558,7 +2002,7 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:1561: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1566,25 +2010,28 @@ else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1576: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1584: result: $ac_ct_CC" >&5 + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1587: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1597,7 +2044,7 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1600: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1605,25 +2052,28 @@ else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1615: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1623: result: $CC" >&5 + echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1626: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1632,7 +2082,7 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:1635: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1640,25 +2090,28 @@ else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1650: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1658: result: $ac_ct_CC" >&5 + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1661: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1671,7 +2124,7 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:1674: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1680,19 +2133,22 @@ else ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue -fi -ac_cv_prog_CC="cc" -echo "$as_me:1694: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done if test $ac_prog_rejected = yes; then @@ -1704,19 +2160,17 @@ if test $ac_prog_rejected = yes; then # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - set dummy "$ac_dir/$ac_word" ${1+"$@"} - shift - ac_cv_prog_CC="$@" + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1716: result: $CC" >&5 + echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1719: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1727,7 +2181,7 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:1730: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1735,25 +2189,28 @@ else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1745: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1753: result: $CC" >&5 + echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1756: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1766,7 +2223,7 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:1769: checking for $ac_word" >&5 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1774,25 +2231,28 @@ else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1784: found $ac_dir/$ac_word" >&5 -break +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1792: result: $ac_ct_CC" >&5 + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1795: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1804,33 +2264,39 @@ fi fi -test -z "$CC" && { { echo "$as_me:1807: error: no acceptable cc found in \$PATH" >&5 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. -echo "$as_me:1812:" \ +echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:1815: \"$ac_compiler --version &5\"") >&5 +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? - echo "$as_me:1818: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:1820: \"$ac_compiler -v &5\"") >&5 +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? - echo "$as_me:1823: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:1825: \"$ac_compiler -V &5\"") >&5 +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? - echo "$as_me:1828: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line 1832 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -1841,127 +2307,152 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" +ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:1848: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:1851: \"$ac_link_default\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? - echo "$as_me:1854: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. -for ac_file in `ls a.exe conftest.exe 2>/dev/null; - ls a.out conftest 2>/dev/null; - ls a.* conftest.* 2>/dev/null`; do + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; esac done else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1877: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:1883: result: $ac_file" >&5 +echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:1888: checking whether the C compiler works" >&5 +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' - { (eval echo "$as_me:1894: \"$ac_try\"") >&5 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1897: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:1904: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi -echo "$as_me:1912: result: yes" >&5 +echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 -rm -f a.out a.exe conftest$ac_cv_exeext +rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:1919: checking whether we are cross compiling" >&5 +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1921: result: $cross_compiling" >&5 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 -echo "$as_me:1924: checking for executable suffix" >&5 -echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1926: \"$ac_link\"") >&5 +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:1929: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; + export ac_cv_exeext + break;; * ) break;; esac done else - { { echo "$as_me:1945: error: cannot compute EXEEXT: cannot compile and link" >&5 -echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext -echo "$as_me:1951: result: $ac_cv_exeext" >&5 +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:1957: checking for object suffix" >&5 -echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 1963 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -1972,40 +2463,46 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:1975: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1978: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1990: error: cannot compute OBJEXT: cannot compile" >&5 -echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:1997: result: $ac_cv_objext" >&5 +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:2001: checking whether we are using the GNU C compiler" >&5 +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 2007 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -2019,41 +2516,45 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2022: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2025: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2028: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2031: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:2043: result: $ac_cv_c_compiler_gnu" >&5 +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" -echo "$as_me:2049: checking whether $CC accepts -g" >&5 +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 2055 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -2064,26 +2565,27 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2067: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2070: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2073: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2076: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:2086: result: $ac_cv_prog_cc_g" >&5 +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -2100,5333 +2602,7 @@ else CFLAGS= fi fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2113: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2116: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2119: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2122: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line 2134 "configure" -#include "confdefs.h" -#include -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2147: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2150: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2153: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2156: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 2166 "configure" -#include "confdefs.h" -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2178: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2181: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2184: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2187: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_config_commands="$ac_config_commands default-1" - -am_make=${MAKE-make} -cat > confinc << 'END' -doit: - @echo done -END -# If we don't find an include directive, just comment out the code. -echo "$as_me:2222: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -am__include='#' -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote='"' - _am_result=BSD - fi -fi - -echo "$as_me:2249: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6 -rm -f confinc confmf - -depcc="$CC" am_compiler_list= - -echo "$as_me:2255: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -echo "$as_me:2317: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" - - echo "$as_me:2321: checking for strerror in -lcposix" >&5 -echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 -if test "${ac_cv_lib_cposix_strerror+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcposix $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 2329 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char strerror (); -int -main () -{ -strerror (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:2348: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2351: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:2354: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2357: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_cposix_strerror=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_cposix_strerror=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:2368: result: $ac_cv_lib_cposix_strerror" >&5 -echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 -if test $ac_cv_lib_cposix_strerror = yes; then - LIBS="$LIBS -lcposix" -fi - -echo "$as_me:2374: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - echo "$as_me:2378: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:2381: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 -fi - -for ac_prog in 'bison -y' byacc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2389: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_YACC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_YACC="$ac_prog" -echo "$as_me:2404: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - echo "$as_me:2412: result: $YACC" >&5 -echo "${ECHO_T}$YACC" >&6 -else - echo "$as_me:2415: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - -echo "$as_me:2423: checking for ${CC-cc} option to accept ANSI C" >&5 -echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 -if test "${am_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - am_cv_prog_cc_stdc=no -ac_save_CC="$CC" -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - cat >conftest.$ac_ext <<_ACEOF -#line 2441 "configure" -#include "confdefs.h" -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; - -int -main () -{ - -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2483: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2486: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2489: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2492: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - am_cv_prog_cc_stdc="$ac_arg"; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -CC="$ac_save_CC" - -fi - -if test -z "$am_cv_prog_cc_stdc"; then - echo "$as_me:2506: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 -else - echo "$as_me:2509: result: $am_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6 -fi -case "x$am_cv_prog_cc_stdc" in - x|xno) ;; - *) CC="$CC $am_cv_prog_cc_stdc" ;; -esac - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:2522: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2543 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:2548: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2554: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2577 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:2581: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2587: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:2624: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2634 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:2639: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2645: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2668 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:2672: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2678: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:2706: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -echo "$as_me:2717: checking for function prototypes" >&5 -echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6 -if test "$am_cv_prog_cc_stdc" != no; then - echo "$as_me:2720: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -cat >>confdefs.h <<\EOF -#define PROTOTYPES 1 -EOF - - U= ANSI2KNR= -else - echo "$as_me:2729: result: no" >&5 -echo "${ECHO_T}no" >&6 - U=_ ANSI2KNR=./ansi2knr -fi -# Ensure some checks needed by ansi2knr itself. -echo "$as_me:2734: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2740 "configure" -#include "confdefs.h" -#include -#include -#include -#include - -_ACEOF -if { (eval echo "$as_me:2748: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2754: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 2776 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 2794 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line 2815 "configure" -#include "confdefs.h" -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:2841: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2844: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:2846: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2849: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_stdc=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:2862: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -for ac_header in string.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:2875: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2881 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:2885: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2891: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:2910: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h </dev/null 2>&1 || - { { echo "$as_me:2944: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:2948: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:2957: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:2961: error: $ac_config_sub $ac_cv_build_alias failed." >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:2966: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:2973: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:2982: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:2987: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Find the correct PATH separator. Usually this is `:', but -# DJGPP uses `;' like DOS. -if test "X${PATH_SEPARATOR+set}" != Xset; then - UNAME=${UNAME-`uname 2>/dev/null`} - case X$UNAME in - *-DOS) lt_cv_sys_path_separator=';' ;; - *) lt_cv_sys_path_separator=':' ;; - esac - PATH_SEPARATOR=$lt_cv_sys_path_separator -fi - -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi; -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:3015: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 - 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 - echo "$as_me:3045: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 -else - echo "$as_me:3048: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_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 - lt_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. - if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$lt_cv_path_LD" -if test -n "$LD"; then - echo "$as_me:3078: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:3081: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -test -z "$LD" && { { echo "$as_me:3084: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:3087: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - lt_cv_prog_gnu_ld=yes -else - lt_cv_prog_gnu_ld=no -fi -fi -echo "$as_me:3099: result: $lt_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 -with_gnu_ld=$lt_cv_prog_gnu_ld - -echo "$as_me:3103: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' -fi -echo "$as_me:3110: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 -reload_flag=$lt_cv_ld_reload_flag -test -n "$reload_flag" && reload_flag=" $reload_flag" - -echo "$as_me:3115: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/${ac_tool_prefix}nm - if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then - lt_cv_path_NM="$tmp_nm -B" - break - elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - lt_cv_path_NM="$tmp_nm -p" - break - else - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi -fi - -NM="$lt_cv_path_NM" -echo "$as_me:3151: result: $NM" >&5 -echo "${ECHO_T}$NM" >&6 - -echo "$as_me:3154: checking how to recognise dependant libraries" >&5 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6 -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given egrep regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi4*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin* | mingw* | pw32*) - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.[012]) - lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' - ;; - esac - ;; - -freebsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20*|hpux11*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - -irix5* | irix6*) - case $host_os in - irix5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" - ;; - *) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" - ;; - esac - lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux-gnu*) - case $host_cpu in - alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; - esac - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -openbsd*) - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' - else - lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' - fi - ;; - -osf3* | osf4* | osf5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' - lt_cv_file_magic_test_file=/shlib/libc.so - lt_cv_deplibs_check_method=pass_all - ;; - -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - lt_cv_file_magic_test_file=/lib/libc.so - ;; - -sysv5uw[78]* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - esac - ;; -esac - -fi -echo "$as_me:3332: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method - -# Check for command to grab the raw symbol name followed by C symbol from nm. -echo "$as_me:3338: checking command to parse $NM output" >&5 -echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6 -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -irix*) - symcode='[BCDEGRST]' - ;; -solaris* | sysv5*) - symcode='[BDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $host_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[ABCDGISTW]' -fi - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. -lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - rm -f conftest* - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3422: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:3426: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:3429: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{ -EOF - sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo "$as_me:3481: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:3484: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest; then - pipe_works=yes - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" -if test -z "$lt_cv_sys_global_symbol_pipe"; then - global_symbol_to_cdecl= - global_symbol_to_c_name_address= -else - global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" - global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" -fi -if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; -then - echo "$as_me:3525: result: failed" >&5 -echo "${ECHO_T}failed" >&6 -else - echo "$as_me:3528: result: ok" >&5 -echo "${ECHO_T}ok" >&6 -fi - -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3535: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3541 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3545: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3551: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:3570: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="/usr/bin:$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:3639: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 -else - echo "$as_me:3642: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - echo "$as_me:3648: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="/usr/bin:$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:3703: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 -else - echo "$as_me:3706: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:3722: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -echo "$as_me:3737: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:3745: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:3748: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:3757: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_RANLIB="ranlib" -echo "$as_me:3772: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:3781: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:3784: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -echo "$as_me:3796: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_STRIP="${ac_tool_prefix}strip" -echo "$as_me:3811: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:3819: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:3822: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -echo "$as_me:3831: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_STRIP="strip" -echo "$as_me:3846: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:3855: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:3858: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - -enable_dlopen=no -enable_win32_dll=no - -# Check whether --enable-libtool-lock or --disable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval="$enable_libtool_lock" - -fi; -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 3882 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:3883: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3886: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - echo "$as_me:3907: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -#line 3920 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:3932: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:3935: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:3938: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3941: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_cc_needs_belf=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -lt_cv_cc_needs_belf=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -echo "$as_me:3957: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - -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//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" -need_locks="$enable_libtool_lock" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -if test x"$host" != x"$build"; then - ac_tool_prefix=${host_alias}- -else - ac_tool_prefix= -fi - -# Transform linux* to *-*-linux-gnu*, to support old configure scripts. -case $host_os in -linux-gnu*) ;; -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" - ;; - *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -# Allow CC to be a program name with arguments. -set dummy $CC -compiler="$2" - -echo "$as_me:4057: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6 -rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - objdir=_libs -fi -rmdir .libs 2>/dev/null -echo "$as_me:4068: result: $objdir" >&5 -echo "${ECHO_T}$objdir" >&6 - -# Check whether --with-pic or --without-pic was given. -if test "${with_pic+set}" = set; then - withval="$with_pic" - pic_mode="$withval" -else - pic_mode=default -fi; -test -z "$pic_mode" && pic_mode=default - -# We assume here that the value for lt_cv_prog_cc_pic will not be cached -# in isolation, and that seeing it set (from the cache) indicates that -# the associated values are set (in the cache) correctly too. -echo "$as_me:4083: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 -if test "${lt_cv_prog_cc_pic+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_cc_pic= - lt_cv_prog_cc_shlib= - lt_cv_prog_cc_wl= - lt_cv_prog_cc_static= - lt_cv_prog_cc_no_builtin= - lt_cv_prog_cc_can_build_shared=$can_build_shared - - if test "$GCC" = yes; then - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-static' - - case $host_os in - aix*) - # Below there is a dirty hack to force normal static linking with -ldl - # The problem is because libdl dynamically linked with both libc and - # libC (AIX C++ library), which obviously doesn't included in libraries - # list by gcc. This cause undefined symbols with -static flags. - # This hack allows C programs to be linked with "-static -ldl", but - # not sure about C++ programs. - lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_cv_prog_cc_pic='-fno-common' - ;; - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_cv_prog_cc_pic=-Kconform_pic - fi - ;; - *) - lt_cv_prog_cc_pic='-fPIC' - ;; - esac - else - # PORTME Check for PIC flags for the system compiler. - case $host_os in - aix3* | aix4* | aix5*) - lt_cv_prog_cc_wl='-Wl,' - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_cv_prog_cc_static='-Bstatic' - else - lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - hpux9* | hpux10* | hpux11*) - # Is there a better lt_cv_prog_cc_static that works with the bundled CC? - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" - lt_cv_prog_cc_pic='+Z' - ;; - - irix5* | irix6*) - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - # PIC (with -KPIC) is the default. - ;; - - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - - newsos6) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - ;; - - osf3* | osf4* | osf5*) - # All OSF/1 code is PIC. - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - ;; - - sco3.2v5*) - lt_cv_prog_cc_pic='-Kpic' - lt_cv_prog_cc_static='-dn' - lt_cv_prog_cc_shlib='-belf' - ;; - - solaris*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Wl,' - ;; - - sunos4*) - lt_cv_prog_cc_pic='-PIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Qoption ld ' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - if test "x$host_vendor" = xsni; then - lt_cv_prog_cc_wl='-LD' - else - lt_cv_prog_cc_wl='-Wl,' - fi - ;; - - uts4*) - lt_cv_prog_cc_pic='-pic' - lt_cv_prog_cc_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_cv_prog_cc_pic='-Kconform_pic' - lt_cv_prog_cc_static='-Bstatic' - fi - ;; - - *) - lt_cv_prog_cc_can_build_shared=no - ;; - esac - fi - -fi - -if test -z "$lt_cv_prog_cc_pic"; then - echo "$as_me:4230: result: none" >&5 -echo "${ECHO_T}none" >&6 -else - echo "$as_me:4233: result: $lt_cv_prog_cc_pic" >&5 -echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6 - - # Check to make sure the pic_flag actually works. - echo "$as_me:4237: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6 - if test "${lt_cv_prog_cc_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" - cat >conftest.$ac_ext <<_ACEOF -#line 4245 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4257: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4260: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4263: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4266: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - case $host_os in - hpux9* | hpux10* | hpux11*) - # On HP-UX, both CC and GCC only warn that PIC is supported... then - # they create non-PIC objects. So, if there were any warnings, we - # assume that PIC is not supported. - if test -s conftest.err; then - lt_cv_prog_cc_pic_works=no - else - lt_cv_prog_cc_pic_works=yes - fi - ;; - *) - lt_cv_prog_cc_pic_works=yes - ;; - esac - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - lt_cv_prog_cc_pic_works=no - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CFLAGS="$save_CFLAGS" - -fi - - if test "X$lt_cv_prog_cc_pic_works" = Xno; then - lt_cv_prog_cc_pic= - lt_cv_prog_cc_can_build_shared=no - else - lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" - fi - - echo "$as_me:4302: result: $lt_cv_prog_cc_pic_works" >&5 -echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6 -fi - -# Check for any special shared library compilation flags. -if test -n "$lt_cv_prog_cc_shlib"; then - { echo "$as_me:4308: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5 -echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;} - if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$lt_cv_prog_cc_shlib[ ]" >/dev/null; then : - else - { echo "$as_me:4312: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 -echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} - lt_cv_prog_cc_can_build_shared=no - fi -fi - -echo "$as_me:4318: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6 -if test "${lt_cv_prog_cc_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_cc_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" - cat >conftest.$ac_ext <<_ACEOF -#line 4327 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4339: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4342: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4345: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4348: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_prog_cc_static_works=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi - -# Belt *and* braces to stop my trousers falling down: -test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= -echo "$as_me:4362: result: $lt_cv_prog_cc_static_works" >&5 -echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6 - -pic_flag="$lt_cv_prog_cc_pic" -special_shlib_compile_flags="$lt_cv_prog_cc_shlib" -wl="$lt_cv_prog_cc_wl" -link_static_flag="$lt_cv_prog_cc_static" -no_builtin_flag="$lt_cv_prog_cc_no_builtin" -can_build_shared="$lt_cv_prog_cc_can_build_shared" - -# Check to see if options -o and -c are simultaneously supported by compiler -echo "$as_me:4373: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 -if test "${lt_cv_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -$rm -r conftest 2>/dev/null -mkdir conftest -cd conftest -echo "int some_variable = 0;" > conftest.$ac_ext -mkdir out -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers -# that will create temporary files in the current directory regardless of -# the output directory. Thus, making CWD read-only will cause this test -# to fail, enabling locking or at least warning the user not to do parallel -# builds. -chmod -w . -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" -compiler_c_o=no -if { (eval echo configure:4393: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && 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 - lt_cv_compiler_c_o=no - else - lt_cv_compiler_c_o=yes - fi -else - # Append any errors to the config.log. - cat out/conftest.err 1>&5 - lt_cv_compiler_c_o=no -fi -CFLAGS="$save_CFLAGS" -chmod u+w . -$rm conftest* out/* -rmdir out -cd .. -rmdir conftest -$rm -r conftest 2>/dev/null - -fi - -compiler_c_o=$lt_cv_compiler_c_o -echo "$as_me:4417: result: $compiler_c_o" >&5 -echo "${ECHO_T}$compiler_c_o" >&6 - -if test x"$compiler_c_o" = x"yes"; then - # Check to see if we can write to a .lo - echo "$as_me:4422: checking if $compiler supports -c -o file.lo" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6 - if test "${lt_cv_compiler_o_lo+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - lt_cv_compiler_o_lo=no - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -c -o conftest.lo" - save_objext="$ac_objext" - ac_objext=lo - cat >conftest.$ac_ext <<_ACEOF -#line 4434 "configure" -#include "confdefs.h" - -int -main () -{ -int some_variable = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4446: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4449: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4452: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4455: \$? = $ac_status" >&5 - (exit $ac_status); }; }; 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 - lt_cv_compiler_o_lo=no - else - lt_cv_compiler_o_lo=yes - fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - ac_objext="$save_objext" - CFLAGS="$save_CFLAGS" - -fi - - compiler_o_lo=$lt_cv_compiler_o_lo - echo "$as_me:4476: result: $compiler_o_lo" >&5 -echo "${ECHO_T}$compiler_o_lo" >&6 -else - compiler_o_lo=no -fi - -# Check to see if we can do hard links to lock some files if needed -hard_links="nottested" -if test "$compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo "$as_me:4486: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:4494: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6 - if test "$hard_links" = no; then - { echo "$as_me:4497: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -if test "$GCC" = yes; then - # Check to see if options -fno-rtti -fno-exceptions are supported by compiler - echo "$as_me:4507: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 - echo "int some_variable = 0;" > conftest.$ac_ext - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" - compiler_rtti_exceptions=no - cat >conftest.$ac_ext <<_ACEOF -#line 4514 "configure" -#include "confdefs.h" - -int -main () -{ -int some_variable = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4526: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4529: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4532: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4535: \$? = $ac_status" >&5 - (exit $ac_status); }; }; 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 - compiler_rtti_exceptions=no - else - compiler_rtti_exceptions=yes - fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CFLAGS="$save_CFLAGS" - echo "$as_me:4551: result: $compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$compiler_rtti_exceptions" >&6 - - if test "$compiler_rtti_exceptions" = "yes"; then - no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' - else - no_builtin_flag=' -fno-builtin' - fi -fi - -# See if the linker supports building shared libraries. -echo "$as_me:4562: checking whether the linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6 - -allow_undefined_flag= -no_undefined_flag= -need_lib_prefix=unknown -need_version=unknown -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -archive_cmds= -archive_expsym_cmds= -old_archive_from_new_cmds= -old_archive_from_expsyms_cmds= -export_dynamic_flag_spec= -whole_archive_flag_spec= -thread_safe_flag_spec= -hardcode_into_libs=no -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no -hardcode_shlibpath_var=unsupported -runpath_var= -link_all_deplibs=unknown -always_export_symbols=no -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' -# include_expsyms should be a list of space-separated symbols to be *always* -# included in the symbol list -include_expsyms= -# exclude_expsyms can be an egrep regular expression of symbols to exclude -# it will be wrapped by ` (' and `)$', so one must not match beginning or -# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', -# as well as any symbol that contains `d'. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out -# platforms (ab)use it in PIC code, but their linkers get confused if -# the symbol is explicitly referenced. Since portable code cannot -# rely on this symbol name, it's probably fine to never include it in -# preloaded symbol tables. -extract_expsyms_cmds= - -case $host_os in -cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; -openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX, the GNU linker is very broken - # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II reports - # 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 - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=yes - - extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ - sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ - test -f $output_objdir/impgen.exe || (cd $output_objdir && \ - if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ - else $CC -o impgen impgen.c ; fi)~ - $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' - - old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' - - # cygwin and mingw dlls have different entry points and sets of symbols - # to exclude. - # FIXME: what about values for MSVC? - dll_entry=__cygwin_dll_entry@12 - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ - case $host_os in - mingw*) - # mingw values - dll_entry=_DllMainCRTStartup@12 - dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ - ;; - esac - - # mingw and cygwin differ, and it's simplest to just exclude the union - # of the two symbol sets. - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one (in ltdll.c) - if test "x$lt_cv_need_dllmain" = "xyes"; then - ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " - ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ - test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' - else - ltdll_obj= - ltdll_cmds= - fi - - # Extract the symbol export list from an `--export-all' def file, - # then regenerate the def file from the symbol export list, so that - # the compiled dll only exports the symbol export list. - # Be careful not to strip the DATA tag left be newer dlltools. - export_symbols_cmds="$ltdll_cmds"' - $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ - sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' - - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is. - # If DATA tags from a recent dlltool are present, honour them! - archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname-def; - else - echo EXPORTS > $output_objdir/$soname-def; - _lt_hint=1; - cat $export_symbols | while read symbol; do - set dummy \$symbol; - case \$# in - 2) echo " \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; - *) echo " \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;; - esac; - _lt_hint=`expr 1 + \$_lt_hint`; - done; - fi~ - '"$ltdll_cmds"' - $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ - $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ - $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - 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' - case $host_os in - cygwin* | mingw* | pw32*) - # dlltool doesn't understand --whole-archive et. al. - whole_archive_flag_spec= - ;; - *) - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - ;; - esac - fi -else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - hardcode_direct=yes - archive_cmds='' - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - esac - - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - shared_flag='${wl}-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall can do strange things, so it is better to - # generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='${wl}-berok' - # This is a bit strange, but is similar to how AIX traditionally builds - # it's shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[012]) - allow_undefined_flag='-undefined suppress' - ;; - *) # Darwin 1.3 on - allow_undefined_flag='-flat_namespace -undefined suppress' - ;; - esac - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' - # We need to add '_' to the symbols in $export_symbols first - #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' - hardcode_direct=yes - hardcode_shlibpath_var=no - whole_archive_flag_spec='-all_load $convenience' - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9* | hpux10* | hpux11*) - case $host_os in - hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; - *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; - esac - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_minus_L=yes # Not in the search PATH, but as the default - # location of the library. - export_dynamic_flag_spec='${wl}-E' - ;; - - irix5* | irix6*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $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='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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 - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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='${wl}-rpath ${wl}$libdir' - else - 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 "-exported_symbol " >> $lib.exp; echo "\$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' - - #Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - export_dynamic_flag_spec='${wl}-Bexport' - ;; - - solaris*) - # gcc --version < 3.0 without binutils cannot create self contained - # shared libraries reliably, requiring libgcc.a to resolve some of - # the object symbols generated in some cases. Libraries that use - # assert need libgcc.a to resolve __eprintf, for example. Linking - # a copy of libgcc.a into every shared library to guarantee resolving - # such symbols causes other problems: According to Tim Van Holder - # , C++ libraries end up with a separate - # (to the application) exception stack for one thing. - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - case `$CC --version 2>/dev/null` in - [12].*) - cat <&2 - -*** Warning: Releases of GCC earlier than version 3.0 cannot reliably -*** create self contained shared libraries on Solaris systems, without -*** introducing a dependency on libgcc.a. Therefore, libtool is disabling -*** -no-undefined support, which will at least allow you to build shared -*** libraries. However, you may find that when you link such libraries -*** into an application without using GCC, you have to manually add -*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to -*** upgrade to a newer version of GCC. Another option is to rebuild your -*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. - -EOF - no_undefined_flag= - ;; - esac - fi - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - 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' - hardcode_libdir_flag_spec='-R$libdir' - 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='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - if test "x$host_vendor" = xsno; then - archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - else - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv5*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - 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' - hardcode_libdir_flag_spec= - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=no - hardcode_shlibpath_var=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5uw7* | unixware7*) - no_undefined_flag='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac -fi -echo "$as_me:5242: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6 -test "$ld_shlibs" = no && can_build_shared=no - -# Check hardcoding attributes. -echo "$as_me:5247: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$hardcode_shlibpath_var" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -echo "$as_me:5271: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6 - -striplib= -old_striplib= -echo "$as_me:5276: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:5281: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:5284: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -reload_cmds='$LD$reload_flag -o $output$reload_objs' -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -# PORTME Fill in your ld.so characteristics -echo "$as_me:5292: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 -library_names_spec= -libname_spec='lib$name' -soname_spec= -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so$major' - ;; - -aix4* | aix5*) - version_type=linux - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can - # not hardcode correct soname into executable. Probably we can - # add versioning support to collect2, so additional links can - # be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}.so$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}.so' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi4*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - export_dynamic_flag_spec=-rdynamic - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - need_version=no - need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin*) - library_names_spec='$libname.dll.a' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' - postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog .libs/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - ;; - yes,mingw*) - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` - ;; - yes,pw32*) - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll' - ;; - *) - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' - soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - *) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - dynamic_linker="$host_os dld.sl" - version_type=sunos - need_lib_prefix=no - need_version=no - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' - soname_spec='${libname}${release}.sl$major' - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6*) - version_type=irix - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' - case $host_os in - irix5*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux-gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' - soname_spec='${libname}${release}.so$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case "$host_os" in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -os2*) - libname_spec='$name' - need_lib_prefix=no - library_names_spec='$libname.dll $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_version=no - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.so.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$as_me:5685: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no - -# Report the final consequences. -echo "$as_me:5690: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 -echo "$as_me:5692: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6 - -echo "$as_me:5695: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -echo "$as_me:5716: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6 - -echo "$as_me:5719: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -echo "$as_me:5723: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6 - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - cygwin* | mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - *) - echo "$as_me:5761: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 5767 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -f = shl_load; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5798: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5801: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5804: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5807: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_shl_load=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:5817: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6 -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - echo "$as_me:5822: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 5830 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -int -main () -{ -shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5849: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5852: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5855: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5858: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dld_shl_load=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:5869: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - echo "$as_me:5874: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 5880 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -f = dlopen; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5911: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5914: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5917: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5920: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:5930: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6 -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - echo "$as_me:5935: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 5943 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5962: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5965: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5968: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5971: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:5982: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - echo "$as_me:5987: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 5995 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6014: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6017: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6020: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6023: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_svld_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6034: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - echo "$as_me:6039: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 6047 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dld_link (); -int -main () -{ -dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6066: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6069: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6072: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6075: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dld_dld_link=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6086: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - -fi - -fi - -fi - -fi - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - echo "$as_me:6122: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:6194: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6197: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - -fi -echo "$as_me:6214: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6 - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:6219: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:6291: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6294: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - -fi -echo "$as_me:6311: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - -if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:6341: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - if test "${lt_cv_archive_cmds_need_lc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - $rm conftest* - echo 'static int dummy;' > conftest.$ac_ext - - if { (eval echo "$as_me:6349: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6352: \$? = $ac_status" >&5 - (exit $ac_status); }; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_cv_prog_cc_wl - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:6366: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:6369: \$? = $ac_status" >&5 - (exit $ac_status); } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi -fi - - echo "$as_me:6382: result: $lt_cv_archive_cmds_need_lc" >&5 -echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6 - ;; - esac -fi -need_lc=${lt_cv_archive_cmds_need_lc-yes} - -# The second clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - : -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - test -f Makefile && make "$ltmain" -fi - -if test -f "$ltmain"; then - trap "$rm \"${ofile}T\"; exit 1" 1 2 15 - $rm -f "${ofile}T" - - echo creating $ofile - - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS \ - AR AR_FLAGS CC LD LN_S NM SHELL \ - reload_flag reload_cmds wl \ - pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ - thread_safe_flag_spec whole_archive_flag_spec libname_spec \ - library_names_spec soname_spec \ - RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ - postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ - old_striplib striplib file_magic_cmd export_symbols_cmds \ - deplibs_check_method allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ - global_symbol_to_c_name_address \ - hardcode_libdir_flag_spec hardcode_libdir_separator \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do - - case $var in - reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ - extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - cat <<__EOF__ > "${ofile}T" -#! $SHELL - -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996-2000 Free Software Foundation, Inc. -# 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. - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="sed -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$need_lc - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# The default C compiler. -CC=$lt_CC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_pic_flag -pic_mode=$pic_mode - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_compiler_c_o - -# Can we write directly to a .lo ? -compiler_o_lo=$lt_compiler_o_lo - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_link_static_flag - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - case $host_os in - aix3*) - cat <<\EOF >> "${ofile}T" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - case $host_os in - cygwin* | mingw* | pw32* | os2*) - cat <<'EOF' >> "${ofile}T" - # This is a source program that is used to create dlls on Windows - # Don't remove nor modify the starting and closing comments -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ - # This is a source program that is used to create import libraries - # on Windows for dlls which lack them. Don't remove nor modify the - # starting and closing comments -# /* impgen.c starts here */ -# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. -# -# This file is part of GNU libtool. -# -# 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. -# */ -# -# #include /* for printf() */ -# #include /* for open(), lseek(), read() */ -# #include /* for O_RDONLY, O_BINARY */ -# #include /* for strdup() */ -# -# /* O_BINARY isn't required (or even defined sometimes) under Unix */ -# #ifndef O_BINARY -# #define O_BINARY 0 -# #endif -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[2]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# return b[0] + (b[1]<<8); -# } -# -# static unsigned int -# pe_get32 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[4]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# int -# main (argc, argv) -# int argc; -# char *argv[]; -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# filename = argv[1]; -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (dll < 1) -# return 1; -# -# dll_name = filename; -# -# for (i=0; filename[i]; i++) -# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# char sname[8]; -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i> "${ofile}T" || (rm -f "${ofile}T"; exit 1) - - mv -f "${ofile}T" "$ofile" || \ - (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") - chmod +x "$ofile" -fi - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:6950: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6956 "configure" -#include "confdefs.h" -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6971: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6974: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6977: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6980: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:6990: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 -if test "${ac_cv_lib_dir_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldir $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7011 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7030: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7033: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7036: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7039: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dir_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dir_opendir=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7050: result: $ac_cv_lib_dir_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 -if test $ac_cv_lib_dir_opendir = yes; then - LIBS="$LIBS -ldir" -fi - -else - echo "$as_me:7057: checking for opendir in -lx" >&5 -echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 -if test "${ac_cv_lib_x_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lx $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7065 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7084: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7087: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7090: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7093: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_x_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_x_opendir=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7104: result: $ac_cv_lib_x_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 -if test $ac_cv_lib_x_opendir = yes; then - LIBS="$LIBS -lx" -fi - -fi - -echo "$as_me:7112: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7118 "configure" -#include "confdefs.h" -#include -#include -#include -#include - -_ACEOF -if { (eval echo "$as_me:7126: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:7132: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 7154 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 7172 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line 7193 "configure" -#include "confdefs.h" -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:7219: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7222: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:7224: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7227: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_stdc=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:7240: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo "$as_me:7250: checking for sys/wait.h that is POSIX.1 compatible" >&5 -echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 -if test "${ac_cv_header_sys_wait_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7256 "configure" -#include "confdefs.h" -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7278: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7281: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7284: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7287: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_sys_wait_h=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_sys_wait_h=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:7297: result: $ac_cv_header_sys_wait_h" >&5 -echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 -if test $ac_cv_header_sys_wait_h = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_SYS_WAIT_H 1 -EOF - -fi - -for ac_header in errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h utmpx.h \ - termios.h termio.h sgtty.h sys/ioctl.h syslog.h paths.h \ - utime.h ulimit.h sys/resource.h gshadow.h shadow.h lastlog.h \ - rpc/key_prot.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:7313: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7319 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:7323: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:7329: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:7348: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7369 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7400: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7403: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7406: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7409: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:7419: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7434,8 +2610,11 @@ else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line 7437 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include @@ -7483,22 +2662,23 @@ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIO do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext -if { (eval echo "$as_me:7486: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7489: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7492: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7495: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi rm -f conftest.$ac_objext done @@ -7509,22 +2689,16777 @@ fi case "x$ac_cv_prog_cc_stdc" in x|xno) - echo "$as_me:7512: result: none needed" >&5 + echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) - echo "$as_me:7515: result: $ac_cv_prog_cc_stdc" >&5 + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac -echo "$as_me:7520: checking for an ANSI C-conforming const" >&5 +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + : > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # (even with -Werror). So we grep stderr for any message + # that says an option was ignored. + if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + + echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 +echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 +if test "${ac_cv_lib_cposix_strerror+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcposix $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strerror (); +int +main () +{ +strerror (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_cposix_strerror=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_cposix_strerror=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 +echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 +if test $ac_cv_lib_cposix_strerror = yes; then + LIBS="$LIBS -lcposix" +fi + + + +echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6 +fi + +for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_YACC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_YACC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + echo "$as_me:$LINENO: result: $YACC" >&5 +echo "${ECHO_T}$YACC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + + + + +echo "$as_me:$LINENO: checking for ${CC-cc} option to accept ANSI C" >&5 +echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 +if test "${am_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + am_cv_prog_cc_stdc=no +ac_save_CC="$CC" +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; + +int +main () +{ + +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + am_cv_prog_cc_stdc="$ac_arg"; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done +CC="$ac_save_CC" + +fi + +if test -z "$am_cv_prog_cc_stdc"; then + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 +else + echo "$as_me:$LINENO: result: $am_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6 +fi +case "x$am_cv_prog_cc_stdc" in + x|xno) ;; + *) CC="$CC $am_cv_prog_cc_stdc" ;; +esac + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + +echo "$as_me:$LINENO: checking for function prototypes" >&5 +echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6 +if test "$am_cv_prog_cc_stdc" != no; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define PROTOTYPES 1 +_ACEOF + + U= ANSI2KNR= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + U=_ ANSI2KNR=./ansi2knr +fi +# Ensure some checks needed by ansi2knr itself. +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +for ac_header in string.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc in + yes:no ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +# Check whether --enable-fast-install or --disable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval="$enable_fast_install" + p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi; + +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6 +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && break + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +SED=$lt_cv_path_SED + +fi + +echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6 + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 + 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. + [\\/]* | ?:[\\/]*) + 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 + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_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 `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `"$LD" -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 +with_gnu_ld=$lt_cv_prog_gnu_ld + + +echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' + +echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6 +NM="$lt_cv_path_NM" + +echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6 +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi4*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin* | mingw* | pw32*) + # win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='win32_libid' + ;; + +darwin* | rhapsody*) + # this will be overwritten by pass_all, but leave it in just in case + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.[012]) + lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case "$host_cpu" in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + case $host_cpu in + alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" + +fi; +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 4373 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +lt_cv_cc_needs_belf=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + +esac + +need_locks="$enable_libtool_lock" + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc in + yes:no ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CXX" && break +done +test -n "$ac_ct_CXX" || ac_ct_CXX="g++" + + CXX=$ac_ct_CXX +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cxx_g=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + : > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # (even with -Werror). So we grep stderr for any message + # that says an option was ignored. + if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6 +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 f77 xlf frt pgf77 fl32 af77 fort77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 lf95 g95 + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 f77 xlf frt pgf77 fl32 af77 fort77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 lf95 g95 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_F77" && break +done + + F77=$ac_ct_F77 +fi + + +# Provide some information about the compiler. +echo "$as_me:5399:" \ + "checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. +ac_save_ext=$ac_ext +ac_ext=F +echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6 +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6 +ac_ext=$ac_save_ext +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_f77_g=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6 +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "$G77" = yes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "$G77" = yes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + testring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while (test "X"`$CONFIG_SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring=$testring$testring + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 +else + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6 +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris* | sysv5*) + symcode='[BDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGISTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6 +else + echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6 +fi + +echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6 +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6 +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +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//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + AR=$ac_ct_AR +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" + +fi; +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic or --without-pic was given. +if test "${with_pic+set}" = set; then + withval="$with_pic" + pic_mode="$withval" +else + pic_mode=default +fi; +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# +# Check for any special shared library compilation flags. +# +lt_prog_cc_shlib= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + lt_prog_cc_shlib='-belf' + ;; + esac +fi +if test -n "$lt_prog_cc_shlib"; then + { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5 +echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;} + if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then : + else + { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 +echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} + lt_cv_prog_cc_can_build_shared=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6 +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_prog_compiler_static" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; 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 + # Append any errors to the config.log. + cat conftest.err 1>&5 + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6 + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6404: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:6408: \$? = $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 + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux*) + case $CC in + icc|ecc) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + ccc) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + sco3.2v5*) + lt_prog_compiler_pic='-Kpic' + lt_prog_compiler_static='-dn' + ;; + + solaris*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6636: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:6640: \$? = $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 + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6 + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6703: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:6707: \$? = $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 + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # 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't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + 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' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $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' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + 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' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + 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 + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.012|aix4.012.*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec=' ' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds it's shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi4*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + archive_cmds_need_lc=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='-all_load $convenience' + link_all_deplibs=yes + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $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='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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 + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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='${wl}-rpath ${wl}$libdir' + else + 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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + sco3.2v5*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + 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 + 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' + fi + hardcode_libdir_flag_spec='-R$libdir' + 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='-z allextract$convenience -z defaultextract' ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4.2uw2*) + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=no + hardcode_shlibpath_var=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + no_undefined_flag='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv5*) + no_undefined_flag=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + 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' + hardcode_libdir_flag_spec= + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6 +test "$ld_shlibs" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var " || \ + test "X$hardcode_automatic"="Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6 + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + ;; + *) + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + ;; + esac +fi + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # sanitize + new_sys_lib_search_path_spec= + for d in $sys_lib_search_path_spec ; do + # check if exists + if test -d $d -a -x $d ; then + # normalize + new_d=$(cd $d ; pwd) + # uniq + if ! echo "$new_sys_lib_search_path_spec" | grep -q -F -e " $new_d " ; then + new_sys_lib_search_path_spec="$new_sys_lib_search_path_spec $new_d " + fi + fi + done + # compress spaces + sys_lib_search_path_spec=`echo "$new_sys_lib_search_path_spec" | $SED -e 's/^ *//g;s/ \+/ /g;s/ $//g'` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.01* | freebsdelf3.01*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case "$host_cpu" in + ia64*) + shrext='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shl_load) || defined (__stub___shl_load) +choke me +#else +char (*f) () = shl_load; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != shl_load; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_shl_load=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6 +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main () +{ +shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_shl_load=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_dlopen) || defined (__stub___dlopen) +choke me +#else +char (*f) () = dlopen; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != dlopen; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6 +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_svld_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main () +{ +dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_dld_link=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6 + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which librarie types wil actually be built +echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + archive_cmds_need_lc=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + 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 -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='-all_load $convenience' + link_all_deplibs=yes + fi + ;; +esac +echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6 + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext='$shrext' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +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 ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags or --without-tags was given. +if test "${with_tags+set}" = set; then + withval="$with_tags" + tagnames="$withval" +fi; + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && test "X$CXX" != "Xno"; then + ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cc + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +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. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 + 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. + [\\/]* | ?:[\\/]*) + 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 + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_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 `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `"$LD" -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $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' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.012|aix4.012.*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols_CXX=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX=' ' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds it's shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs_CXX=no + fi + ;; + + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + archive_cmds_need_lc_CXX=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag_CXX='-flat_namespace -undefined suppress' + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='-all_load $convenience' + link_all_deplibs_CXX=yes + fi + ;; + + dgux*) + case $cc_basename in + ec++) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd12*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + 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 + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${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' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + hardcode_libdir_separator_CXX=: + ;; + ia64*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + *) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case "$host_cpu" in + hppa*64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC) + case "$host_cpu" in + hppa*64*|ia64*) + archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case "$host_cpu" in + ia64*|hppa*64*) + archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + 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' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + 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' + 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 + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc) + # Intel C++ + with_gnu_ld=yes + archive_cmds_need_lc_CXX=no + 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,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + 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' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + osf3*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + 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' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + 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' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + 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_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~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + 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' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sco*) + archive_cmds_need_lc_CXX=no + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + 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' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.0-5 | solaris2.0-5.*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[LR]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + archive_cmds_need_lc_CXX=no + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6 +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + 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" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + 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) + 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 + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + cxx) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + sco*) + case $cc_basename in + CC) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + 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) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:10965: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:10969: \$? = $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 + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6 + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:11032: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:11036: \$? = $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 + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6 +test "$ld_shlibs_CXX" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var CXX" || \ + test "X$hardcode_automatic_CXX"="Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6 + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + ;; + *) + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + ;; + esac +fi + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # sanitize + new_sys_lib_search_path_spec= + for d in $sys_lib_search_path_spec ; do + # check if exists + if test -d $d -a -x $d ; then + # normalize + new_d=$(cd $d ; pwd) + # uniq + if ! echo "$new_sys_lib_search_path_spec" | grep -q -F -e " $new_d " ; then + new_sys_lib_search_path_spec="$new_sys_lib_search_path_spec $new_d " + fi + fi + done + # compress spaces + sys_lib_search_path_spec=`echo "$new_sys_lib_search_path_spec" | $SED -e 's/^ *//g;s/ \+/ /g;s/ $//g'` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.01* | freebsdelf3.01*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case "$host_cpu" in + ia64*) + shrext='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shl_load) || defined (__stub___shl_load) +choke me +#else +char (*f) () = shl_load; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != shl_load; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_shl_load=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6 +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main () +{ +shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_shl_load=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_dlopen) || defined (__stub___dlopen) +choke me +#else +char (*f) () = dlopen; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != dlopen; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6 +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_svld_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main () +{ +dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_dld_link=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6 + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext='$shrext' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# 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%^.*/%%'` + +echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4*) + test "$enable_shared" = yes && enable_static=no + ;; +esac +echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6 + +test "$ld_shlibs_F77" = no && can_build_shared=no + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux*) + case $CC in + icc|ecc) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + ccc) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + sco3.2v5*) + lt_prog_compiler_pic_F77='-Kpic' + lt_prog_compiler_static_F77='-dn' + ;; + + solaris*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:13219: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:13223: \$? = $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 + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6 + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:13286: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:13290: \$? = $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 + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # 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't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $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' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + 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' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + 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 + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.012|aix4.012.*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols_F77=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77=' ' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds it's shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi4*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + archive_cmds_need_lc_F77=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag_F77='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_F77='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_F77='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_F77='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='-all_load $convenience' + link_all_deplibs_F77=yes + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + ia64*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + *) + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $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_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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 + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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_F77='${wl}-rpath ${wl}$libdir' + else + 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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + sco3.2v5*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + 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 + 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' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + 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='-z allextract$convenience -z defaultextract' ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4.2uw2*) + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + no_undefined_flag_F77='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv5*) + no_undefined_flag_F77=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + 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' + hardcode_libdir_flag_spec_F77= + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6 +test "$ld_shlibs_F77" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var F77" || \ + test "X$hardcode_automatic_F77"="Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6 + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + ;; + *) + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + ;; + esac +fi + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # sanitize + new_sys_lib_search_path_spec= + for d in $sys_lib_search_path_spec ; do + # check if exists + if test -d $d -a -x $d ; then + # normalize + new_d=$(cd $d ; pwd) + # uniq + if ! echo "$new_sys_lib_search_path_spec" | grep -q -F -e " $new_d " ; then + new_sys_lib_search_path_spec="$new_sys_lib_search_path_spec $new_d " + fi + fi + done + # compress spaces + sys_lib_search_path_spec=`echo "$new_sys_lib_search_path_spec" | $SED -e 's/^ *//g;s/ \+/ /g;s/ $//g'` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.01* | freebsdelf3.01*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case "$host_cpu" in + ia64*) + shrext='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext='$shrext' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +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 ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15241: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:15245: \$? = $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 + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux*) + case $CC in + icc|ecc) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + ccc) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + sco3.2v5*) + lt_prog_compiler_pic_GCJ='-Kpic' + lt_prog_compiler_static_GCJ='-dn' + ;; + + solaris*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15473: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:15477: \$? = $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 + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6 + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15540: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:15544: \$? = $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 + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # 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't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $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' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + 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' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + 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 + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.012|aix4.012.*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + always_export_symbols_GCJ=yes + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ=' ' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds it's shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi4*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + archive_cmds_need_lc_GCJ=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag_GCJ='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_GCJ='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_GCJ='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_GCJ='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='-all_load $convenience' + link_all_deplibs_GCJ=yes + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + ia64*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + *) + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $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_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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 + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $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_GCJ='${wl}-rpath ${wl}$libdir' + else + 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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + sco3.2v5*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + 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 + 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' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + 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='-z allextract$convenience -z defaultextract' ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4.2uw2*) + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv5*) + no_undefined_flag_GCJ=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + 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' + hardcode_libdir_flag_spec_GCJ= + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6 +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var GCJ" || \ + test "X$hardcode_automatic_GCJ"="Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6 + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + ;; + *) + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + ;; + esac +fi + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # sanitize + new_sys_lib_search_path_spec= + for d in $sys_lib_search_path_spec ; do + # check if exists + if test -d $d -a -x $d ; then + # normalize + new_d=$(cd $d ; pwd) + # uniq + if ! echo "$new_sys_lib_search_path_spec" | grep -q -F -e " $new_d " ; then + new_sys_lib_search_path_spec="$new_sys_lib_search_path_spec $new_d " + fi + fi + done + # compress spaces + sys_lib_search_path_spec=`echo "$new_sys_lib_search_path_spec" | $SED -e 's/^ *//g;s/ \+/ /g;s/ $//g'` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.01* | freebsdelf3.01*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case "$host_cpu" in + ia64*) + shrext='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shl_load) || defined (__stub___shl_load) +choke me +#else +char (*f) () = shl_load; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != shl_load; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_shl_load=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6 +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main () +{ +shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_shl_load=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_dlopen) || defined (__stub___dlopen) +choke me +#else +char (*f) () = dlopen; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != dlopen; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6 +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_svld_dlopen=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main () +{ +dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_dld_link=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6 + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext='$shrext' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext='$shrext' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +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 ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + + + + + + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search_opendir=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in dir; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" + +fi + +else + echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search_opendir=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in x; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" + +fi + +fi + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 +if test "${ac_cv_header_sys_wait_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#ifndef WEXITSTATUS +# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) +#endif +#ifndef WIFEXITED +# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#endif + +int +main () +{ + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_sys_wait_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_sys_wait_h=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 +echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 +if test $ac_cv_header_sys_wait_h = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SYS_WAIT_H 1 +_ACEOF + +fi + + + + + + + + + + + + + + + + + + + + + + + +for ac_header in errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h utmpx.h \ + termios.h termio.h sgtty.h sys/ioctl.h syslog.h paths.h \ + utime.h ulimit.h sys/resource.h gshadow.h shadow.h lastlog.h \ + locale.h rpc/key_prot.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc in + yes:no ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + + + + + + + + + + + + + + + + + +for ac_func in a64l fchmod fchown fsync getgroups gethostname getspnam \ + gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \ + memcpy memset mkstemp setgroups sigaction strchr updwtmp updwtmpx +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7526 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -7581,48 +19516,52 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7584: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7587: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7590: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7593: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_c_const=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7603: result: $ac_cv_c_const" >&5 +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define const -EOF +_ACEOF fi -echo "$as_me:7613: checking for uid_t in sys/types.h" >&5 +echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 if test "${ac_cv_type_uid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7619 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "uid_t" >/dev/null 2>&1; then + $EGREP "uid_t" >/dev/null 2>&1; then ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no @@ -7630,75 +19569,32 @@ fi rm -f conftest* fi -echo "$as_me:7633: result: $ac_cv_type_uid_t" >&5 +echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6 if test $ac_cv_type_uid_t = no; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define uid_t int -EOF - -cat >>confdefs.h <<\EOF -#define gid_t int -EOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:7653: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7659 "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7665: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7668: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7671: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7674: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:7684: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <>confdefs.h <<\_ACEOF +#define gid_t int +_ACEOF fi -done -echo "$as_me:7694: checking for off_t" >&5 +echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6 if test "${ac_cv_type_off_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7700 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default int main () @@ -7712,45 +19608,49 @@ if (sizeof (off_t)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7715: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7718: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7721: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7724: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_off_t=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_off_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7734: result: $ac_cv_type_off_t" >&5 +echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 echo "${ECHO_T}$ac_cv_type_off_t" >&6 if test $ac_cv_type_off_t = yes; then : else -cat >>confdefs.h <>confdefs.h <<_ACEOF #define off_t long -EOF +_ACEOF fi -echo "$as_me:7746: checking for pid_t" >&5 +echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 if test "${ac_cv_type_pid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7752 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default int main () @@ -7764,45 +19664,49 @@ if (sizeof (pid_t)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7767: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7770: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7773: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7776: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_pid_t=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_pid_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7786: result: $ac_cv_type_pid_t" >&5 +echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 if test $ac_cv_type_pid_t = yes; then : else -cat >>confdefs.h <>confdefs.h <<_ACEOF #define pid_t int -EOF +_ACEOF fi -echo "$as_me:7798: checking for mode_t" >&5 +echo "$as_me:$LINENO: checking for mode_t" >&5 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6 if test "${ac_cv_type_mode_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7804 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default int main () @@ -7816,98 +19720,49 @@ if (sizeof (mode_t)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7819: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7822: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7825: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7828: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_mode_t=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_mode_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7838: result: $ac_cv_type_mode_t" >&5 +echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6 if test $ac_cv_type_mode_t = yes; then : else -cat >>confdefs.h <>confdefs.h <<_ACEOF #define mode_t int -EOF - -fi - -echo "$as_me:7850: checking for struct stat.st_rdev" >&5 -echo $ECHO_N "checking for struct stat.st_rdev... $ECHO_C" >&6 -if test "${ac_cv_member_struct_stat_st_rdev+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7856 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_rdev) -return 0; - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7870: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7873: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7876: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7879: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_struct_stat_st_rdev=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_member_struct_stat_st_rdev=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:7889: result: $ac_cv_member_struct_stat_st_rdev" >&5 -echo "${ECHO_T}$ac_cv_member_struct_stat_st_rdev" >&6 -if test $ac_cv_member_struct_stat_st_rdev = yes; then - -cat >>confdefs.h <>confdefs.h <<\EOF -#define HAVE_ST_RDEV 1 -EOF fi -echo "$as_me:7903: checking whether stat file-mode macros are broken" >&5 +echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5 echo $ECHO_N "checking whether stat file-mode macros are broken... $ECHO_C" >&6 if test "${ac_cv_header_stat_broken+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7909 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include @@ -7937,7 +19792,7 @@ You lose. _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "You lose" >/dev/null 2>&1; then + $EGREP "You lose" >/dev/null 2>&1; then ac_cv_header_stat_broken=yes else ac_cv_header_stat_broken=no @@ -7945,24 +19800,117 @@ fi rm -f conftest* fi -echo "$as_me:7948: result: $ac_cv_header_stat_broken" >&5 +echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5 echo "${ECHO_T}$ac_cv_header_stat_broken" >&6 if test $ac_cv_header_stat_broken = yes; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define STAT_MACROS_BROKEN 1 -EOF +_ACEOF fi -echo "$as_me:7958: checking whether time.h and sys/time.h may both be included" >&5 +echo "$as_me:$LINENO: checking for struct stat.st_rdev" >&5 +echo $ECHO_N "checking for struct stat.st_rdev... $ECHO_C" >&6 +if test "${ac_cv_member_struct_stat_st_rdev+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static struct stat ac_aggr; +if (ac_aggr.st_rdev) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_member_struct_stat_st_rdev=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static struct stat ac_aggr; +if (sizeof ac_aggr.st_rdev) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_member_struct_stat_st_rdev=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_member_struct_stat_st_rdev=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_rdev" >&5 +echo "${ECHO_T}$ac_cv_member_struct_stat_st_rdev" >&6 +if test $ac_cv_member_struct_stat_st_rdev = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_RDEV 1 +_ACEOF + + +fi + +echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7964 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include @@ -7977,43 +19925,47 @@ return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7980: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7983: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7986: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7989: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_header_time=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7999: result: $ac_cv_header_time" >&5 +echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 -EOF +_ACEOF fi -echo "$as_me:8009: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6 if test "${ac_cv_struct_tm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8015 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include @@ -8026,322 +19978,204 @@ struct tm *tp; tp->tm_sec; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8029: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8032: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8035: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8038: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_struct_tm=time.h else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_struct_tm=sys/time.h fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:8048: result: $ac_cv_struct_tm" >&5 +echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 echo "${ECHO_T}$ac_cv_struct_tm" >&6 if test $ac_cv_struct_tm = sys/time.h; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define TM_IN_SYS_TIME 1 -EOF - -fi - -echo "$as_me:8058: checking for pw_age in struct passwd" >&5 -echo $ECHO_N "checking for pw_age in struct passwd... $ECHO_C" >&6 -if test "${ac_cv_struct_passwd_pw_age+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8064 "configure" -#include "confdefs.h" -#include -int -main () -{ - struct passwd pw; pw.pw_age = ""; - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8076: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8079: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8082: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8085: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_struct_passwd_pw_age=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_struct_passwd_pw_age=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:8095: result: $ac_cv_struct_passwd_pw_age" >&5 -echo "${ECHO_T}$ac_cv_struct_passwd_pw_age" >&6 - -if test "$ac_cv_struct_passwd_pw_age" = "yes"; then - cat >>confdefs.h <<\EOF -#define ATT_AGE 1 -EOF fi -echo "$as_me:8105: checking for pw_comment in struct passwd" >&5 -echo $ECHO_N "checking for pw_comment in struct passwd... $ECHO_C" >&6 -if test "${ac_cv_struct_passwd_pw_comment+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8111 "configure" -#include "confdefs.h" -#include -int -main () -{ - struct passwd pw; pw.pw_comment = ""; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8123: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8126: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8129: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8132: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_struct_passwd_pw_comment=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_struct_passwd_pw_comment=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:8142: result: $ac_cv_struct_passwd_pw_comment" >&5 -echo "${ECHO_T}$ac_cv_struct_passwd_pw_comment" >&6 - -if test "$ac_cv_struct_passwd_pw_comment" = "yes"; then - cat >>confdefs.h <<\EOF -#define ATT_COMMENT 1 -EOF - -fi - -echo "$as_me:8152: checking for pw_quota in struct passwd" >&5 -echo $ECHO_N "checking for pw_quota in struct passwd... $ECHO_C" >&6 -if test "${ac_cv_struct_passwd_pw_quota+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8158 "configure" -#include "confdefs.h" -#include -int -main () -{ - struct passwd pw; pw.pw_quota = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8170: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8173: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8176: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8179: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_struct_passwd_pw_quota=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_struct_passwd_pw_quota=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:8189: result: $ac_cv_struct_passwd_pw_quota" >&5 -echo "${ECHO_T}$ac_cv_struct_passwd_pw_quota" >&6 - -if test "$ac_cv_struct_passwd_pw_quota" = "yes"; then - cat >>confdefs.h <<\EOF -#define BSD_QUOTA 1 -EOF - -fi if test "$ac_cv_header_utmp_h" = "yes"; then - echo "$as_me:8200: checking for ut_host in struct utmp" >&5 + echo "$as_me:$LINENO: checking for ut_host in struct utmp" >&5 echo $ECHO_N "checking for ut_host in struct utmp... $ECHO_C" >&6 if test "${ac_cv_struct_utmp_ut_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8206 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main () { - struct utmp ut; char *cp = ut.ut_host; +struct utmp ut; char *cp = ut.ut_host; + ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8218: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8221: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8224: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8227: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_struct_utmp_ut_host=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_struct_utmp_ut_host=no + fi rm -f conftest.$ac_objext conftest.$ac_ext + fi -echo "$as_me:8237: result: $ac_cv_struct_utmp_ut_host" >&5 +echo "$as_me:$LINENO: result: $ac_cv_struct_utmp_ut_host" >&5 echo "${ECHO_T}$ac_cv_struct_utmp_ut_host" >&6 if test "$ac_cv_struct_utmp_ut_host" = "yes"; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define UT_HOST 1 -EOF +_ACEOF fi - echo "$as_me:8247: checking for ut_user in struct utmp" >&5 + echo "$as_me:$LINENO: checking for ut_user in struct utmp" >&5 echo $ECHO_N "checking for ut_user in struct utmp... $ECHO_C" >&6 if test "${ac_cv_struct_utmp_ut_user+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8253 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main () { - struct utmp ut; char *cp = ut.ut_user; +struct utmp ut; char *cp = ut.ut_user; + ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8265: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8268: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8271: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8274: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_struct_utmp_ut_user=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_struct_utmp_ut_user=no + fi rm -f conftest.$ac_objext conftest.$ac_ext + fi -echo "$as_me:8284: result: $ac_cv_struct_utmp_ut_user" >&5 +echo "$as_me:$LINENO: result: $ac_cv_struct_utmp_ut_user" >&5 echo "${ECHO_T}$ac_cv_struct_utmp_ut_user" >&6 if test "$ac_cv_struct_utmp_ut_user" = "no"; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define ut_user ut_name -EOF +_ACEOF fi fi if test "$ac_cv_header_lastlog_h" = "yes"; then - echo "$as_me:8296: checking for ll_host in struct lastlog" >&5 + echo "$as_me:$LINENO: checking for ll_host in struct lastlog" >&5 echo $ECHO_N "checking for ll_host in struct lastlog... $ECHO_C" >&6 if test "${ac_cv_struct_lastlog_ll_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8302 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main () { - struct lastlog ll; char *cp = ll.ll_host; +struct lastlog ll; char *cp = ll.ll_host; + ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8314: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8317: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8320: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8323: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_struct_lastlog_ll_host=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_struct_lastlog_ll_host=no + fi rm -f conftest.$ac_objext conftest.$ac_ext + fi -echo "$as_me:8333: result: $ac_cv_struct_lastlog_ll_host" >&5 +echo "$as_me:$LINENO: result: $ac_cv_struct_lastlog_ll_host" >&5 echo "${ECHO_T}$ac_cv_struct_lastlog_ll_host" >&6 if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_LL_HOST 1 -EOF +_ACEOF fi fi -echo "$as_me:8344: checking type of array argument to getgroups" >&5 +echo "$as_me:$LINENO: checking type of array argument to getgroups" >&5 echo $ECHO_N "checking type of array argument to getgroups... $ECHO_C" >&6 if test "${ac_cv_type_getgroups+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -8350,8 +20184,11 @@ else ac_cv_type_getgroups=cross else cat >conftest.$ac_ext <<_ACEOF -#line 8353 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Thanks to Mike Rendell for this test. */ #include #define NGID 256 @@ -8369,41 +20206,46 @@ main () for (i = 0; i < NGID; i++) gidset[i] = val.gval; n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, - gidset); + gidset); /* Exit non-zero if getgroups seems to require an array of ints. This happens when gid_t is short but getgroups modifies an array of ints. */ exit ((n > 0 && gidset[n] != val.gval) ? 1 : 0); } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:8379: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8382: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:8384: \"$ac_try\"") >&5 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8387: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_getgroups=gid_t else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) ac_cv_type_getgroups=int fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_type_getgroups = cross; then cat >conftest.$ac_ext <<_ACEOF -#line 8400 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "getgroups.*int.*gid_t" >/dev/null 2>&1; then + $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then ac_cv_type_getgroups=gid_t else ac_cv_type_getgroups=int @@ -8412,64 +20254,75 @@ rm -f conftest* fi fi -echo "$as_me:8415: result: $ac_cv_type_getgroups" >&5 +echo "$as_me:$LINENO: result: $ac_cv_type_getgroups" >&5 echo "${ECHO_T}$ac_cv_type_getgroups" >&6 -cat >>confdefs.h <>confdefs.h <<_ACEOF #define GETGROUPS_T $ac_cv_type_getgroups -EOF +_ACEOF + if test $ac_cv_c_compiler_gnu = yes; then - echo "$as_me:8423: checking whether $CC needs -traditional" >&5 + echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 if test "${ac_cv_prog_gcc_traditional+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF -#line 8430 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no fi rm -f conftest* + if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF -#line 8445 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi -echo "$as_me:8458: result: $ac_cv_prog_gcc_traditional" >&5 +echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi -echo "$as_me:8465: checking return type of signal handlers" >&5 +echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8471 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #ifdef signal @@ -8490,33 +20343,35 @@ int i; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8493: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8496: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8499: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8502: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_signal=int fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:8512: result: $ac_cv_type_signal" >&5 +echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 -cat >>confdefs.h <>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal -EOF +_ACEOF -echo "$as_me:8519: checking whether utime accepts a null argument" >&5 + +echo "$as_me:$LINENO: checking whether utime accepts a null argument" >&5 echo $ECHO_N "checking whether utime accepts a null argument... $ECHO_C" >&6 if test "${ac_cv_func_utime_null+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -8527,124 +20382,151 @@ if test "$cross_compiling" = yes; then ac_cv_func_utime_null=no else cat >conftest.$ac_ext <<_ACEOF -#line 8530 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default int main () { struct stat s, t; exit (!(stat ("conftest.data", &s) == 0 - && utime ("conftest.data", (long *)0) == 0 - && stat ("conftest.data", &t) == 0 - && t.st_mtime >= s.st_mtime - && t.st_mtime - s.st_mtime < 120)); + && utime ("conftest.data", (long *)0) == 0 + && stat ("conftest.data", &t) == 0 + && t.st_mtime >= s.st_mtime + && t.st_mtime - s.st_mtime < 120)); ; return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:8547: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8550: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:8552: \"$ac_try\"") >&5 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8555: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_utime_null=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) ac_cv_func_utime_null=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f core core.* *.core fi -echo "$as_me:8568: result: $ac_cv_func_utime_null" >&5 +echo "$as_me:$LINENO: result: $ac_cv_func_utime_null" >&5 echo "${ECHO_T}$ac_cv_func_utime_null" >&6 if test $ac_cv_func_utime_null = yes; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define HAVE_UTIME_NULL 1 -EOF +_ACEOF fi rm -f conftest.data + for ac_func in strftime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8582: checking for $ac_func" >&5 +echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8588 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8619: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8622: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8625: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8628: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:8638: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF +_ACEOF else # strftime is in -lintl on SCO UNIX. -echo "$as_me:8647: checking for strftime in -lintl" >&5 +echo "$as_me:$LINENO: checking for strftime in -lintl" >&5 echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_strftime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -8652,8 +20534,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 8655 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -8671,32 +20556,33 @@ strftime (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8674: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8677: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8680: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8683: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_strftime=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_intl_strftime=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:8694: result: $ac_cv_lib_intl_strftime" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5 echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6 if test $ac_cv_lib_intl_strftime = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_STRFTIME 1 -EOF +_ACEOF LIBS="-lintl $LIBS" fi @@ -8704,291 +20590,396 @@ fi fi done + + + + + + for ac_func in mkdir putgrent putpwent putspent rename rmdir do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8710: checking for $ac_func" >&5 +echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8716 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8747: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8750: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8753: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8756: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:8766: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF +_ACEOF else LIBOBJS="$LIBOBJS $ac_func.$ac_objext" fi done + + + + for ac_func in sgetgrent sgetpwent sgetspent do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8781: checking for $ac_func" >&5 +echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8787 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8818: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8821: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8824: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8827: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:8837: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF +_ACEOF else LIBOBJS="$LIBOBJS $ac_func.$ac_objext" fi done + + + + + + for ac_func in snprintf strcasecmp strdup strerror strstr do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8852: checking for $ac_func" >&5 +echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8858 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8889: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8892: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8895: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8898: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:8908: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF +_ACEOF else LIBOBJS="$LIBOBJS $ac_func.$ac_objext" fi done -echo "$as_me:8920: checking for setpgrp" >&5 + + +echo "$as_me:$LINENO: checking for setpgrp" >&5 echo $ECHO_N "checking for setpgrp... $ECHO_C" >&6 if test "${ac_cv_func_setpgrp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8926 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define setpgrp to an innocuous variant, in case declares setpgrp. + For example, HP-UX 11i declares gettimeofday. */ +#define setpgrp innocuous_setpgrp + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char setpgrp (); below. */ -#include + which can conflict with char setpgrp (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef setpgrp + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char setpgrp (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_setpgrp) || defined (__stub___setpgrp) choke me #else -f = setpgrp; +char (*f) () = setpgrp; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != setpgrp; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8957: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8960: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8963: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8966: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_setpgrp=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_setpgrp=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:8976: result: $ac_cv_func_setpgrp" >&5 +echo "$as_me:$LINENO: result: $ac_cv_func_setpgrp" >&5 echo "${ECHO_T}$ac_cv_func_setpgrp" >&6 -echo "$as_me:8979: checking whether setpgrp takes no argument" >&5 +echo "$as_me:$LINENO: checking whether setpgrp takes no argument" >&5 echo $ECHO_N "checking whether setpgrp takes no argument... $ECHO_C" >&6 if test "${ac_cv_func_setpgrp_void+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then - { { echo "$as_me:8985: error: cannot check setpgrp if cross compiling" >&5 -echo "$as_me: error: cannot check setpgrp if cross compiling" >&2;} + { { echo "$as_me:$LINENO: error: cannot check setpgrp when cross compiling" >&5 +echo "$as_me: error: cannot check setpgrp when cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line 8990 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #if HAVE_UNISTD_H # include #endif @@ -8996,208 +20987,221 @@ else int main () { -/* If this system has a BSD-style setpgrp, which takes arguments, exit - successfully. */ - exit (setpgrp (1,1) == -1); +/* If this system has a BSD-style setpgrp which takes arguments, + setpgrp(1, 1) will fail with ESRCH and return -1, in that case + exit successfully. */ + exit (setpgrp (1,1) == -1 ? 0 : 1); ; return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:9007: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9010: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:9012: \"$ac_try\"") >&5 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9015: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_setpgrp_void=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) ac_cv_func_setpgrp_void=yes fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:9027: result: $ac_cv_func_setpgrp_void" >&5 +echo "$as_me:$LINENO: result: $ac_cv_func_setpgrp_void" >&5 echo "${ECHO_T}$ac_cv_func_setpgrp_void" >&6 if test $ac_cv_func_setpgrp_void = yes; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define SETPGRP_VOID 1 -EOF +_ACEOF fi + if test "$ac_cv_header_shadow_h" = "yes"; then -echo "$as_me:9038: checking for working shadow group support" >&5 +echo "$as_me:$LINENO: checking for working shadow group support" >&5 echo $ECHO_N "checking for working shadow group support... $ECHO_C" >&6 if test "${ac_cv_libc_shadowgrp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_libc_shadowgrp=no + else cat >conftest.$ac_ext <<_ACEOF -#line 9047 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#include -main() -{ - struct sgrp *sg = sgetsgent("test:x::"); - /* NYS libc on Red Hat 3.0.3 has broken shadow group support */ - return !sg || !sg->sg_adm || !sg->sg_mem; -} + #include + main() + { + struct sgrp *sg = sgetsgent("test:x::"); + /* NYS libc on Red Hat 3.0.3 has broken shadow group support */ + return !sg || !sg->sg_adm || !sg->sg_mem; + } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:9060: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9063: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:9065: \"$ac_try\"") >&5 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9068: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_libc_shadowgrp=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) ac_cv_libc_shadowgrp=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi -echo "$as_me:9080: result: $ac_cv_libc_shadowgrp" >&5 +echo "$as_me:$LINENO: result: $ac_cv_libc_shadowgrp" >&5 echo "${ECHO_T}$ac_cv_libc_shadowgrp" >&6 if test "$ac_cv_libc_shadowgrp" = "yes"; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_SHADOWGRP 1 -EOF +_ACEOF fi fi -echo "$as_me:9091: checking location of shared mail directory" >&5 +echo "$as_me:$LINENO: checking location of shared mail directory" >&5 echo $ECHO_N "checking location of shared mail directory... $ECHO_C" >&6 -for maildir in /var/spool/mail /var/mail /usr/spool/mail /usr/mail NONE; do +for maildir in /var/mail /var/spool/mail /usr/spool/mail /usr/mail NONE; do if test "$maildir" = "NONE"; then - echo "$as_me:9095: result: None" >&5 + echo "$as_me:$LINENO: result: None" >&5 echo "${ECHO_T}None" >&6 elif test -d $maildir; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define MAIL_SPOOL_DIR "$maildir" -EOF +_ACEOF - echo "$as_me:9102: result: $maildir" >&5 + echo "$as_me:$LINENO: result: $maildir" >&5 echo "${ECHO_T}$maildir" >&6 break fi done -echo "$as_me:9108: checking location of user mail file" >&5 +echo "$as_me:$LINENO: checking location of user mail file" >&5 echo $ECHO_N "checking location of user mail file... $ECHO_C" >&6 for mailfile in Mailbox mailbox Mail mail .mail NONE; do if test "$mailfile" = "NONE"; then - echo "$as_me:9112: result: None" >&5 + echo "$as_me:$LINENO: result: None" >&5 echo "${ECHO_T}None" >&6 elif test -f $HOME/$mailfile; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define MAIL_SPOOL_FILE "$mailfile" -EOF +_ACEOF - echo "$as_me:9119: result: $mailfile" >&5 + echo "$as_me:$LINENO: result: $mailfile" >&5 echo "${ECHO_T}$mailfile" >&6 break fi done -echo "$as_me:9125: checking location of utmp" >&5 +echo "$as_me:$LINENO: checking location of utmp" >&5 echo $ECHO_N "checking location of utmp... $ECHO_C" >&6 for utmpdir in /var/run /var/adm /usr/adm /etc NONE; do if test "$utmpdir" = "NONE"; then - { echo "$as_me:9129: WARNING: utmp file not found" >&5 + { echo "$as_me:$LINENO: WARNING: utmp file not found" >&5 echo "$as_me: WARNING: utmp file not found" >&2;} elif test -f $utmpdir/utmp; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define _UTMP_FILE "$utmpdir/utmp" -EOF +_ACEOF - echo "$as_me:9136: result: $utmpdir" >&5 + echo "$as_me:$LINENO: result: $utmpdir" >&5 echo "${ECHO_T}$utmpdir" >&6 break fi done -echo "$as_me:9142: checking location of faillog/lastlog/wtmp" >&5 +echo "$as_me:$LINENO: checking location of faillog/lastlog/wtmp" >&5 echo $ECHO_N "checking location of faillog/lastlog/wtmp... $ECHO_C" >&6 for logdir in /var/log /var/adm /usr/adm /etc; do if test -d $logdir; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define _WTMP_FILE "$logdir/wtmp" -EOF +_ACEOF - cat >>confdefs.h <>confdefs.h <<_ACEOF #define LASTLOG_FILE "$logdir/lastlog" -EOF +_ACEOF - cat >>confdefs.h <>confdefs.h <<_ACEOF #define FAILLOG_FILE "$logdir/faillog" -EOF +_ACEOF - echo "$as_me:9158: result: $logdir" >&5 + echo "$as_me:$LINENO: result: $logdir" >&5 echo "${ECHO_T}$logdir" >&6 break fi done -echo "$as_me:9164: checking location of the passwd program" >&5 +echo "$as_me:$LINENO: checking location of the passwd program" >&5 echo $ECHO_N "checking location of the passwd program... $ECHO_C" >&6 if test -f /usr/bin/passwd; then passwd_dir=/usr/bin else passwd_dir=/bin fi -cat >>confdefs.h <>confdefs.h <<_ACEOF #define PASSWD_PROGRAM "$passwd_dir/passwd" -EOF +_ACEOF -echo "$as_me:9175: result: $passwd_dir" >&5 +echo "$as_me:$LINENO: result: $passwd_dir" >&5 echo "${ECHO_T}$passwd_dir" >&6 -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define SHADOWPWD 1 -EOF +_ACEOF -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define USG 1 -EOF +_ACEOF -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define USE_SYSLOG 1 -EOF +_ACEOF -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define RLOGIN 1 -EOF +_ACEOF -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define RUSEROK 0 -EOF +_ACEOF -cat >>confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define getpass libshadow_getpass -EOF +_ACEOF + # Check whether --enable-desrpc or --disable-desrpc was given. if test "${enable_desrpc+set}" = set; then @@ -9210,6 +21214,7 @@ if test "${enable_shadowgrp+set}" = set; then fi; + # Check whether --with-libcrack or --without-libcrack was given. if test "${with_libcrack+set}" = set; then withval="$with_libcrack" @@ -9240,75 +21245,91 @@ if test "${with_libskey+set}" = set; then fi; -# Check whether --with-libtcfs or --without-libtcfs was given. -if test "${with_libtcfs+set}" = set; then - withval="$with_libtcfs" -fi; - -echo "$as_me:9249: checking for inet_ntoa" >&5 +echo "$as_me:$LINENO: checking for inet_ntoa" >&5 echo $ECHO_N "checking for inet_ntoa... $ECHO_C" >&6 if test "${ac_cv_func_inet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9255 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define inet_ntoa to an innocuous variant, in case declares inet_ntoa. + For example, HP-UX 11i declares gettimeofday. */ +#define inet_ntoa innocuous_inet_ntoa + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char inet_ntoa (); below. */ -#include + which can conflict with char inet_ntoa (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef inet_ntoa + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char inet_ntoa (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_inet_ntoa) || defined (__stub___inet_ntoa) choke me #else -f = inet_ntoa; +char (*f) () = inet_ntoa; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != inet_ntoa; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9286: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9289: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9292: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9295: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_inet_ntoa=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_inet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:9305: result: $ac_cv_func_inet_ntoa" >&5 +echo "$as_me:$LINENO: result: $ac_cv_func_inet_ntoa" >&5 echo "${ECHO_T}$ac_cv_func_inet_ntoa" >&6 if test $ac_cv_func_inet_ntoa = yes; then : else -echo "$as_me:9311: checking for inet_ntoa in -linet" >&5 +echo "$as_me:$LINENO: checking for inet_ntoa in -linet" >&5 echo $ECHO_N "checking for inet_ntoa in -linet... $ECHO_C" >&6 if test "${ac_cv_lib_inet_inet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9316,8 +21337,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-linet $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9319 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9335,32 +21359,33 @@ inet_ntoa (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9338: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9341: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9344: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9347: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_inet_inet_ntoa=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_inet_inet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9358: result: $ac_cv_lib_inet_inet_ntoa" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_inet_inet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_inet_inet_ntoa" >&6 if test $ac_cv_lib_inet_inet_ntoa = yes; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define HAVE_LIBINET 1 -EOF +_ACEOF LIBS="-linet $LIBS" @@ -9368,69 +21393,90 @@ fi fi -echo "$as_me:9371: checking for socket" >&5 +echo "$as_me:$LINENO: checking for socket" >&5 echo $ECHO_N "checking for socket... $ECHO_C" >&6 if test "${ac_cv_func_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9377 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define socket to an innocuous variant, in case declares socket. + For example, HP-UX 11i declares gettimeofday. */ +#define socket innocuous_socket + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char socket (); below. */ -#include + which can conflict with char socket (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef socket + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char socket (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_socket) || defined (__stub___socket) choke me #else -f = socket; +char (*f) () = socket; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != socket; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9408: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9411: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9414: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9417: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_socket=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_socket=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:9427: result: $ac_cv_func_socket" >&5 +echo "$as_me:$LINENO: result: $ac_cv_func_socket" >&5 echo "${ECHO_T}$ac_cv_func_socket" >&6 if test $ac_cv_func_socket = yes; then : else -echo "$as_me:9433: checking for socket in -lsocket" >&5 +echo "$as_me:$LINENO: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9438,8 +21484,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9441 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9457,32 +21506,33 @@ socket (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9460: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9463: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9466: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9469: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_socket_socket=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9480: result: $ac_cv_lib_socket_socket" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6 if test $ac_cv_lib_socket_socket = yes; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define HAVE_LIBSOCKET 1 -EOF +_ACEOF LIBS="-lsocket $LIBS" @@ -9490,69 +21540,90 @@ fi fi -echo "$as_me:9493: checking for gethostbyname" >&5 +echo "$as_me:$LINENO: checking for gethostbyname" >&5 echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 if test "${ac_cv_func_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9499 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. + For example, HP-UX 11i declares gettimeofday. */ +#define gethostbyname innocuous_gethostbyname + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname (); below. */ -#include + which can conflict with char gethostbyname (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef gethostbyname + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else -f = gethostbyname; +char (*f) () = gethostbyname; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != gethostbyname; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9530: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9533: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9536: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9539: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_gethostbyname=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:9549: result: $ac_cv_func_gethostbyname" >&5 +echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = yes; then : else -echo "$as_me:9555: checking for gethostbyname in -lnsl" >&5 +echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9560,8 +21631,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9563 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9579,32 +21653,33 @@ gethostbyname (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9582: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9585: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9588: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9591: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_nsl_gethostbyname=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_nsl_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9602: result: $ac_cv_lib_nsl_gethostbyname" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 if test $ac_cv_lib_nsl_gethostbyname = yes; then - cat >>confdefs.h <>confdefs.h <<_ACEOF #define HAVE_LIBNSL 1 -EOF +_ACEOF LIBS="-lnsl $LIBS" @@ -9612,72 +21687,95 @@ fi fi + + if test "$enable_desrpc" != "no" -a "$ac_cv_header_rpc_key_prot_h" = "yes" ; then - echo "$as_me:9616: checking for getsecretkey" >&5 + echo "$as_me:$LINENO: checking for getsecretkey" >&5 echo $ECHO_N "checking for getsecretkey... $ECHO_C" >&6 if test "${ac_cv_func_getsecretkey+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9622 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define getsecretkey to an innocuous variant, in case declares getsecretkey. + For example, HP-UX 11i declares gettimeofday. */ +#define getsecretkey innocuous_getsecretkey + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char getsecretkey (); below. */ -#include + which can conflict with char getsecretkey (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef getsecretkey + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char getsecretkey (); -char (*f) (); - -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_getsecretkey) || defined (__stub___getsecretkey) choke me #else -f = getsecretkey; +char (*f) () = getsecretkey; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != getsecretkey; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9653: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9656: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9659: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9662: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_getsecretkey=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_getsecretkey=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:9672: result: $ac_cv_func_getsecretkey" >&5 +echo "$as_me:$LINENO: result: $ac_cv_func_getsecretkey" >&5 echo "${ECHO_T}$ac_cv_func_getsecretkey" >&6 if test $ac_cv_func_getsecretkey = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define DES_RPC 1 -EOF +_ACEOF else - echo "$as_me:9680: checking for getsecretkey in -lrpcsvc" >&5 + echo "$as_me:$LINENO: checking for getsecretkey in -lrpcsvc" >&5 echo $ECHO_N "checking for getsecretkey in -lrpcsvc... $ECHO_C" >&6 if test "${ac_cv_lib_rpcsvc_getsecretkey+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9685,8 +21783,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lrpcsvc $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9688 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9704,32 +21805,33 @@ getsecretkey (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9707: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9710: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9713: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9716: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_rpcsvc_getsecretkey=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_rpcsvc_getsecretkey=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9727: result: $ac_cv_lib_rpcsvc_getsecretkey" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_rpcsvc_getsecretkey" >&5 echo "${ECHO_T}$ac_cv_lib_rpcsvc_getsecretkey" >&6 if test $ac_cv_lib_rpcsvc_getsecretkey = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define DES_RPC 1 -EOF +_ACEOF fi @@ -9738,14 +21840,15 @@ fi fi if test "$enable_shadowgrp" != "no"; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SHADOWGRP 1 -EOF +_ACEOF fi + if test "$with_libcrypt" != "no"; then - echo "$as_me:9748: checking for crypt in -lcrypt" >&5 + echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6 if test "${ac_cv_lib_crypt_crypt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9753,8 +21856,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrypt $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9756 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9772,40 +21878,42 @@ crypt (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9775: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9778: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9781: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9784: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_crypt_crypt=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_crypt_crypt=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9795: result: $ac_cv_lib_crypt_crypt" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6 if test $ac_cv_lib_crypt_crypt = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_LIBCRYPT 1 -EOF +_ACEOF LIBCRYPT=-lcrypt fi fi + if test "$with_libcrack" != "no"; then echo "checking cracklib flavour, don't be surprised by the results" - echo "$as_me:9808: checking for FascistCheck in -lcrack" >&5 + echo "$as_me:$LINENO: checking for FascistCheck in -lcrack" >&5 echo $ECHO_N "checking for FascistCheck in -lcrack... $ECHO_C" >&6 if test "${ac_cv_lib_crack_FascistCheck+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9813,8 +21921,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrack $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9816 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9832,36 +21943,37 @@ FascistCheck (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9835: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9838: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9841: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9844: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_crack_FascistCheck=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_crack_FascistCheck=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9855: result: $ac_cv_lib_crack_FascistCheck" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_crack_FascistCheck" >&5 echo "${ECHO_T}$ac_cv_lib_crack_FascistCheck" >&6 if test $ac_cv_lib_crack_FascistCheck = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_LIBCRACK 1 -EOF +_ACEOF LIBCRACK=-lcrack fi - echo "$as_me:9864: checking for FascistHistory in -lcrack" >&5 + echo "$as_me:$LINENO: checking for FascistHistory in -lcrack" >&5 echo $ECHO_N "checking for FascistHistory in -lcrack... $ECHO_C" >&6 if test "${ac_cv_lib_crack_FascistHistory+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9869,8 +21981,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrack $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9872 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9888,36 +22003,37 @@ FascistHistory (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9891: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9894: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9897: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9900: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_crack_FascistHistory=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_crack_FascistHistory=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9911: result: $ac_cv_lib_crack_FascistHistory" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_crack_FascistHistory" >&5 echo "${ECHO_T}$ac_cv_lib_crack_FascistHistory" >&6 if test $ac_cv_lib_crack_FascistHistory = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_LIBCRACK_HIST 1 -EOF +_ACEOF fi - echo "$as_me:9920: checking for FascistHistoryPw in -lcrack" >&5 + echo "$as_me:$LINENO: checking for FascistHistoryPw in -lcrack" >&5 echo $ECHO_N "checking for FascistHistoryPw in -lcrack... $ECHO_C" >&6 if test "${ac_cv_lib_crack_FascistHistoryPw+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9925,8 +22041,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrack $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9928 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -9944,39 +22063,42 @@ FascistHistoryPw (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9947: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9950: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9953: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9956: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_crack_FascistHistoryPw=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_crack_FascistHistoryPw=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9967: result: $ac_cv_lib_crack_FascistHistoryPw" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_crack_FascistHistoryPw" >&5 echo "${ECHO_T}$ac_cv_lib_crack_FascistHistoryPw" >&6 if test $ac_cv_lib_crack_FascistHistoryPw = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_LIBCRACK_PW 1 -EOF +_ACEOF fi fi + + if test "$with_libskey" = "yes"; then - echo "$as_me:9979: checking for MD5Init in -lmd" >&5 + echo "$as_me:$LINENO: checking for MD5Init in -lmd" >&5 echo $ECHO_N "checking for MD5Init in -lmd... $ECHO_C" >&6 if test "${ac_cv_lib_md_MD5Init+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9984,8 +22106,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lmd $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9987 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -10003,33 +22128,34 @@ MD5Init (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10006: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10009: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10012: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10015: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_md_MD5Init=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_md_MD5Init=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10026: result: $ac_cv_lib_md_MD5Init" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_md_MD5Init" >&5 echo "${ECHO_T}$ac_cv_lib_md_MD5Init" >&6 if test $ac_cv_lib_md_MD5Init = yes; then LIBMD=-lmd fi - echo "$as_me:10032: checking for skeychallenge in -lskey" >&5 + echo "$as_me:$LINENO: checking for skeychallenge in -lskey" >&5 echo $ECHO_N "checking for skeychallenge in -lskey... $ECHO_C" >&6 if test "${ac_cv_lib_skey_skeychallenge+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10037,8 +22163,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lskey $LIBMD $LIBCRYPT $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10040 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -10056,37 +22185,38 @@ skeychallenge (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10059: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10062: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10065: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10068: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_skey_skeychallenge=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_skey_skeychallenge=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10079: result: $ac_cv_lib_skey_skeychallenge" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_skey_skeychallenge" >&5 echo "${ECHO_T}$ac_cv_lib_skey_skeychallenge" >&6 if test $ac_cv_lib_skey_skeychallenge = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SKEY 1 -EOF +_ACEOF LIBSKEY=-lskey fi elif test "$with_libopie" = "yes"; then - echo "$as_me:10089: checking for opiechallenge in -lopie" >&5 + echo "$as_me:$LINENO: checking for opiechallenge in -lopie" >&5 echo $ECHO_N "checking for opiechallenge in -lopie... $ECHO_C" >&6 if test "${ac_cv_lib_opie_opiechallenge+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10094,8 +22224,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lopie $LIBCRYPT $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10097 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -10113,101 +22246,41 @@ opiechallenge (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10116: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10119: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10122: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10125: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_opie_opiechallenge=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_opie_opiechallenge=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10136: result: $ac_cv_lib_opie_opiechallenge" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_opie_opiechallenge" >&5 echo "${ECHO_T}$ac_cv_lib_opie_opiechallenge" >&6 if test $ac_cv_lib_opie_opiechallenge = yes; then - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define OPIE 1 -EOF +_ACEOF LIBSKEY=-lopie fi fi -if test "$with_libtcfs" = "yes"; then - echo "$as_me:10148: checking for tcfs_encrypt_key in -ltcfs" >&5 -echo $ECHO_N "checking for tcfs_encrypt_key in -ltcfs... $ECHO_C" >&6 -if test "${ac_cv_lib_tcfs_tcfs_encrypt_key+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltcfs -lgdbm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10156 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tcfs_encrypt_key (); -int -main () -{ -tcfs_encrypt_key (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10175: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10178: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10181: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10184: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_tcfs_tcfs_encrypt_key=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_tcfs_tcfs_encrypt_key=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10195: result: $ac_cv_lib_tcfs_tcfs_encrypt_key" >&5 -echo "${ECHO_T}$ac_cv_lib_tcfs_tcfs_encrypt_key" >&6 -if test $ac_cv_lib_tcfs_tcfs_encrypt_key = yes; then - cat >>confdefs.h <<\EOF -#define HAVE_TCFS 1 -EOF - cat >>confdefs.h <<\EOF -#define TCFS_GDBM_SUPPORT 1 -EOF - LIBTCFS="-ltcfs -lgdbm" -fi - -fi if test "$with_libpam" = "yes"; then - echo "$as_me:10210: checking for pam_start in -lpam" >&5 + echo "$as_me:$LINENO: checking for pam_start in -lpam" >&5 echo $ECHO_N "checking for pam_start in -lpam... $ECHO_C" >&6 if test "${ac_cv_lib_pam_pam_start+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10215,8 +22288,11 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lpam $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10218 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -10234,35 +22310,37 @@ pam_start (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10237: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10240: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10243: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10246: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pam_pam_start=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_pam_pam_start=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10257: result: $ac_cv_lib_pam_pam_start" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_start" >&5 echo "${ECHO_T}$ac_cv_lib_pam_pam_start" >&6 if test $ac_cv_lib_pam_pam_start = yes; then - cat >>confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define USE_PAM 1 -EOF +_ACEOF LIBPAM="-lpam" - echo "$as_me:10265: checking for main in -lpam_misc" >&5 + echo "$as_me:$LINENO: checking for main in -lpam_misc" >&5 echo $ECHO_N "checking for main in -lpam_misc... $ECHO_C" >&6 if test "${ac_cv_lib_pam_misc_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10270,8 +22348,12 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lpam_misc $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10273 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + int main () @@ -10282,980 +22364,1041 @@ main (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10285: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10288: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10291: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10294: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pam_misc_main=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_pam_misc_main=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10305: result: $ac_cv_lib_pam_misc_main" >&5 +echo "$as_me:$LINENO: result: $ac_cv_lib_pam_misc_main" >&5 echo "${ECHO_T}$ac_cv_lib_pam_misc_main" >&6 if test $ac_cv_lib_pam_misc_main = yes; then LIBPAM="$LIBPAM -lpam_misc" else - { { echo "$as_me:10310: error: libpam_misc is missing" >&5 + { { echo "$as_me:$LINENO: error: libpam_misc is missing" >&5 echo "$as_me: error: libpam_misc is missing" >&2;} { (exit 1); exit 1; }; } fi - echo "$as_me:10316: checking use login access checking if PAM not used" >&5 + echo "$as_me:$LINENO: checking use login access checking if PAM not used" >&5 echo $ECHO_N "checking use login access checking if PAM not used... $ECHO_C" >&6 - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define LOGIN_ACCESS 1 -EOF +_ACEOF - echo "$as_me:10322: result: yes" >&5 + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 fi - echo "$as_me:10327: checking use login and su access checking if PAM not used" >&5 + echo "$as_me:$LINENO: checking use login and su access checking if PAM not used" >&5 echo $ECHO_N "checking use login and su access checking if PAM not used... $ECHO_C" >&6 - echo "$as_me:10329: result: no" >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 else - echo "$as_me:10332: checking use login and su access checking if PAM not used" >&5 + echo "$as_me:$LINENO: checking use login and su access checking if PAM not used" >&5 echo $ECHO_N "checking use login and su access checking if PAM not used... $ECHO_C" >&6 - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define LOGIN_ACCESS 1 -EOF +_ACEOF - cat >>confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SU_ACCESS 1 -EOF +_ACEOF - echo "$as_me:10342: result: yes" >&5 + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 fi -ALL_LINGUAS="cs de el fr ja ko pl sv uk" -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:10350: checking for $ac_word" >&5 + + + 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 + + + + echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 + # Check whether --enable-nls or --disable-nls was given. +if test "${enable_nls+set}" = set; then + enableval="$enable_nls" + USE_NLS=$enableval +else + USE_NLS=yes +fi; + echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6 + + + + + + +# 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 "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then +if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -echo "$as_me:10365: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:10373: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:10376: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:10385: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_RANLIB="ranlib" -echo "$as_me:10400: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:10409: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:10412: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -echo "$as_me:10421: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6 -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -#line 10429 "configure" -#include "confdefs.h" -#ifndef __cplusplus -static $ac_kw int static_foo () {return 0; } -$ac_kw int foo () {return 0; } -#endif - -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10438: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10441: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10444: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10447: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_inline=$ac_kw; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done - -fi -echo "$as_me:10458: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6 -case $ac_cv_c_inline in - inline | yes) ;; - no) -cat >>confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >>confdefs.h </dev/null 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); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi -echo "$as_me:10473: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6 -if test "${ac_cv_type_size_t+set}" = set; then + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF -#line 10479 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10494: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10497: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10500: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10503: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_size_t=yes + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT + +if test -n "$GMSGFMT"; then + echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6 else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_size_t=no + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext + + + +# 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 -echo "$as_me:10513: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6 -if test $ac_cv_type_size_t = yes; then + +# 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 "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; 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 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 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); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + rm -f messages.po + + +# 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 "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_MSGMERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; 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 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + echo "$as_me:$LINENO: result: $MSGMERGE" >&5 +echo "${ECHO_T}$MSGMERGE" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + + if test "$GMSGFMT" != ":"; then + 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,^.*/,,'` + echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 +echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6 + GMSGFMT=":" + fi + fi + + if test "$XGETTEXT" != ":"; then + 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 + echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 +echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6 + XGETTEXT=":" + fi + rm -f messages.po + fi + + ac_config_commands="$ac_config_commands default-1" + + + + 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" + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 + 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 + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${acl_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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. + if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${acl_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + acl_cv_prog_gnu_ld=yes +else + acl_cv_prog_gnu_ld=no +fi +fi +echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5 +echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + echo "$as_me:$LINENO: checking for shared library run path origin" >&5 +echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 +if test "${acl_cv_rpath+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + 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 + +fi +echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 +echo "${ECHO_T}$acl_cv_rpath" >&6 + 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" + # Check whether --enable-rpath or --disable-rpath was given. +if test "${enable_rpath+set}" = set; then + enableval="$enable_rpath" : else + enable_rpath=yes +fi; -cat >>confdefs.h <&5 -echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 -if test "${ac_cv_working_alloca_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10533 "configure" -#include "confdefs.h" -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10545: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10548: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10551: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10554: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_working_alloca_h=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_working_alloca_h=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10564: result: $ac_cv_working_alloca_h" >&5 -echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 -if test $ac_cv_working_alloca_h = yes; then -cat >>confdefs.h <<\EOF -#define HAVE_ALLOCA_H 1 -EOF -fi -echo "$as_me:10574: checking for alloca" >&5 -echo $ECHO_N "checking for alloca... $ECHO_C" >&6 -if test "${ac_cv_func_alloca_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10580 "configure" -#include "confdefs.h" -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif -int -main () -{ -char *p = (char *) alloca (1); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10612: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10615: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10618: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10621: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_alloca_works=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_alloca_works=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10631: result: $ac_cv_func_alloca_works" >&5 -echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 + use_additional=yes -if test $ac_cv_func_alloca_works = yes; then + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -cat >>confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -ALLOCA=alloca.$ac_objext - -cat >>confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF - -echo "$as_me:10652: checking whether \`alloca.c' needs Cray hooks" >&5 -echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 -if test "${ac_cv_os_cray+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10658 "configure" -#include "confdefs.h" -#if defined(CRAY) && ! defined(CRAY2) -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "webecray" >/dev/null 2>&1; then - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* - -fi -echo "$as_me:10676: result: $ac_cv_os_cray" >&5 -echo "${ECHO_T}$ac_cv_os_cray" >&6 -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10681: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10687 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10718: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10721: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10724: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10727: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10737: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - -cat >>confdefs.h <&5 -echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 -if test "${ac_cv_c_stack_direction+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10760 "configure" -#include "confdefs.h" -int -find_stack_direction () -{ - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; -} - -int -main () -{ - exit (find_stack_direction () < 0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:10783: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10786: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:10788: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10791: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_stack_direction=1 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_stack_direction=-1 -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:10803: result: $ac_cv_c_stack_direction" >&5 -echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 - -cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10821 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:10825: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:10831: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:10850: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10869 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10900: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10903: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10906: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10909: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10919: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat >conftest.$ac_ext <<_ACEOF -#line 10938 "configure" -#include "confdefs.h" -$ac_includes_default -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propogated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include -#include - -#if !STDC_HEADERS && !HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#if !HAVE_GETPAGESIZE -/* Assume that all systems that can run configure have sys/param.h. */ -# if !HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# if HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main () -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - exit (1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - exit (1); - if (write (fd, data, pagesize) != pagesize) - exit (1); - close (fd); - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - exit (1); - data2 = (char *) malloc (2 * pagesize); - if (!data2) - exit (1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit (1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit (1); - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - exit (1); - if (read (fd, data3, pagesize) != pagesize) - exit (1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit (1); - close (fd); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:11065: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11068: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11070: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11073: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:11085: result: $ac_cv_func_mmap_fixed_mapped" >&5 -echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_MMAP 1 -EOF - -fi -rm -f conftest.mmap - - echo "$as_me:11096: checking whether we are using the GNU C Library 2.1 or newer" >&5 -echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6 -if test "${ac_cv_gnu_library_2_1+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11102 "configure" -#include "confdefs.h" - -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "Lucky GNU user" >/dev/null 2>&1; then - ac_cv_gnu_library_2_1=yes -else - ac_cv_gnu_library_2_1=no -fi -rm -f conftest* - -fi -echo "$as_me:11122: result: $ac_cv_gnu_library_2_1" >&5 -echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6 - - GLIBC21="$ac_cv_gnu_library_2_1" - -for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ -stdlib.h string.h unistd.h sys/param.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:11131: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11137 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:11141: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:11147: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:11166: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11187 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11218: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11221: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11224: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11227: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11237: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + 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 + if test "$hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + 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 + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + 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 + 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*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + 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*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + 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 + 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*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + + + + + + + + + + + echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 + # Check whether --enable-nls or --disable-nls was given. +if test "${enable_nls+set}" = set; then + enableval="$enable_nls" + USE_NLS=$enableval +else + USE_NLS=yes +fi; + echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6 + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + + + + + echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 +echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6 +if test "${gt_cv_func_gnugettext1_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +int +main () +{ +bindtextdomain ("", ""); +return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_func_gnugettext1_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_gnugettext1_libc=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5 +echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6 + + if test "$gt_cv_func_gnugettext1_libc" != "yes"; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + echo "$as_me:$LINENO: checking for iconv" >&5 echo $ECHO_N "checking for iconv... $ECHO_C" >&6 if test "${am_cv_func_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11264,8 +23407,11 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat >conftest.$ac_ext <<_ACEOF -#line 11267 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include int @@ -11279,29 +23425,33 @@ iconv_t cd = iconv_open("",""); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11282: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11285: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11288: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11291: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" + LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF -#line 11303 "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include int @@ -11315,833 +23465,640 @@ iconv_t cd = iconv_open("",""); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11318: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11321: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11324: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11327: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_lib_iconv=yes am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi -echo "$as_me:11340: result: $am_cv_func_iconv" >&5 +echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 echo "${ECHO_T}$am_cv_func_iconv" >&6 if test "$am_cv_func_iconv" = yes; then -cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 -EOF - - echo "$as_me:11348: checking for iconv declaration" >&5 -echo $ECHO_N "checking for iconv declaration... $ECHO_C" >&6 - if test "${am_cv_proto_iconv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 11355 "configure" -#include "confdefs.h" - -#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 - -int -main () -{ - - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11379: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11382: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11385: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11388: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - am_cv_proto_iconv_arg1="" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -am_cv_proto_iconv_arg1="const" -fi -rm -f conftest.$ac_objext conftest.$ac_ext - 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);" -fi - - am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - echo "$as_me:11401: result: ${ac_t:- - }$am_cv_proto_iconv" >&5 -echo "${ECHO_T}${ac_t:- - }$am_cv_proto_iconv" >&6 - -cat >>confdefs.h <&5 +echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6 + echo "$as_me:$LINENO: result: $LIBICONV" >&5 +echo "${ECHO_T}$LIBICONV" >&6 + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= fi - echo "$as_me:11416: checking for nl_langinfo and CODESET" >&5 -echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6 -if test "${am_cv_langinfo_codeset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11422 "configure" -#include "confdefs.h" -#include -int -main () -{ -char* cs = nl_langinfo(CODESET); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11434: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11437: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11440: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11443: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - am_cv_langinfo_codeset=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -am_cv_langinfo_codeset=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11454: result: $am_cv_langinfo_codeset" >&5 -echo "${ECHO_T}$am_cv_langinfo_codeset" >&6 - if test $am_cv_langinfo_codeset = yes; then -cat >>confdefs.h <<\EOF -#define HAVE_LANGINFO_CODESET 1 -EOF - fi - if test $ac_cv_header_locale_h = yes; then - echo "$as_me:11465: checking for LC_MESSAGES" >&5 -echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 -if test "${am_cv_val_LC_MESSAGES+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11471 "configure" -#include "confdefs.h" -#include -int -main () -{ -return LC_MESSAGES - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11483: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11486: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11489: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11492: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - am_cv_val_LC_MESSAGES=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -am_cv_val_LC_MESSAGES=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11502: result: $am_cv_val_LC_MESSAGES" >&5 -echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 - if test $am_cv_val_LC_MESSAGES = yes; then -cat >>confdefs.h <<\EOF -#define HAVE_LC_MESSAGES 1 -EOF + use_additional=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libintl-prefix or --without-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then + withval="$with_libintl_prefix" + + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi + +fi; + LIBINTL= + LTLIBINTL= + INCINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + 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" + 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" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + 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 $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + 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 + if test "$hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + 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 + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + 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 + 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*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + 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*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + 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 + 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*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done fi fi - echo "$as_me:11512: checking whether NLS is requested" >&5 -echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=yes -fi; - echo "$as_me:11521: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6 - - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - INTLLIBS= - - if test "$USE_NLS" = "yes"; then - -cat >>confdefs.h <<\EOF -#define ENABLE_NLS 1 -EOF - - echo "$as_me:11534: checking whether included gettext is requested" >&5 -echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6 - -# Check whether --with-included-gettext or --without-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval="$with_included_gettext" - nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no -fi; - echo "$as_me:11544: result: $nls_cv_force_use_gnu_gettext" >&5 -echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6 - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - CATOBJEXT=NONE - - echo "$as_me:11551: checking for libintl.h" >&5 -echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 -if test "${ac_cv_header_libintl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11557 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:11561: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:11567: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_libintl_h=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_libintl_h=no -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:11586: result: $ac_cv_header_libintl_h" >&5 -echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 -if test $ac_cv_header_libintl_h = yes; then - echo "$as_me:11589: checking for GNU gettext in libc" >&5 -echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6 -if test "${gt_cv_func_gnugettext1_libc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11595 "configure" -#include "confdefs.h" -#include -extern int _nl_msg_cat_cntr; -int -main () -{ -bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11609: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11612: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11615: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11618: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gt_cv_func_gnugettext1_libc=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -gt_cv_func_gnugettext1_libc=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11628: result: $gt_cv_func_gnugettext1_libc" >&5 -echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6 - if test "$gt_cv_func_gnugettext1_libc" != "yes"; then - echo "$as_me:11632: checking for GNU gettext in libintl" >&5 + echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6 if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -#line 11640 "configure" -#include "confdefs.h" + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (); int main () { bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr +return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11654: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11657: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11660: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11663: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gt_cv_func_gnugettext1_libintl=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + gt_cv_func_gnugettext1_libintl=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -echo "$as_me:11674: result: $gt_cv_func_gnugettext1_libintl" >&5 -echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6 - fi - - if test "$gt_cv_func_gnugettext1_libc" = "yes" \ - || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ - && test "$PACKAGE" != gettext; }; then - -cat >>confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - - if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then - INTLLIBS="-lintl $LIBICONV" - fi - - gt_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - -for ac_func in dcgettext -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11696: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11702 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ + if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern #ifdef __cplusplus -extern "C" +"C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - +const char *_nl_expand_alias (); int main () { -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - +bindtextdomain ("", ""); +return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11733: \"$ac_link\"") >&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11736: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11739: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11742: \$? = $ac_status" >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - eval "$as_ac_var=yes" + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext1_libintl=yes + else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" +sed 's/^/| /' conftest.$ac_ext >&5 + fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" fi -echo "$as_me:11752: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - echo "$as_me:11793: result: $MSGFMT" >&5 -echo "${ECHO_T}$MSGFMT" >&6 -else - echo "$as_me:11796: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo "$as_me:11802: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GMSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - echo "$as_me:11819: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT - -if test -n "$GMSGFMT"; then - echo "$as_me:11831: result: $GMSGFMT" >&5 -echo "${ECHO_T}$GMSGFMT" >&6 -else - echo "$as_me:11834: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo "$as_me:11840: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_XGETTEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - echo "$as_me:11867: result: $XGETTEXT" >&5 -echo "${ECHO_T}$XGETTEXT" >&6 -else - echo "$as_me:11870: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CATOBJEXT=.gmo - fi - -fi - - if test "$CATOBJEXT" = "NONE"; then - nls_cv_use_gnu_gettext=yes +echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5 +echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6 fi - fi - if test "$nls_cv_use_gnu_gettext" = "yes"; then - INTLOBJS="\$(GETTOBJS)" - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo "$as_me:11888: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - echo "$as_me:11915: result: $MSGFMT" >&5 -echo "${ECHO_T}$MSGFMT" >&6 -else - echo "$as_me:11918: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi + if test "$gt_cv_func_gnugettext1_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo "$as_me:11924: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GMSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - echo "$as_me:11941: found $ac_dir/$ac_word" >&5 - break -fi -done - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - echo "$as_me:11953: result: $GMSGFMT" >&5 -echo "${ECHO_T}$GMSGFMT" >&6 -else - echo "$as_me:11956: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo "$as_me:11962: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_XGETTEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - echo "$as_me:11989: result: $XGETTEXT" >&5 -echo "${ECHO_T}$XGETTEXT" >&6 -else - echo "$as_me:11992: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi +cat >>confdefs.h <<\_ACEOF +#define ENABLE_NLS 1 +_ACEOF - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - if test "$GMSGFMT" != ":"; then - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then - : ; - else - echo "$as_me:12007: result: found msgfmt program is not GNU msgfmt; ignore it" >&5 -echo "${ECHO_T}found msgfmt program is not GNU msgfmt; ignore it" >&6 - GMSGFMT=":" - fi - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then - : ; - else - echo "$as_me:12017: result: found xgettext program is not GNU xgettext; ignore it" >&5 -echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6 - XGETTEXT=":" - fi - fi - - POSUB=po - fi - ac_config_commands="$ac_config_commands default-2" - - if test "$PACKAGE" = gettext; then - BUILD_INCLUDED_LIBINTL=yes - fi - - for ac_prog in bison -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:12035: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_INTLBISON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$INTLBISON"; then - ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_INTLBISON="$ac_prog" -echo "$as_me:12050: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -INTLBISON=$ac_cv_prog_INTLBISON -if test -n "$INTLBISON"; then - echo "$as_me:12058: result: $INTLBISON" >&5 -echo "${ECHO_T}$INTLBISON" >&6 -else - echo "$as_me:12061: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$INTLBISON" && break -done - - if test -z "$INTLBISON"; then - ac_verc_fail=yes else - echo "$as_me:12071: checking version of bison" >&5 -echo $ECHO_N "checking version of bison... $ECHO_C" >&6 - 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].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - echo "$as_me:12080: result: $ac_prog_version" >&5 -echo "${ECHO_T}$ac_prog_version" >&6 - fi - if test $ac_verc_fail = yes; then - INTLBISON=: + USE_NLS=no fi + fi - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" + echo "$as_me:$LINENO: checking whether to use NLS" >&5 +echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6 + echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6 + if test "$USE_NLS" = "yes"; then + echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 +echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6 + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + echo "$as_me:$LINENO: result: $gt_source" >&5 +echo "${ECHO_T}$gt_source" >&6 + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then + echo "$as_me:$LINENO: checking how to link with libintl" >&5 +echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6 + echo "$as_me:$LINENO: result: $LIBINTL" >&5 +echo "${ECHO_T}$LIBINTL" >&6 + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done - nls_cv_header_intl= - nls_cv_header_libgt= + fi - DATADIRNAME=share - INSTOBJEXT=.mo +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETTEXT 1 +_ACEOF - GENCAT=gencat - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - echo "$as_me:12105: checking for catalogs to be installed" >&5 -echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6 - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - for desiredlang in ${LINGUAS-$ALL_LINGUAS}; 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 - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - echo "$as_me:12125: result: $LINGUAS" >&5 -echo "${ECHO_T}$LINGUAS" >&6 - fi +cat >>confdefs.h <<\_ACEOF +#define HAVE_DCGETTEXT 1 +_ACEOF - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi + fi - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi + POSUB=po + fi - INTL_LIBTOOL_SUFFIX_PREFIX= -ac_config_files="$ac_config_files Makefile intl/Makefile po/Makefile.in doc/Makefile man/Makefile man/cs/Makefile man/de/Makefile man/fr/Makefile man/hu/Makefile man/id/Makefile man/it/Makefile man/ja/Makefile man/ko/Makefile man/pl/Makefile man/pt_BR/Makefile libmisc/Makefile lib/Makefile src/Makefile contrib/Makefile debian/Makefile etc/Makefile etc/pam.d/Makefile shadow.spec" + + INTLLIBS="$LIBINTL" + + + + + + + + ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/cs/Makefile man/de/Makefile man/es/Makefile man/fr/Makefile man/hu/Makefile man/id/Makefile man/it/Makefile man/ja/Makefile man/ko/Makefile man/pl/Makefile man/pt_BR/Makefile man/ru/Makefile man/zh_CN/Makefile man/zh_TW/Makefile libmisc/Makefile lib/Makefile src/Makefile contrib/Makefile etc/Makefile etc/pam.d/Makefile shadow.spec" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -12152,7 +24109,7 @@ cat >confcache <<\_ACEOF # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overriden when +# `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. @@ -12170,13 +24127,13 @@ _ACEOF # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | @@ -12187,7 +24144,7 @@ _ACEOF t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache -if cmp -s $cache_file confcache; then :; else +if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file @@ -12206,47 +24163,267 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ + ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; +s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; -s/^[^=]*=[ ]*$//; +s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:12224: creating $CONFIG_STATUS" >&5 +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL -# Generated automatically by configure. +# Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false +ac_cs_recheck=false +ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} -ac_cs_invocation="\$0 \$@" - _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +# Support unset when possible. +if (as_foo=foo; unset as_foo) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + # Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# 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 + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr @@ -12272,24 +24449,20 @@ else fi rm -f conf$$ conf$$.exe conf$$.file -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: else - as_unset=false + as_mkdir_p=false fi -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + # IFS # We need space, tab and new line, in precisely that order. @@ -12298,10 +24471,34 @@ as_nl=' IFS=" $as_nl" # CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } +$as_unset CDPATH exec 6>&1 +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.57a. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 _ACEOF # Files that config.status was made for. @@ -12321,7 +24518,7 @@ if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi -cat >>$CONFIG_STATUS <<\EOF +cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the @@ -12331,12 +24528,13 @@ Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit + -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + instantiate the configuration file FILE --header=FILE[:TEMPLATE] - instantiate the configuration header FILE + instantiate the configuration header FILE Configuration files: $config_files @@ -12348,23 +24546,22 @@ Configuration commands: $config_commands Report bugs to ." -EOF +_ACEOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.52, +configured by $0, generated by GNU Autoconf 2.57a, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" -EOF +_ACEOF -cat >>$CONFIG_STATUS <<\EOF +cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: @@ -12374,30 +24571,30 @@ do --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift ;; - -*);; *) # This is not an option, so the user has probably given explicit # arguments. + ac_option=$1 ac_need_defaults=false;; esac - case $1 in + case $ac_option in # Handling of the options. -EOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" - exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; -EOF -cat >>$CONFIG_STATUS <<\EOF + ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header - { { echo "$as_me:12400: error: ambiguous option: $1 + { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} @@ -12407,16 +24604,19 @@ Try \`$0 --help' for more information." >&2;} --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; # This is an error. - -*) { { echo "$as_me:12419: error: unrecognized option: $1 + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} @@ -12428,46 +24628,52 @@ Try \`$0 --help' for more information." >&2;} shift done -exec 5>>config.log -cat >&5 << _ACEOF +ac_configure_extra_args= -## ----------------------- ## -## Running config.status. ## -## ----------------------- ## - -This file was extended by $as_me 2.52, executed with - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - > $ac_cs_invocation -on `(hostname || uname -n) 2>/dev/null | sed 1q` +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi _ACEOF -EOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # -AMDEP_TRUE="$AMDEP_TRUE" -ac_aux_dir="$ac_aux_dir" +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, 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%}" -EOF -cat >>$CONFIG_STATUS <<\EOF +_ACEOF + + + +cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "intl/Makefile" ) CONFIG_FILES="$CONFIG_FILES intl/Makefile" ;; "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "man/cs/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/cs/Makefile" ;; "man/de/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/de/Makefile" ;; + "man/es/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/es/Makefile" ;; "man/fr/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/fr/Makefile" ;; "man/hu/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/hu/Makefile" ;; "man/id/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/id/Makefile" ;; @@ -12476,18 +24682,20 @@ do "man/ko/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/ko/Makefile" ;; "man/pl/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/pl/Makefile" ;; "man/pt_BR/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/pt_BR/Makefile" ;; + "man/ru/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/ru/Makefile" ;; + "man/zh_CN/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/zh_CN/Makefile" ;; + "man/zh_TW/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/zh_TW/Makefile" ;; "libmisc/Makefile" ) CONFIG_FILES="$CONFIG_FILES libmisc/Makefile" ;; "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; - "debian/Makefile" ) CONFIG_FILES="$CONFIG_FILES debian/Makefile" ;; "etc/Makefile" ) CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; "etc/pam.d/Makefile" ) CONFIG_FILES="$CONFIG_FILES etc/pam.d/Makefile" ;; "shadow.spec" ) CONFIG_FILES="$CONFIG_FILES shadow.spec" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "default-2" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-2" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - *) { { echo "$as_me:12490: error: invalid argument: $ac_config_target" >&5 + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac @@ -12503,6 +24711,9 @@ if $ac_need_defaults; then test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { @@ -12511,23 +24722,23 @@ $debug || } # Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} + { - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=$TMPDIR/cs$$-$RANDOM + tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } -EOF +_ACEOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. @@ -12540,6 +24751,12 @@ if test -n "\$CONFIG_FILES"; then sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t @@ -12555,27 +24772,20 @@ s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@DEFS@,$DEFS,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t @@ -12583,24 +24793,35 @@ s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@AMTAR@,$AMTAR,;t t s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -s,@DEPDIR@,$DEPDIR,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t +s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t +s,@MAINT@,$MAINT,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t s,@LN_S@,$LN_S,;t t s,@YACC@,$YACC,;t t s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t s,@U@,$U,;t t s,@ANSI2KNR@,$ANSI2KNR,;t t s,@build@,$build,;t t @@ -12612,45 +24833,45 @@ s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@ECHO@,$ECHO,;t t +s,@AR@,$AR,;t t +s,@ac_ct_AR@,$ac_ct_AR,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@CXX@,$CXX,;t t +s,@CXXFLAGS@,$CXXFLAGS,;t t +s,@ac_ct_CXX@,$ac_ct_CXX,;t t +s,@CXXDEPMODE@,$CXXDEPMODE,;t t +s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t +s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t +s,@CXXCPP@,$CXXCPP,;t t +s,@F77@,$F77,;t t +s,@FFLAGS@,$FFLAGS,;t t +s,@ac_ct_F77@,$ac_ct_F77,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LIBCRYPT@,$LIBCRYPT,;t t s,@LIBCRACK@,$LIBCRACK,;t t s,@LIBSKEY@,$LIBSKEY,;t t s,@LIBMD@,$LIBMD,;t t -s,@LIBTCFS@,$LIBTCFS,;t t s,@LIBPAM@,$LIBPAM,;t t -s,@ALLOCA@,$ALLOCA,;t t -s,@GLIBC21@,$GLIBC21,;t t -s,@LIBICONV@,$LIBICONV,;t t +s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t s,@USE_NLS@,$USE_NLS,;t t s,@MSGFMT@,$MSGFMT,;t t s,@GMSGFMT@,$GMSGFMT,;t t s,@XGETTEXT@,$XGETTEXT,;t t -s,@INTLBISON@,$INTLBISON,;t t -s,@BUILD_INCLUDED_LIBINTL@,$BUILD_INCLUDED_LIBINTL,;t t -s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t -s,@CATALOGS@,$CATALOGS,;t t -s,@CATOBJEXT@,$CATOBJEXT,;t t -s,@GMOFILES@,$GMOFILES,;t t +s,@MSGMERGE@,$MSGMERGE,;t t +s,@LIBICONV@,$LIBICONV,;t t +s,@LTLIBICONV@,$LTLIBICONV,;t t s,@INTLLIBS@,$INTLLIBS,;t t -s,@INTLOBJS@,$INTLOBJS,;t t -s,@POFILES@,$POFILES,;t t +s,@LIBINTL@,$LIBINTL,;t t +s,@LTLIBINTL@,$LTLIBINTL,;t t s,@POSUB@,$POSUB,;t t -s,@DATADIRNAME@,$DATADIRNAME,;t t -s,@INSTOBJEXT@,$INSTOBJEXT,;t t -s,@GENCAT@,$GENCAT,;t t -s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t -s,@INTL_LIBTOOL_SUFFIX_PREFIX@,$INTL_LIBTOOL_SUFFIX_PREFIX,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF -EOF +_ACEOF - cat >>$CONFIG_STATUS <<\EOF + cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 @@ -12675,9 +24896,9 @@ EOF (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end @@ -12689,86 +24910,111 @@ EOF fi fi # test -n "$CONFIG_FILES" -EOF -cat >>$CONFIG_STATUS <<\EOF +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" else - ac_dir_suffix= ac_dots= - fi + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } - case $srcdir in - .) ac_srcdir=. - if test -z "$ac_dots"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; *) # Relative path. - ac_srcdir=$ac_dots$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_dots$srcdir ;; - esac + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_dots$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then - { echo "$as_me:12763: creating $ac_file" >&5 + { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - configure_input="Generated automatically from `echo $ac_file_in | - sed 's,.*/,,'` by configure." + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. @@ -12777,37 +25023,43 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:12781: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + echo "$f";; *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:12794: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } -EOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub -EOF -cat >>$CONFIG_STATUS <<\EOF +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin @@ -12819,8 +25071,8 @@ s,@INSTALL@,$ac_INSTALL,;t t fi done -EOF -cat >>$CONFIG_STATUS <<\EOF +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. @@ -12830,12 +25082,12 @@ cat >>$CONFIG_STATUS <<\EOF # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' @@ -12844,15 +25096,15 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac - test x"$ac_file" != x- && { echo "$as_me:12855: creating $ac_file" >&5 + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the @@ -12862,30 +25114,31 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:12866: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:12879: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in -EOF +_ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into @@ -12901,16 +25154,16 @@ rm -f conftest.defines conftest.undefs # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\EOF +cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear -s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end -EOF +_ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. @@ -12921,14 +25174,14 @@ rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\EOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -EOF +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail @@ -12937,7 +25190,7 @@ do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -12952,7 +25205,7 @@ do mv conftest.tail conftest.defines done rm -f conftest.defines -echo ' fi # egrep' >>$CONFIG_STATUS +echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size @@ -12964,7 +25217,7 @@ do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -12980,51 +25233,59 @@ do done rm -f conftest.undefs -cat >>$CONFIG_STATUS <<\EOF +cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ + # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then - echo "/* Generated automatically by configure. */" >$tmp/config.h + echo "/* Generated by configure. */" >$tmp/config.h else - echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:12996: $ac_file is unchanged" >&5 + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } - fi rm -f $ac_file mv $tmp/config.h $ac_file fi @@ -13032,15 +25293,31 @@ done; } cat $tmp/config.h rm -f $tmp/config.h fi - # Run the commands associated with the file. - case $ac_file in - config.h ) # update the timestamp -echo timestamp >"./stamp-h1" - ;; +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -EOF -cat >>$CONFIG_STATUS <<\EOF +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. @@ -13048,16 +25325,79 @@ cat >>$CONFIG_STATUS <<\EOF for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + ac_builddir=. +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in - default-1 ) -test x"$AMDEP_TRUE" != x"" || -for mf in $CONFIG_FILES; do - case "$mf" in - Makefile) dirpart=.;; - */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; - *) continue;; - esac + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. @@ -13082,53 +25422,161 @@ for mf in $CONFIG_FILES; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue - fdir=`echo "$file" | sed -e 's|/[^/]*$||'` - $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; - default-2 ) for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + default-1 ) + 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 - # 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 - 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" - sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + 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, GMOFILES, UPDATEPOFILES, DUMMYPOFILES 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" "$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 - ;; - esac - done ;; + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + GMOFILES= + UPDATEPOFILES= + DUMMYPOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + 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|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|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 ;; esac done -EOF +_ACEOF -cat >>$CONFIG_STATUS <<\EOF +cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } -EOF +_ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save + # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open @@ -13139,8 +25587,11 @@ ac_clean_files=$ac_clean_files_save # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. diff --git a/configure.in b/configure.in index 7faa8b9a..26964e86 100644 --- a/configure.in +++ b/configure.in @@ -1,17 +1,17 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(lib/dialchk.c) -AM_INIT_AUTOMAKE(shadow, 4.0.3) -AM_CONFIG_HEADER(config.h) +AC_INIT +AM_INIT_AUTOMAKE(shadow, 4.0.4) +AC_CONFIG_HEADERS([config.h]) dnl Some hacks... test "$prefix" = "NONE" && prefix="/usr" test "$prefix" = "/usr" && exec_prefix="" -test "$CFLAGS" = "" && CFLAGS="-O2 -Wall" -test "$LDFLAGS" = "" && LDFLAGS="-s" AM_DISABLE_SHARED AM_ENABLE_STATIC +AM_MAINTAINER_MODE + dnl Checks for programs. AC_PROG_CC AC_ISC_POSIX @@ -30,7 +30,7 @@ AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h utmpx.h \ termios.h termio.h sgtty.h sys/ioctl.h syslog.h paths.h \ utime.h ulimit.h sys/resource.h gshadow.h shadow.h lastlog.h \ - rpc/key_prot.h) + locale.h rpc/key_prot.h) AC_CHECK_FUNCS(a64l fchmod fchown fsync getgroups gethostname getspnam \ gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \ @@ -42,52 +42,36 @@ AC_TYPE_UID_T AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_MODE_T -AC_STRUCT_ST_RDEV AC_HEADER_STAT +AC_CHECK_MEMBERS([struct stat.st_rdev]) AC_HEADER_TIME AC_STRUCT_TM -AC_CACHE_CHECK(for pw_age in struct passwd, -ac_cv_struct_passwd_pw_age, AC_TRY_COMPILE([#include ], -[ struct passwd pw; pw.pw_age = ""; ], -ac_cv_struct_passwd_pw_age=yes, ac_cv_struct_passwd_pw_age=no)) - -if test "$ac_cv_struct_passwd_pw_age" = "yes"; then - AC_DEFINE(ATT_AGE) -fi - -AC_CACHE_CHECK(for pw_comment in struct passwd, -ac_cv_struct_passwd_pw_comment, AC_TRY_COMPILE([#include ], -[ struct passwd pw; pw.pw_comment = ""; ], -ac_cv_struct_passwd_pw_comment=yes, ac_cv_struct_passwd_pw_comment=no)) - -if test "$ac_cv_struct_passwd_pw_comment" = "yes"; then - AC_DEFINE(ATT_COMMENT) -fi - -AC_CACHE_CHECK(for pw_quota in struct passwd, -ac_cv_struct_passwd_pw_quota, AC_TRY_COMPILE([#include ], -[ struct passwd pw; pw.pw_quota = 0; ], -ac_cv_struct_passwd_pw_quota=yes, ac_cv_struct_passwd_pw_quota=no)) - -if test "$ac_cv_struct_passwd_pw_quota" = "yes"; then - AC_DEFINE(BSD_QUOTA) -fi - if test "$ac_cv_header_utmp_h" = "yes"; then AC_CACHE_CHECK(for ut_host in struct utmp, - ac_cv_struct_utmp_ut_host, AC_TRY_COMPILE([#include ], - [ struct utmp ut; char *cp = ut.ut_host; ], - ac_cv_struct_utmp_ut_host=yes, ac_cv_struct_utmp_ut_host=no)) + ac_cv_struct_utmp_ut_host, + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([#include ], + [struct utmp ut; char *cp = ut.ut_host;] + )], + [ac_cv_struct_utmp_ut_host=yes], + [ac_cv_struct_utmp_ut_host=no] + ) + ) if test "$ac_cv_struct_utmp_ut_host" = "yes"; then AC_DEFINE(UT_HOST) fi AC_CACHE_CHECK(for ut_user in struct utmp, - ac_cv_struct_utmp_ut_user, AC_TRY_COMPILE([#include ], - [ struct utmp ut; char *cp = ut.ut_user; ], - ac_cv_struct_utmp_ut_user=yes, ac_cv_struct_utmp_ut_user=no)) + ac_cv_struct_utmp_ut_user, + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [struct utmp ut; char *cp = ut.ut_user;] + )], + [ac_cv_struct_utmp_ut_user=yes], + [ac_cv_struct_utmp_ut_user=no] + ) + ) if test "$ac_cv_struct_utmp_ut_user" = "no"; then AC_DEFINE(ut_user, ut_name) @@ -96,9 +80,14 @@ fi if test "$ac_cv_header_lastlog_h" = "yes"; then AC_CACHE_CHECK(for ll_host in struct lastlog, - ac_cv_struct_lastlog_ll_host, AC_TRY_COMPILE([#include ], - [ struct lastlog ll; char *cp = ll.ll_host; ], - ac_cv_struct_lastlog_ll_host=yes, ac_cv_struct_lastlog_ll_host=no)) + ac_cv_struct_lastlog_ll_host, + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [struct lastlog ll; char *cp = ll.ll_host;] + )], + [ac_cv_struct_lastlog_ll_host=yes], + [ac_cv_struct_lastlog_ll_host=no] + ) + ) if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then AC_DEFINE(HAVE_LL_HOST) @@ -120,17 +109,21 @@ AC_FUNC_SETPGRP if test "$ac_cv_header_shadow_h" = "yes"; then AC_CACHE_CHECK(for working shadow group support, -ac_cv_libc_shadowgrp, AC_TRY_RUN( -[ -#include -main() -{ - struct sgrp *sg = sgetsgent("test:x::"); - /* NYS libc on Red Hat 3.0.3 has broken shadow group support */ - return !sg || !sg->sg_adm || !sg->sg_mem; -} -], -ac_cv_libc_shadowgrp=yes,ac_cv_libc_shadowgrp=no,ac_cv_libc_shadowgrp=no)) + ac_cv_libc_shadowgrp, + AC_RUN_IFELSE([AC_LANG_SOURCE([ + #include + main() + { + struct sgrp *sg = sgetsgent("test:x::"); + /* NYS libc on Red Hat 3.0.3 has broken shadow group support */ + return !sg || !sg->sg_adm || !sg->sg_mem; + }] + )], + [ac_cv_libc_shadowgrp=yes], + [ac_cv_libc_shadowgrp=no], + [ac_cv_libc_shadowgrp=no] + ) +) if test "$ac_cv_libc_shadowgrp" = "yes"; then AC_DEFINE(HAVE_SHADOWGRP) @@ -138,7 +131,7 @@ fi fi AC_MSG_CHECKING(location of shared mail directory) -for maildir in /var/spool/mail /var/mail /usr/spool/mail /usr/mail NONE; do +for maildir in /var/mail /var/spool/mail /usr/spool/mail /usr/mail NONE; do if test "$maildir" = "NONE"; then AC_MSG_RESULT(None) elif test -d $maildir; then @@ -210,7 +203,6 @@ AC_ARG_WITH(libcrypt, [ --with-libcrypt try to use libcrypt (default if AC_ARG_WITH(libopie, [ --with-libopie use libopie for OPIE support]) AC_ARG_WITH(libpam, [ --with-libpam use libpam for PAM support]) AC_ARG_WITH(libskey, [ --with-libskey use libskey for S/Key support]) -AC_ARG_WITH(libtcfs, [ --with-libtcfs use libtcfs for TCFS support]) dnl Check for some functions in libc first, only if not found check for dnl other libraries. This should prevent linking libnsl if not really @@ -250,20 +242,15 @@ AC_SUBST(LIBSKEY) AC_SUBST(LIBMD) if test "$with_libskey" = "yes"; then AC_CHECK_LIB(md, MD5Init, LIBMD=-lmd) - AC_CHECK_LIB(skey, skeychallenge, AC_DEFINE(SKEY) LIBSKEY=-lskey, , $LIBMD $LIBCRYPT) + AC_CHECK_LIB(skey, skeychallenge, AC_DEFINE(SKEY) LIBSKEY=-lskey, [], $LIBMD $LIBCRYPT) elif test "$with_libopie" = "yes"; then - AC_CHECK_LIB(opie, opiechallenge, AC_DEFINE(OPIE) LIBSKEY=-lopie, , $LIBCRYPT) -fi - -AC_SUBST(LIBTCFS) -if test "$with_libtcfs" = "yes"; then - AC_CHECK_LIB(tcfs, tcfs_encrypt_key, AC_DEFINE(HAVE_TCFS) AC_DEFINE(TCFS_GDBM_SUPPORT) LIBTCFS="-ltcfs -lgdbm", , -lgdbm) + AC_CHECK_LIB(opie, opiechallenge, AC_DEFINE(OPIE) LIBSKEY=-lopie, [], $LIBCRYPT) fi AC_SUBST(LIBPAM) if test "$with_libpam" = "yes"; then AC_CHECK_LIB(pam, pam_start, - [AC_DEFINE(USE_PAM) + [AC_DEFINE(USE_PAM, 1, [Define to support Pluggable Authentication Modules]) LIBPAM="-lpam" AC_CHECK_LIB(pam_misc, main, [LIBPAM="$LIBPAM -lpam_misc"], @@ -282,17 +269,17 @@ else AC_MSG_RESULT(yes) fi -ALL_LINGUAS="cs de el fr ja ko pl sv uk" -AM_GNU_GETTEXT +AM_GNU_GETTEXT_VERSION(0.12.1) +AM_GNU_GETTEXT([external]) -AC_OUTPUT([ +AC_CONFIG_FILES([ Makefile - intl/Makefile po/Makefile.in doc/Makefile man/Makefile man/cs/Makefile man/de/Makefile + man/es/Makefile man/fr/Makefile man/hu/Makefile man/id/Makefile @@ -301,11 +288,15 @@ AC_OUTPUT([ man/ko/Makefile man/pl/Makefile man/pt_BR/Makefile + man/ru/Makefile + man/zh_CN/Makefile + man/zh_TW/Makefile libmisc/Makefile lib/Makefile src/Makefile contrib/Makefile - debian/Makefile etc/Makefile etc/pam.d/Makefile - shadow.spec]) + shadow.spec +]) +AC_OUTPUT diff --git a/contrib/Makefile.in b/contrib/Makefile.in index 8eda788a..1dcb7496 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,113 +17,163 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh \ atudel groupmems.shar pwdauth.c shadow-anonftp.patch \ udbachk.tgz subdir = contrib +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = -DIST_COMMON = README Makefile.am Makefile.in +DIST_COMMON = README $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu contrib/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -132,17 +183,12 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu contrib/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -150,15 +196,26 @@ top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -170,7 +227,6 @@ check: check-am all-am: Makefile installdirs: - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -182,6 +238,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -189,7 +246,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -199,7 +256,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -221,13 +278,21 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ @@ -237,7 +302,8 @@ uninstall-am: uninstall-info-am install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am # 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. diff --git a/debian/Makefile.am b/debian/Makefile.am deleted file mode 100644 index bc78ef14..00000000 --- a/debian/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' - -EXTRA_DIST = changelog checksums control control.gnu control.linux \ - login.conffiles login.copyright login.postinst login.postrm login.preinst \ - login.prerm logoutd.init passwd.conffiles passwd.copyright \ - passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules \ - secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm \ - secure-su.preinst securetty shadowconfig.sh diff --git a/debian/Makefile.in b/debian/Makefile.in deleted file mode 100644 index 95b6fbb5..00000000 --- a/debian/Makefile.in +++ /dev/null @@ -1,247 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBMD = @LIBMD@ -LIBPAM = @LIBPAM@ -LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -EXTRA_DIST = changelog checksums control control.gnu control.linux \ - login.conffiles login.copyright login.postinst login.postrm login.preinst \ - login.prerm logoutd.init passwd.conffiles passwd.copyright \ - passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules \ - secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm \ - secure-su.preinst securetty shadowconfig.sh - -subdir = debian -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu debian/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am - -# 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/debian/changelog b/debian/changelog deleted file mode 100644 index b1548b5e..00000000 --- a/debian/changelog +++ /dev/null @@ -1,175 +0,0 @@ -shadow (19990827) unstable; urgency=low - - * upstream upgrade, see CHANGES for more details. Note: this is - not the official Debian changelog entry - it is here only for - dpkg-buildpackage to work (so I can build and test this package - on my system). To the Debian maintainers: please feel free to - replace this entry with your own, and put your name (instead of - mine) in the debian/control Maintainer field. Thanks, and keep - up the good work! - - -- Marek Michalkiewicz Fri, 27 Aug 1999 21:00:00 +0200 - -shadow (980403-0.3.2) unstable; urgency=low - - * configure.in patched for utmpx.h (for arm) - - -- Jim Pick Sun, 4 Oct 1998 19:06:15 -0700 - -shadow (980403-0.3.1) frozen unstable; urgency=low - - * Non maintainer upload. - changes.{guess,sub} changed to recognize a Arm architecture. - - -- Turbo Fredriksson Fri, 14 Aug 1998 22:37:58 -0400 - -shadow (980403-0.3) frozen unstable; urgency=high - - * Non maintainer upload. - * src/login.c: Applied patch from to - fix security hole of login not checking the return code from setgid(), - initgroups() or setuid(). [#24710] - - -- James Troup Fri, 17 Jul 1998 18:56:31 +0100 - -shadow (980403-0.2) frozen unstable; urgency=low - - * (login.defs): fixed UMASK - (thanks to James Troup for noticing my screwup :) - * Pruned non-Debian changelog entries. - - -- Joel Klecker Mon, 11 May 1998 11:25:22 -0700 - -shadow (980403-0.1) frozen unstable; urgency=low - - * Non-maintainer release. - * New upstream release (18225). - * (debian/login.postinst) - * Use 'touch' instead of 'cat >' when creating /var/log/faillog - (15998,16187,21687). - * No longer fails if no previous configured version exists (11433). - * (gpasswd): now checks which user invoked it before calling setuid() (18132). - * (debian/passwd.postinst): removed bashism (13753). - * (groupmod): NULL dereference fixed upstream, as a result, it no longer - dumps core when changing group name (16893,17894). - * (useradd): no longer segfaults if /etc/default/useradd is missing (18628). - * (login.defs.1): now documents more options (13485). - * (source): includes 'missing' (13815,18133,21280). - * (login.1): - * Removed mention of "d_passwd(5)", which doesn't exist, - and login.defs.5 now documents /etc/dialups (15176). - * Added /etc/nologin to FILES section and reference nologin(5) (21695). - * The URL mentioned in Bug#15391 is no longer valid. - * (login.defs): no longer sets ULIMIT (17529). - * (login): - * No longer uses static buffers for group lines (17532). - * Doesn't seem to make assumptions about gid_t any longer (21767). - * (faillog.8): s-/usr/adm-/var/log-g (19974). - * (lastlog.8): notes that "some systems" use /var/log instead of - /usr/adm (21746). - * Install upstream changelog as 'changelog.gz' as per policy (20052). - * (secure-su): Changed /etc/suauth to reference the group 'root' - instead of 'wheel' (17593). - - -- Joel Klecker Thu, 30 Apr 1998 18:32:12 -0700 - -shadow (970616-1) unstable; urgency=low - - * Upstream upgrade. - * chage works (10561). - * Fix NIS behavior (5634,8734,10032,10545,10984,11160,12064). - * Wrote pwconv,pwunconv,grpconv,grpunconv manpage (10940). - * vipw fixes (10521,10696,11618,11924,12184,13001) - * Fixes for new automake. - * Compile with glibc2. (8627,8777,9824,11713,11719,12082,12108,11442). - * debian/rules fixes (8876,12468). - * /etc/login.defs: UMASK=002 (9102). - * chown /dev/vcs* on login (9421,13255). - * Added tty9-tty12 to /etc/securetty (11644). - * Provide template and manpage for /etc/limits (12289). - * Fix security hole in postinst (11769). - * login fills out ut_addr field in utmp (10701). - * shadowconfig.sh fixes (9189,9328,9386,10968,12452,12469). - * Overcome postinst bug in old shadow-passwd package (9939,12120). - * useradd default GROUP=100 (9244). - * Allow 8 bit chars in chfn (12367). - * secure-su - set HOME, use SHELL if set (11003,11189). - - -- Guy Maor Fri, 26 Sep 1997 19:23:42 -0500 - -shadow (970616) unstable; urgency=low - - * vipw preserves permissions on edited files (10521). - * various other bug fixes. - - -- Marek Michalkiewicz Mon, 16 Jun 1997 02:02:00 +0200 - -shadow (970601) unstable; urgency=low - - * Fix typo in libmisc/mail.c causing login to segfault. - - -- Marek Michalkiewicz Mon, 2 Jun 1997 07:33:00 +0200 - -shadow (970502-2) unstable; urgency=low - - * Fixes to shadow group support (grpconv didn't work). - - -- Marek Michalkiewicz Fri, 2 May 1997 15:48:00 +0200 - -shadow (970502-1) unstable; urgency=low - - * Upstream upgrade. - - -- Marek Michalkiewicz Fri, 2 May 1997 03:18:00 +0200 - -shadow (961025-2) frozen unstable; urgency=medium - - * Fix useradd -D segfault (8098, 8152, 8733). - * Fix shadowconfig - permfix only on xlock; /etc/init.d/xdm rewrite, chmod - (8102, 8320, 8333, 8708). - * Remove HOWTO from usr/doc/passwd as it's in linux-doc (8150). - * Fixes to su.1 (8153). - * login, passwd, su each conflict and replace with the old shadow-* - version. (8269, 8290, 8393, 8394). - * Put /etc/shells back in passwd (8328). - * Fixed login.postinst for upgrade from shadow-login (8392). - * Added -e to pwck for use in shadowconfig: reports only errors, no - warnings (8542). - * Wrote shadowconfig.8 (8588). - - -- Guy Maor Sat, 19 Apr 1997 02:34:59 -0500 - -shadow (961025-1) unstable; urgency=low - - * Upstream upgrade, new source format. - - -- Guy Maor Mon, 10 Feb 1997 02:56:56 -0600 - -shadow (960530-1) experimental; urgency=LOW - - * Added grpunconv script - * Changed prerm/postinst scripts to remove/create shadowed group - file - * Added vipw/vigr binaries - * Renamed package to shadow-passwd - * Added packages shadow-su and shadow-login - * Added 'Essential: yes' to be able to replace passwd and login - * Section now base for shadow-passwd and shadow-login - * Added /etc/shell conffile - * Added /etc/securetty conffile - * Added new conffile /etc/suauth. Set it up so only users in group 0 - can su to root. - -shadow (960810-1) base; urgency=LOW - - * Added useradd default file so that default group is no longer 1 - * Also corrected the useradd manpage - * Replaced grpunconv script by real binary which does correct - locking. - * Added 'source' field control file to control files - * Changed version naming in debian.rules - * New upstream version - -Local variables: -mode: debian-changelog -End: diff --git a/debian/checksums b/debian/checksums deleted file mode 100755 index 9d227c30..00000000 --- a/debian/checksums +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# This script is run from debian/rules to generate MD5 checksums -# for all files in the package. -# $Id: checksums,v 1.1 1997/12/14 21:05:37 marekm Exp $ -set -e -cd $1 -md5sum `find * -type f ! -regex "DEBIAN/.*"` >DEBIAN/md5sums -Standards-Version: 2.3.0.0 - -Package: login -Architecture: any -Pre-Depends: ${shlibs:Depends} -Conflicts: shadow-login -Replaces: shadow-login, shadow-passwd -Essential: yes -Section: base -Priority: required -Description: Sign on to the system. - login and newgrp change the user and group. - -Package: passwd -Architecture: any -Depends: ${shlibs:Depends}, login (>= 970502-1) -Conflicts: shadow-passwd -Replaces: shadow-passwd -Replaces: manpages (<=1.15-2) -Section: base -Priority: required -Description: Change and administer password and group data. - This package includes passwd, chsh, chfn, and many other programs to - maintain password and group data. - . - Shadow passwords are supported. See /usr/doc/passwd/README.Debian - -Package: secure-su -Architecture: any -Depends: ${shlibs:Depends}, login (>= 970502-1) -Conflicts: shadow-su -Replaces: shadow-su -Section: admin -Priority: optional -Description: su with more security options - secure-su offers more security options than the normal su, such as a - wheel group, and from-user and to-user specific restrictions. diff --git a/debian/control.gnu b/debian/control.gnu deleted file mode 100644 index 5b052739..00000000 --- a/debian/control.gnu +++ /dev/null @@ -1,16 +0,0 @@ -Source: shadow -Section: base -Priority: required -Maintainer: Guy Maor -Standards-Version: 2.3.0.0 - -Package: passwd -Architecture: any -Depends: ${shlibs:Depends} -Section: base -Priority: required -Description: Change and administer password and group data. - This package includes passwd, chsh, chfn, and many other programs to - maintain password and group data. - . - Shadow passwords are supported. See /usr/doc/passwd/README.Debian diff --git a/debian/control.linux b/debian/control.linux deleted file mode 100644 index 430c4b3a..00000000 --- a/debian/control.linux +++ /dev/null @@ -1,41 +0,0 @@ -Source: shadow -Section: base -Priority: required -Maintainer: Marek Michalkiewicz -Standards-Version: 2.3.0.0 - -Package: login -Architecture: any -Pre-Depends: ${shlibs:Depends} -Conflicts: shadow-login -Replaces: shadow-login, shadow-passwd -Essential: yes -Section: base -Priority: required -Description: Sign on to the system. - login and newgrp change the user and group. - -Package: passwd -Architecture: any -Depends: ${shlibs:Depends}, login (>= 970502-1) -Conflicts: shadow-passwd -Replaces: shadow-passwd -Replaces: manpages (<=1.15-2) -Section: base -Priority: required -Description: Change and administer password and group data. - This package includes passwd, chsh, chfn, and many other programs to - maintain password and group data. - . - Shadow passwords are supported. See /usr/doc/passwd/README.Debian - -Package: secure-su -Architecture: any -Depends: ${shlibs:Depends}, login (>= 970502-1) -Conflicts: shadow-su -Replaces: shadow-su -Section: admin -Priority: optional -Description: su with more security options - secure-su offers more security options than the normal su, such as a - wheel group, and from-user and to-user specific restrictions. diff --git a/debian/login.conffiles b/debian/login.conffiles deleted file mode 100644 index c1d83cba..00000000 --- a/debian/login.conffiles +++ /dev/null @@ -1,6 +0,0 @@ -/etc/login.defs -/etc/login.access -/etc/securetty -/etc/porttime -/etc/limits -/etc/init.d/logoutd diff --git a/debian/login.copyright b/debian/login.copyright deleted file mode 100644 index adf5dfb7..00000000 --- a/debian/login.copyright +++ /dev/null @@ -1,76 +0,0 @@ -This is Debian/GNU Linux's prepackaged version of login and related -utilities. - -It was downloaded from: . - -This software is copyright 1988 - 1994, Julianne Frances Haugh. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. Neither the name of Julianne F. Haugh nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -This source code is currently archived on ftp.uu.net in the -comp.sources.misc portion of the USENET archives. You may also contact -the author, Julianne F. Haugh, at jockgrrl@ix.netcom.com if you have -any questions regarding this package. - -THIS SOFTWARE IS BEING DISTRIBUTED AS-IS. THE AUTHORS DISCLAIM ALL -LIABILITY FOR ANY CONSEQUENCES OF USE. THE USER IS SOLELY RESPONSIBLE -FOR THE MAINTENANCE OF THIS SOFTWARE PACKAGE. THE AUTHORS ARE UNDER NO -OBLIGATION TO PROVIDE MODIFICATIONS OR IMPROVEMENTS. THE USER IS -ENCOURAGED TO TAKE ANY AND ALL STEPS NEEDED TO PROTECT AGAINST ACCIDENTAL -LOSS OF INFORMATION OR MACHINE RESOURCES. - -Special thanks are due to Chip Rosenthal for his fine testing efforts; -to Steve Simmons for his work in porting this code to BSD; and to Bill -Kennedy for his contributions of LaserJet printer time and energies. -Also, thanks for Dennis L. Mumaugh for the initial shadow password -information and to Tony Walton (olapw@olgb1.oliv.co.uk) for the System -V Release 4 changes. Effort in porting to SunOS has been contributed -by Dr. Michael Newberry (miken@cs.adfa.oz.au) and Micheal J. Miller, Jr. -(mke@kaberd.rain.com). Effort in porting to AT&T UNIX System V Release -4 has been provided by Andrew Herbert (andrew@werple.pub.uu.oz.au). -Special thanks to Marek Michalkiewicz (marekm@i17linuxb.ists.pwr.wroc.pl) -for taking over the Linux port of this software. - -Source files: login_access.c, login_desrpc.c, login_krb.c are derived -from the logdaemon-5.0 package, which is under the following license: - -/************************************************************************ -* Copyright 1995 by Wietse Venema. All rights reserved. Individual files -* may be covered by other copyrights (as noted in the file itself.) -* -* This material was originally written and compiled by Wietse Venema at -* Eindhoven University of Technology, The Netherlands, in 1990, 1991, -* 1992, 1993, 1994 and 1995. -* -* Redistribution and use in source and binary forms are permitted -* provided that this entire copyright notice is duplicated in all such -* copies. -* -* This software is provided "as is" and without any expressed or implied -* warranties, including, without limitation, the implied warranties of -* merchantibility and fitness for any particular purpose. -************************************************************************/ - diff --git a/debian/login.postinst b/debian/login.postinst deleted file mode 100644 index 32b19a06..00000000 --- a/debian/login.postinst +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -set -e - -[ "$1" = configure -a "$2" ] \ - && dpkg --compare-versions $2 lt 961025 \ - || [ -z "$2" ] \ - || exit 0 - -if [ -f /etc/usertty ] ; then - cat > /etc/usertty$$ <> /etc/usertty$$ - mv -f /etc/usertty$$ /etc/usertty - - if egrep -vqn '^#|^ *$' /etc/usertty ; then cat < /dev/null diff --git a/debian/login.postrm b/debian/login.postrm deleted file mode 100644 index ccfa914f..00000000 --- a/debian/login.postrm +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -set -e - -if [ "$1" = "purge" ] ; then - update-rc.d logoutd remove >/dev/null -fi diff --git a/debian/login.preinst b/debian/login.preinst deleted file mode 100644 index 96637b51..00000000 --- a/debian/login.preinst +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -e -dpkg --assert-support-predepends || -( echo -e "\nPlease upgrade to a newer version of dpkg\n"; exit 1; ) diff --git a/debian/login.prerm b/debian/login.prerm deleted file mode 100644 index ba1301b3..00000000 --- a/debian/login.prerm +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -set -e - -case $1 in - remove|upgrade|deconfigure) - /etc/init.d/logoutd stop - ;; -esac diff --git a/debian/logoutd.init b/debian/logoutd.init deleted file mode 100644 index 60594465..00000000 --- a/debian/logoutd.init +++ /dev/null @@ -1,36 +0,0 @@ -#! /bin/sh -# start/stop logoutd - -set -e - -DAEMON=/usr/sbin/logoutd -test -f $DAEMON || exit 0 - -# Most people won't need logoutd(8) running, so we'll only run it if -# /etc/porttime has non-comment lines. -egrep -vq '^#|^ *$' /etc/porttime || exit 0 - -case "$1" in - start) - echo -n "Starting login time and port restriction enforcer: logoutd" - start-stop-daemon --start --quiet --exec $DAEMON - echo "." - ;; - stop) - echo -n "Stopping login time and port restriction enforcer: logoutd" - start-stop-daemon --stop --quiet --exec $DAEMON - echo "." - ;; - force-reload|restart) - $0 stop - $0 start - ;; - reload) - ;; - *) - echo "Usage: /etc/init.d/logoutd start|stop|restart" - exit 1 - ;; -esac - -exit 0 diff --git a/debian/passwd.conffiles b/debian/passwd.conffiles deleted file mode 100644 index 48979eaf..00000000 --- a/debian/passwd.conffiles +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cron.daily/passwd -/etc/init.d/passwd -/etc/shells diff --git a/debian/passwd.copyright b/debian/passwd.copyright deleted file mode 100644 index 6b76e3ad..00000000 --- a/debian/passwd.copyright +++ /dev/null @@ -1,55 +0,0 @@ -This is Debian/GNU Linux's prepackaged version of the passwd -utilities. - -It was downloaded from: . - -This software is copyright 1988 - 1994, Julianne Frances Haugh. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. Neither the name of Julianne F. Haugh nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -This source code is currently archived on ftp.uu.net in the -comp.sources.misc portion of the USENET archives. You may also contact -the author, Julianne F. Haugh, at jockgrrl@ix.netcom.com if you have -any questions regarding this package. - -THIS SOFTWARE IS BEING DISTRIBUTED AS-IS. THE AUTHORS DISCLAIM ALL -LIABILITY FOR ANY CONSEQUENCES OF USE. THE USER IS SOLELY RESPONSIBLE -FOR THE MAINTENANCE OF THIS SOFTWARE PACKAGE. THE AUTHORS ARE UNDER NO -OBLIGATION TO PROVIDE MODIFICATIONS OR IMPROVEMENTS. THE USER IS -ENCOURAGED TO TAKE ANY AND ALL STEPS NEEDED TO PROTECT AGAINST ACCIDENTAL -LOSS OF INFORMATION OR MACHINE RESOURCES. - -Special thanks are due to Chip Rosenthal for his fine testing efforts; -to Steve Simmons for his work in porting this code to BSD; and to Bill -Kennedy for his contributions of LaserJet printer time and energies. -Also, thanks for Dennis L. Mumaugh for the initial shadow password -information and to Tony Walton (olapw@olgb1.oliv.co.uk) for the System -V Release 4 changes. Effort in porting to SunOS has been contributed -by Dr. Michael Newberry (miken@cs.adfa.oz.au) and Micheal J. Miller, Jr. -(mke@kaberd.rain.com). Effort in porting to AT&T UNIX System V Release -4 has been provided by Andrew Herbert (andrew@werple.pub.uu.oz.au). -Special thanks to Marek Michalkiewicz (marekm@i17linuxb.ists.pwr.wroc.pl) -for taking over the Linux port of this software. diff --git a/debian/passwd.cron b/debian/passwd.cron deleted file mode 100644 index 4bc868ef..00000000 --- a/debian/passwd.cron +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# -# cron.daily script to check integrity of the password and group files - -test -f /usr/sbin/pwck || exit 0 - -pwck -q -r -grpck -r diff --git a/debian/passwd.init b/debian/passwd.init deleted file mode 100755 index 83ef2071..00000000 --- a/debian/passwd.init +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# -# /etc/init.d/passwd -# script to check integrity of the password and group files at system startup -# - -set -e -test -f /usr/sbin/pwck || exit 0 - -case "$1" in - start) - echo -n 'Checking password and group files... ' - pwck -q -r - grpck -r - echo "done." - ;; - stop|restart|reload|force-reload) - ;; - *) - echo "Usage: /etc/init.d/passwd start" - exit 1 - ;; -esac - -exit 0 diff --git a/debian/passwd.postinst b/debian/passwd.postinst deleted file mode 100644 index bb8ed870..00000000 --- a/debian/passwd.postinst +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -set -e - -if [ configure != "$1" ] ; then - exit 0 -fi - -# passwd 961025-1 incorrectly did permfix on sulogin and xdm-shadow in -# shadowconfig -permfix () { - [ -f $1 ] || return 0 - chown root:root $1 - chmod 755 $1 -} -permfix /sbin/sulogin -permfix /usr/X11R6/bin/xdm-shadow - -# check password and group files at boot time -update-rc.d passwd start 60 S . >/dev/null - -grep -q '^shadow:[^:]*:42' /etc/group && exit 0 -groupadd -g 42 shadow || ( - cat </dev/null -fi diff --git a/debian/porttime b/debian/porttime deleted file mode 100644 index 5888d63a..00000000 --- a/debian/porttime +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/porttime contains user time restrictions. -# See porttime(5). - -# If you add restrictions to this file, be sure that -# PORTTIME_CHECKS_ENAB is set to `yes' in /etc/login.defs. logoutd(8) -# will be started automatically on bootup if this file contains -# non-comment lines. You may also start it manually with -# `/etc/init.d/logoutd start'. diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 63284d78..00000000 --- a/debian/rules +++ /dev/null @@ -1,159 +0,0 @@ -#!/usr/bin/make -f - -# FIXME - this is out of date, please update for current Debian - -package = shadow - -# see dpkg-architecture(8) -DEB_BUILD_ARCH := $(shell dpkg --print-installation-architecture) -DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH)) -ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),) - DEB_BUILD_GNU_SYSTEM := gnu -else - DEB_BUILD_GNU_SYSTEM := linux -endif -DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM) - -DEB_HOST_GNU_SYSTEM=$(DEB_BUILD_GNU_SYSTEM) -DEB_HOST_GNU_TYPE=$(DEB_BUILD_GNU_TYPE) - -ifeq ($(DEB_HOST_GNU_SYSTEM),linux) -package-list = binary-login binary-passwd binary-su -else -package-list = binary-passwd -endif - -# for "exec login" to work for ordinary users, /bin/login needs to be setuid -# but very few people use this feature, so we make it non-setuid by default -LOGIN_PERM = 0755 - -build: - $(checkdir) - cp -a debian/control.$(DEB_HOST_GNU_SYSTEM) debian/control - # shared lib support is untested, so... - ./configure --disable-shared --disable-desrpc \ - --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) - $(MAKE) - touch build - -clean: - $(checkdir) - rm -f build debian/tar - -$(MAKE) -i distclean - rm -rf {libmisc,lib,src}/.deps - rm -rf debian/tmp{-l,-p,-s} debian/{files*,substvars} - cp -a debian/control.linux debian/control - find . -name '*~' -print0 | xargs -0 rm -f - -binary-indep: checkroot build - $(checkdir) - -binary-arch: $(package-list) - -binary-login: checkroot build - $(checkdir) - -rm -rf debian/tmp-l - install -d debian/tmp-l/{DEBIAN,bin,etc/init.d,usr/{bin,man/man{1,5,8},doc/login,sbin}} - install -s -m$(LOGIN_PERM) src/login debian/tmp-l/bin/ - install -s -m4755 src/newgrp debian/tmp-l/usr/bin/ - install -s src/{faillog,lastlog} debian/tmp-l/usr/bin/ - install -s src/logoutd debian/tmp-l/usr/sbin/ - install -m644 man/{login.1,newgrp.1} debian/tmp-l/usr/man/man1/ - install -m644 man/{login.defs.5,login.access.5,porttime.5,faillog.5,limits.5} debian/tmp-l/usr/man/man5/ - install -m644 man/{faillog.8,logoutd.8,lastlog.8} debian/tmp-l/usr/man/man8/ - ln -s newgrp debian/tmp-l/usr/bin/sg - ln -s newgrp.1.gz debian/tmp-l/usr/man/man1/sg.1.gz - install -m600 etc/login.defs.linux debian/tmp-l/etc/login.defs - install -m600 etc/{login.access,limits} debian/{securetty,porttime} debian/tmp-l/etc/ - install debian/logoutd.init debian/tmp-l/etc/init.d/logoutd - install -m644 debian/changelog debian/tmp-l/usr/doc/login/changelog.Debian - install -m644 doc/CHANGES debian/tmp-l/usr/doc/login/changelog - find debian/tmp-l/usr/{doc,man} -type f | xargs gzip -9 - install -m644 debian/login.copyright debian/tmp-l/usr/doc/login/copyright - install debian/login.preinst debian/tmp-l/DEBIAN/preinst - install debian/login.postinst debian/tmp-l/DEBIAN/postinst - install debian/login.prerm debian/tmp-l/DEBIAN/prerm - install debian/login.postrm debian/tmp-l/DEBIAN/postrm - install -m644 debian/login.conffiles debian/tmp-l/DEBIAN/conffiles - dpkg-shlibdeps debian/tmp-l/{bin/*,usr/bin/*,usr/sbin/*} - dpkg-gencontrol -isp -plogin -Pdebian/tmp-l - ./debian/checksums debian/tmp-l - -binary-passwd: checkroot build - $(checkdir) - -rm -rf debian/tmp-p - install -d debian/tmp-p/{DEBIAN,etc/{cron.daily,init.d},usr/{sbin,bin,man/{man1,man5,man8},doc/passwd}} - install -m644 etc/shells debian/tmp-p/etc/ - install debian/passwd.cron debian/tmp-p/etc/cron.daily/passwd - install debian/passwd.init debian/tmp-p/etc/init.d/passwd - install -s -m4755 src/{chage,chfn,chsh,expiry,gpasswd,passwd} debian/tmp-p/usr/bin/ - install -s src/{chpasswd,groupadd,groupdel,groupmod,grpck,grpconv,grpunconv} \ - src/{newusers,pwck,pwconv,pwunconv,useradd,userdel} \ - src/{dpasswd,usermod,vipw} debian/tmp-p/usr/sbin/ - install -m644 man/{chage.1,chfn.1,chsh.1,gpasswd.1,passwd.1} \ - debian/tmp-p/usr/man/man1/ - install -m644 man/{chpasswd.8,groupadd.8,groupdel.8,groupmod.8,grpck.8} \ - man/{newusers.8,pwck.8,dpasswd.8} \ - man/{useradd.8,userdel.8,usermod.8,vipw.8,shadowconfig.8,pwconv.8} \ - debian/tmp-p/usr/man/man8/ - install -m644 man/{passwd.5,shadow.5} debian/tmp-p/usr/man/man5/ - ln -s vipw debian/tmp-p/usr/sbin/vigr - ln -s vipw.8.gz debian/tmp-p/usr/man/man8/vigr.8.gz - for i in pwunconv.8.gz grpconv.8.gz grpunconv.8.gz ; do \ - ln -s pwconv.8.gz debian/tmp-p/usr/man/man8/$$i ; done - install -m644 debian/changelog debian/tmp-p/usr/doc/passwd/changelog.Debian - install -m644 doc/{CHANGES,README,README.limits,README.linux,README.debian} \ - debian/tmp-p/usr/doc/passwd/ - find debian/tmp-p/usr/{doc,man} -type f | xargs gzip -9f - install -m644 debian/passwd.copyright debian/tmp-p/usr/doc/passwd/copyright - install debian/login.preinst debian/tmp-p/DEBIAN/preinst - install debian/passwd.postinst debian/tmp-p/DEBIAN/postinst - install debian/passwd.postrm debian/tmp-p/DEBIAN/postrm - install -m644 debian/passwd.conffiles debian/tmp-p/DEBIAN/conffiles - dpkg-shlibdeps debian/tmp-p/usr/{bin/*,sbin/*} - # dpkg-shlibdeps fails on scripts, so install them now... - install src/shadowconfig.sh debian/tmp-p/usr/sbin/shadowconfig -ifeq ($(DEB_HOST_GNU_SYSTEM),gnu) - install etc/login.defs.hurd debian/tmp-p/etc/login.defs - echo "/etc/login.defs" >> debian/tmp-p/DEBIAN/conffiles -endif - dpkg-gencontrol -isp -ppasswd -Pdebian/tmp-p - ./debian/checksums debian/tmp-p - -binary-su: checkroot build - $(checkdir) - -rm -rf debian/tmp-s - install -d debian/tmp-s/{DEBIAN,etc,bin,usr/{doc/secure-su,man/man{1,5}}} - install -s -m4755 src/su debian/tmp-s/bin/ - install -m644 etc/suauth debian/tmp-s/etc/ - install -m644 man/suauth.5 debian/tmp-s/usr/man/man5/ - install -m644 man/su.1 debian/tmp-s/usr/man/man1/ - install -m644 debian/secure-su.README debian/tmp-s/usr/doc/secure-su/README - install -m644 debian/changelog debian/tmp-s/usr/doc/secure-su/ - find debian/tmp-s/usr/{doc,man} -type f | xargs gzip -9f - install -m644 debian/secure-su.copyright debian/tmp-s/usr/doc/secure-su/copyright - install debian/secure-su.preinst debian/tmp-s/DEBIAN/preinst - install debian/secure-su.postrm debian/tmp-s/DEBIAN/postrm - install -m644 debian/secure-su.conffiles debian/tmp-s/DEBIAN/conffiles - dpkg-shlibdeps debian/tmp-s/bin/su - dpkg-gencontrol -isp -psecure-su -Pdebian/tmp-s - ./debian/checksums debian/tmp-s - -define checkdir - test -f lib/shadow.c -a -f debian/rules -endef - - -binary: binary-indep binary-arch - -source diff: - @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false - -checkroot: - $(checkdir) -# test root = "`whoami`" - -.PHONY: binary binary-arch binary-indep clean checkroot - -# Local Variables: -# mode:Makefile diff --git a/debian/secure-su.README b/debian/secure-su.README deleted file mode 100644 index 723f37a0..00000000 --- a/debian/secure-su.README +++ /dev/null @@ -1,4 +0,0 @@ -The su from shellutils is diverted into /bin/secure-su. That -directory MUST be owned by root and have permissions 700. Otherwise -you will lost any security advantages you will gain by installing -secure-su as users can still invoke the old su. diff --git a/debian/secure-su.conffiles b/debian/secure-su.conffiles deleted file mode 100644 index 2853262a..00000000 --- a/debian/secure-su.conffiles +++ /dev/null @@ -1 +0,0 @@ -/etc/suauth diff --git a/debian/secure-su.copyright b/debian/secure-su.copyright deleted file mode 100644 index 94db3b18..00000000 --- a/debian/secure-su.copyright +++ /dev/null @@ -1,54 +0,0 @@ -This is Debian/GNU Linux's prepackaged version of secure-su. - -It was downloaded from: . - -This software is copyright 1988 - 1994, Julianne Frances Haugh. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. Neither the name of Julianne F. Haugh nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -This source code is currently archived on ftp.uu.net in the -comp.sources.misc portion of the USENET archives. You may also contact -the author, Julianne F. Haugh, at jockgrrl@ix.netcom.com if you have -any questions regarding this package. - -THIS SOFTWARE IS BEING DISTRIBUTED AS-IS. THE AUTHORS DISCLAIM ALL -LIABILITY FOR ANY CONSEQUENCES OF USE. THE USER IS SOLELY RESPONSIBLE -FOR THE MAINTENANCE OF THIS SOFTWARE PACKAGE. THE AUTHORS ARE UNDER NO -OBLIGATION TO PROVIDE MODIFICATIONS OR IMPROVEMENTS. THE USER IS -ENCOURAGED TO TAKE ANY AND ALL STEPS NEEDED TO PROTECT AGAINST ACCIDENTAL -LOSS OF INFORMATION OR MACHINE RESOURCES. - -Special thanks are due to Chip Rosenthal for his fine testing efforts; -to Steve Simmons for his work in porting this code to BSD; and to Bill -Kennedy for his contributions of LaserJet printer time and energies. -Also, thanks for Dennis L. Mumaugh for the initial shadow password -information and to Tony Walton (olapw@olgb1.oliv.co.uk) for the System -V Release 4 changes. Effort in porting to SunOS has been contributed -by Dr. Michael Newberry (miken@cs.adfa.oz.au) and Micheal J. Miller, Jr. -(mke@kaberd.rain.com). Effort in porting to AT&T UNIX System V Release -4 has been provided by Andrew Herbert (andrew@werple.pub.uu.oz.au). -Special thanks to Marek Michalkiewicz (marekm@i17linuxb.ists.pwr.wroc.pl) -for taking over the Linux port of this software. diff --git a/debian/secure-su.postrm b/debian/secure-su.postrm deleted file mode 100644 index aef1e6ab..00000000 --- a/debian/secure-su.postrm +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -set -e - -if [ remove = "$1" ] ; then - dpkg-divert --package secure-su --remove --rename \ - --divert /bin/secure-su/su /bin/su - dpkg-divert --package secure-su --remove --rename \ - --divert /usr/man/man1/gnu-su.1.gz /usr/man/man1/su.1.gz - rm /bin/secure-su/README.gz - rmdir /bin/secure-su || true -fi diff --git a/debian/secure-su.preinst b/debian/secure-su.preinst deleted file mode 100644 index d5522c2e..00000000 --- a/debian/secure-su.preinst +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -set -e - -if [ install = "$1" ] ; then - # dpkg-divert uses rename so can't do cross-device diversions. bleah. - [ -d /bin/secure-su ] || mkdir /bin/secure-su - chmod 700 /bin/secure-su - ln -sf ../../usr/doc/secure-su/README.gz /bin/secure-su/README.gz - dpkg-divert --package secure-su --add --rename \ - --divert /bin/secure-su/su /bin/su - dpkg-divert --package secure-su --add --rename \ - --divert /usr/man/man1/gnu-su.1.gz /usr/man/man1/su.1.gz -fi diff --git a/debian/securetty b/debian/securetty deleted file mode 100644 index d66d2a63..00000000 --- a/debian/securetty +++ /dev/null @@ -1,14 +0,0 @@ -# /etc/securetty: list of terminals on which root is allowed to login. -# See securetty(5) and login(1). -tty1 -tty2 -tty3 -tty4 -tty5 -tty6 -tty7 -tty8 -tty9 -tty10 -tty11 -tty12 diff --git a/debian/shadowconfig.sh b/debian/shadowconfig.sh deleted file mode 100755 index 17b8aa9e..00000000 --- a/debian/shadowconfig.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -# turn shadow passwords on or off on a Debian system - -set -e - -permfix () { - [ -f $1 ] || return 0 - chown root:shadow $1 - chmod 2755 $1 -} -export -f permfix - -shadowon () { -bash<<- EOF - set -e - - permfix /usr/X11R6/bin/xlock - permfix /usr/X11R6/bin/xtrlock - permfix /bin/vlock - - pwck -q - grpck - pwconv - grpconv - cd /etc - chown root:root passwd group - chmod 644 passwd group - chown root:shadow shadow gshadow - chmod 640 shadow gshadow -EOF -} - -shadowoff () { -bash<<- EOF - set -e - pwck -q - grpck - pwunconv - grpunconv - cd /etc - # sometimes the passwd perms get munged - chown root:root passwd group - chmod 644 passwd group -EOF -} - -case "$1" in - "on") - if shadowon ; then - echo Shadow passwords are now on. - else - echo Please correct the error and rerun \`$0 on\' - exit 1 - fi - ;; - "off") - if shadowoff ; then - echo Shadow passwords are now off. - else - echo Please correct the error and rerun \`$0 off\' - exit 1 - fi - ;; - *) - echo Usage: $0 on \| off - ;; -esac diff --git a/depcomp b/depcomp index 65899658..edb5d38e 100755 --- a/depcomp +++ b/depcomp @@ -1,7 +1,7 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2003 Free Software Foundation, Inc. # 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 @@ -31,7 +31,16 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then fi # `libtool' can also be set to `yes' or `no'. -depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" @@ -163,19 +172,25 @@ sgi) aix) # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. This file always lives in the current directory. - # Also, the AIX compiler puts `$object:' at the start of each line; - # $object doesn't have directory information. - stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" - outname="$stripped.o" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi - stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + if test $stat -eq 0; then : else rm -f "$tmpdepfile" @@ -183,6 +198,7 @@ aix) fi if test -f "$tmpdepfile"; then + outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. @@ -197,18 +213,61 @@ aix) rm -f "$tmpdepfile" ;; +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + tru64) - # The Tru64 AIX compiler uses -MD to generate dependencies as a side + # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - tmpdepfile1="$object.d" - tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` if test "$libtool" = yes; then + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.d" "$@" -Wc,-MD else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" "$@" -MD fi @@ -226,8 +285,8 @@ tru64) fi if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a space and a tab in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi @@ -240,34 +299,42 @@ tru64) dashmstdout) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - test -z "$dashmflag" && dashmflag=-M - ( IFS=" " - case " $* " in - *" --mode=compile "*) # this is libtool, let us make it quiet - for arg - do # cycle over the arguments - case "$arg" in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg ;; esac - "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' @@ -285,36 +352,40 @@ dashXmstdout) ;; makedepend) - # X makedepend - ( - shift - cleared=no - for arg in "$@"; do - case $cleared in no) - set ""; shift - cleared=yes - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift;; - -*) - ;; - *) - set fnord "$@" "$arg"; shift;; - esac + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tail +3 "$tmpdepfile" | tr ' ' ' + sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. @@ -324,35 +395,39 @@ makedepend) cpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg ;; esac - "$@" -E | + done + + "$@" -E | sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" @@ -362,34 +437,27 @@ cpp) msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, + # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; + shift + shift + ;; esac - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" diff --git a/doc/ANNOUNCE b/doc/ANNOUNCE deleted file mode 100644 index 36a75156..00000000 --- a/doc/ANNOUNCE +++ /dev/null @@ -1,48 +0,0 @@ -$Id: ANNOUNCE,v 1.5 2000/10/16 21:34:39 kloczek Exp $ - -[ This is the original comp.os.linux.announce posting (only the - author's name and e-mail address has been updated), kept here - for historical reasons. Many things have changed since then. - Linux distributions are using it, and the mailing list address - has been changed. See README.linux (in the same directory) - for more up to date information. --marekm ] - -This is a new beta release of the Shadow Password Suite for Linux. -Many bugs have been reported (and fixed!), and the package is now -under a BSD-style copyright. It was written by Julianne F. Haugh -, and the Linux port is now maintained by me. - -Again, this is beta software which may still have some bugs, please -treat it as such. Please don't install it if you don't know what -you're doing. Please test it as much as you can, and report any -bugs - if you report them, they will be fixed! If all goes well, -Shadow should be stable enough for general use within a few months. -Once it is stable, Linux distributions can start using it - there -are no copyright problems anymore. - -Thanks to Greg Gallagher there is now -a developers mailing list, shadow-list@neptune.cin.net. Send the -command "subscribe" to shadow-list-request@neptune.cin.net (NOT to -the mailing list itself!) to subscribe if you are interested. - - -LSM entry follows: - -Begin3 -Title: Shadow Password Suite -Version: 3.3.3-951218 -Entered-date: 18DEC95 -Description: -Keywords: login passwd security shadow -Author: jfh@austin.ibm.com (Julianne Frances Haugh) -Maintained-by: marekm@i17linuxb.ists.pwr.wroc.pl (Marek Michalkiewicz) -Primary-site: sunsite.unc.edu /pub/Linux/system/Admin - 220K shadow-951218.tar.gz -Alternate-site: ftp.ists.pwr.wroc.pl /pub/linux/shadow -Original-site: ftp.uu.net ? -Platforms: -Copying-policy: BSD-like -End - -Marek Michalkiewicz -marekm@i17linuxb.ists.pwr.wroc.pl diff --git a/doc/Makefile.am b/doc/Makefile.am index c6869979..ade72e0d 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,6 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -EXTRA_DIST = ANNOUNCE HOWTO LICENSE LSM README \ +EXTRA_DIST = HOWTO LICENSE LSM README \ README.limits README.linux README.mirrors README.nls README.pam \ README.platforms README.sun4 WISHLIST console.c.spec.txt cracklib26.diff diff --git a/doc/Makefile.in b/doc/Makefile.in index 2ff3887d..1a2cf02d 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,113 +17,163 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ -EXTRA_DIST = ANNOUNCE HOWTO LICENSE LSM README \ +EXTRA_DIST = HOWTO LICENSE LSM README \ README.limits README.linux README.mirrors README.nls README.pam \ README.platforms README.sun4 WISHLIST console.c.spec.txt cracklib26.diff subdir = doc +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = -DIST_COMMON = README INSTALL Makefile.am Makefile.in +DIST_COMMON = README $(srcdir)/Makefile.in INSTALL Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -132,17 +183,12 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -150,15 +196,26 @@ top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -170,7 +227,6 @@ check: check-am all-am: Makefile installdirs: - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -182,6 +238,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -189,7 +246,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -199,7 +256,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -221,13 +278,21 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ @@ -237,7 +302,8 @@ uninstall-am: uninstall-info-am install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am # 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. diff --git a/doc/README.pam b/doc/README.pam index 4a873640..645cc734 100644 --- a/doc/README.pam +++ b/doc/README.pam @@ -21,7 +21,6 @@ login: passwd: - administrator defined authentication methods - - TCFS support - password expiration - password strength checks diff --git a/etc/Makefile.in b/etc/Makefile.in index 76e10098..a4f7cf08 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,99 +17,143 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ EXTRA_DIST = \ limits \ @@ -121,20 +166,27 @@ EXTRA_DIST = \ SUBDIRS = pam.d subdir = etc +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = Makefile.am Makefile.in +RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ + ps-recursive install-info-recursive uninstall-info-recursive \ + all-recursive install-data-recursive install-exec-recursive \ + installdirs-recursive install-recursive uninstall-recursive \ + check-recursive installcheck-recursive +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu etc/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -144,13 +196,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu etc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd @@ -160,7 +205,7 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -180,7 +225,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -207,66 +252,108 @@ tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) + mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ + if (etags --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + else \ + include_option=--include; \ + fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + test -f $$subdir/TAGS && \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ + here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - for subdir in $(SUBDIRS); do \ + list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -296,6 +383,7 @@ install-am: all-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -303,7 +391,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -313,7 +401,7 @@ clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags @@ -336,30 +424,40 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ + clean-generic clean-libtool clean-recursive ctags \ + ctags-recursive distclean distclean-generic distclean-libtool \ + distclean-recursive distclean-tags distdir dvi dvi-am \ + dvi-recursive info info-am info-recursive install install-am \ + install-data install-data-am install-data-recursive \ + install-exec install-exec-am install-exec-recursive \ + install-info install-info-am install-info-recursive install-man \ + install-recursive install-strip installcheck installcheck-am \ + installdirs installdirs-am installdirs-recursive \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ + pdf-recursive ps ps-am ps-recursive tags tags-recursive \ + uninstall uninstall-am uninstall-info-am \ uninstall-info-recursive uninstall-recursive # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/etc/login.defs b/etc/login.defs index 7af8d118..976f92bb 100644 --- a/etc/login.defs +++ b/etc/login.defs @@ -1,7 +1,7 @@ # # /etc/login.defs - Configuration control definitions for the login package. # -# $Id: login.defs,v 1.2 1997/05/01 23:14:35 marekm Exp $ +# $Id: login.defs,v 1.5 2003/05/04 20:09:43 kloczek Exp $ # # Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. # If unspecified, some arbitrary (and possibly incorrect) value will @@ -17,12 +17,7 @@ FAIL_DELAY 5 # -# Enable additional passwords upon dialup lines specified in /etc/dialups. -# -DIALUPS_CHECK_ENAB yes - -# -# Enable logging and display of /usr/adm/faillog login failure info. +# Enable logging and display of /var/log/faillog login failure info. # FAILLOG_ENAB yes @@ -32,7 +27,7 @@ FAILLOG_ENAB yes LOG_UNKFAIL_ENAB yes # -# Enable logging and display of /usr/adm/lastlog login time info. +# Enable logging and display of /var/log/lastlog login time info. # LASTLOG_ENAB yes @@ -74,7 +69,7 @@ CONSOLE /etc/consoles # # If defined, all su activity is logged to this file. # -SULOG_FILE /usr/adm/sulog +SULOG_FILE /var/log/sulog # # If defined, ":" delimited list of "message of the day" files to @@ -121,7 +116,7 @@ SU_NAME su # MAILDIR is for Qmail # #MAILDIR Maildir -MAIL_DIR /usr/spool/mail +MAIL_DIR /var/mail #MAIL_FILE .mail # @@ -154,8 +149,8 @@ ENV_HZ HZ=50 # # *REQUIRED* The default PATH settings, for superuser and normal users. # -ENV_SUPATH PATH=/etc/local:/etc:/local/bin:/usr/bin:/bin -ENV_PATH PATH=/local/bin:/usr/bin:/bin +ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin +ENV_PATH PATH=/bin:/usr/bin # # Terminal permissions @@ -212,3 +207,7 @@ SU_WHEEL_ONLY no # If compiled with cracklib support, where are the dictionaries # #CRACKLIB_DICTPATH /usr/share/lib/pw_dict + +# chkpasswd uses this one +MD5_CRYPT_ENAB yes + diff --git a/etc/login.defs.linux b/etc/login.defs.linux index 94402934..5ea0376c 100644 --- a/etc/login.defs.linux +++ b/etc/login.defs.linux @@ -1,7 +1,7 @@ # # /etc/login.defs - Configuration control definitions for the login package. # -# $Id: login.defs.linux,v 1.12 2000/08/26 18:27:10 marekm Exp $ +# $Id: login.defs.linux,v 1.14 2003/05/04 20:09:43 kloczek Exp $ # # Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. # If unspecified, some arbitrary (and possibly incorrect) value will @@ -17,11 +17,6 @@ # FAIL_DELAY 3 -# -# Enable additional passwords upon dialup lines specified in /etc/dialups. -# -DIALUPS_CHECK_ENAB yes - # # Enable logging and display of /var/log/faillog login failure info. # @@ -331,13 +326,6 @@ ENVIRON_FILE /etc/environment # #USERDEL_CMD /usr/sbin/userdel_local -# -# If defined, either full pathname of a file containing device names or -# a ":" delimited list of device names. No password is required to log in -# as a non-root user on these devices. -# -#NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6 - # # When prompting for password without echo, getpass() can optionally # display a random number (in the range 1 to GETPASS_ASTERISKS) of '*' diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in index c43e8d19..ed15e32e 100644 --- a/etc/pam.d/Makefile.in +++ b/etc/pam.d/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,110 +17,160 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ EXTRA_DIST = passwd su shadow useradd subdir = etc/pam.d +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu etc/pam.d/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -129,17 +180,12 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu etc/pam.d/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -147,15 +193,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -167,7 +224,6 @@ check: check-am all-am: Makefile installdirs: - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -179,6 +235,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -186,7 +243,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -196,7 +253,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -218,13 +275,21 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ @@ -234,7 +299,8 @@ uninstall-am: uninstall-info-am install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am # 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. diff --git a/etc/useradd b/etc/useradd index 0a28b4e4..7d6f65e6 100644 --- a/etc/useradd +++ b/etc/useradd @@ -5,3 +5,4 @@ INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel +CREATE_MAIL_SPOOL=yes diff --git a/install-sh b/install-sh index e9de2384..6ce63b9f 100755 --- a/install-sh +++ b/install-sh @@ -1,19 +1,37 @@ #!/bin/sh # # install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). # -# Copyright 1991 by the Massachusetts Institute of Technology +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. # -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it @@ -56,7 +74,7 @@ dir_arg="" while [ x"$1" != x ]; do case $1 in - -c) instcmd="$cpprog" + -c) instcmd=$cpprog shift continue;; @@ -79,7 +97,7 @@ while [ x"$1" != x ]; do shift continue;; - -s) stripcmd="$stripprog" + -s) stripcmd=$stripprog shift continue;; @@ -106,128 +124,132 @@ done if [ x"$src" = x ] then - echo "install: no input file specified" + echo "$0: no input file specified" >&2 exit 1 else - true + : fi if [ x"$dir_arg" != x ]; then dst=$src src="" - - if [ -d $dst ]; then + + if [ -d "$dst" ]; then instcmd=: chmodcmd="" else - instcmd=mkdir + instcmd=$mkdirprog fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad +# might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. - if [ -f $src -o -d $src ] + if [ -f "$src" ] || [ -d "$src" ] then - true + : else - echo "install: $src does not exist" + echo "$0: $src does not exist" >&2 exit 1 fi - + if [ x"$dst" = x ] then - echo "install: no destination specified" + echo "$0: no destination specified" >&2 exit 1 else - true + : fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic - if [ -d $dst ] + if [ -d "$dst" ] then - dst="$dst"/`basename $src` + dst=$dst/`basename "$src"` else - true + : fi fi ## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" +defaultIFS=' + ' +IFS="${IFS-$defaultIFS}" -oIFS="${IFS}" +oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS pathcomp='' while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" + pathcomp=$pathcomp$1 shift - if [ ! -d "${pathcomp}" ] ; + if [ ! -d "$pathcomp" ] ; then - $mkdirprog "${pathcomp}" + $mkdirprog "$pathcomp" else - true + : fi - pathcomp="${pathcomp}/" + pathcomp=$pathcomp/ done fi if [ x"$dir_arg" != x ] then - $doit $instcmd $dst && + $doit $instcmd "$dst" && - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi else # If we're going to rename the final executable, determine the name now. - if [ x"$transformarg" = x ] + if [ x"$transformarg" = x ] then - dstfile=`basename $dst` + dstfile=`basename "$dst"` else - dstfile=`basename $dst $transformbasename | + dstfile=`basename "$dst" $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename - if [ x"$dstfile" = x ] + if [ x"$dstfile" = x ] then - dstfile=`basename $dst` + dstfile=`basename "$dst"` else - true + : fi -# Make a temp file name in the proper directory. +# Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/#inst.$$# + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + +# Trap to clean up temp files at exit. + + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 # Move or copy the file name to the temp name - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && + $doit $instcmd "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits @@ -235,17 +257,38 @@ else # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# Now remove or move aside any old file at destination location. We try this +# two ways since rm can't unlink itself on some systems and the destination +# file might be busy for other reasons. In this case, the final cleanup +# might fail but the new file should still install successfully. + +{ + if [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && # Now rename the file to the real destination. - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" fi && +# The final little trick to "correctly" pass the exit status to the exit trap. -exit 0 +{ + (exit 0); exit +} diff --git a/intl/ChangeLog b/intl/ChangeLog deleted file mode 100644 index 84e2b37e..00000000 --- a/intl/ChangeLog +++ /dev/null @@ -1,4 +0,0 @@ -2001-09-13 GNU - - * Version 0.10.40 released. - diff --git a/intl/Makefile.in b/intl/Makefile.in deleted file mode 100644 index 19ed4a7e..00000000 --- a/intl/Makefile.in +++ /dev/null @@ -1,313 +0,0 @@ -# Makefile for directory with message catalog handling in GNU NLS Utilities. -# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; either version 2, 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 -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library 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. - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -SHELL = /bin/sh - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -top_builddir = .. -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -transform = @program_transform_name@ -libdir = @libdir@ -includedir = @includedir@ -datadir = @datadir@ -localedir = $(datadir)/locale -gettextsrcdir = $(datadir)/gettext/intl -aliaspath = $(localedir) -subdir = intl - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` - -l = @INTL_LIBTOOL_SUFFIX_PREFIX@ - -AR = ar -CC = @CC@ -LIBTOOL = @LIBTOOL@ -RANLIB = @RANLIB@ -YACC = @INTLBISON@ -y -d -YFLAGS = --name-prefix=__gettext - -DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ --DLIBDIR=\"$(libdir)\" @DEFS@ -CPPFLAGS = @CPPFLAGS@ -CFLAGS = @CFLAGS@ -LDFLAGS = @LDFLAGS@ - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -HEADERS = $(COMHDRS) libgnuintl.h libgettext.h loadinfo.h -COMHDRS = gettext.h gettextP.h hash-string.h -SOURCES = $(COMSRCS) intl-compat.c -COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \ -finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \ -explodename.c dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \ -localcharset.c -OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \ -finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \ -explodename.$lo dcigettext.$lo dcngettext.$lo dngettext.$lo ngettext.$lo \ -plural.$lo localcharset.$lo -GETTOBJS = intl-compat.$lo -DISTFILES.common = Makefile.in \ -config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES) -DISTFILES.generated = plural.c -DISTFILES.normal = VERSION -DISTFILES.gettext = COPYING.LIB-2 COPYING.LIB-2.1 libintl.glibc -DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c - -# Libtool's library version information for libintl. -# Before making a gettext release, the gettext maintainer must change this -# according to the libtool documentation, section "Library interface versions". -# Maintainers of other packages that include the intl directory must *not* -# change these values. -LTV_CURRENT=1 -LTV_REVISION=1 -LTV_AGE=0 - -.SUFFIXES: -.SUFFIXES: .c .y .o .lo .sin .sed -.c.o: - $(COMPILE) $< -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) $< - -.y.c: - $(YACC) $(YFLAGS) --output $@ $< - rm -f $*.h - -.sin.sed: - sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@ - mv t-$@ $@ - -INCLUDES = -I.. -I. -I$(top_srcdir)/intl - -all: all-@USE_INCLUDED_LIBINTL@ -all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed -all-no: all-no-@BUILD_INCLUDED_LIBINTL@ -all-no-yes: libgnuintl.$la -all-no-no: - -libintl.a libgnuintl.a: $(OBJECTS) - rm -f $@ - $(AR) cru $@ $(OBJECTS) - $(RANLIB) $@ - -libintl.la libgnuintl.la: $(OBJECTS) - $(LIBTOOL) --mode=link \ - $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ - $(OBJECTS) @LIBICONV@ \ - -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ - -rpath $(libdir) \ - -no-undefined - -libintl.h: libgnuintl.h - cp $(srcdir)/libgnuintl.h libintl.h - -charset.alias: config.charset - $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ - mv t-$@ $@ - -check: all - -# This installation goal is only used in GNU gettext. Packages which -# only use the library should use install instead. - -# We must not install the libintl.h/libintl.a files if we are on a -# system which has the GNU gettext() function in its C library or in a -# separate library. -# If you want to use the one which comes with this version of the -# package, you have to use `configure --with-included-gettext'. -install: install-exec install-data -install-exec: all - if test "$(PACKAGE)" = "gettext" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ - $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ - $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ - $(LIBTOOL) --mode=install \ - $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ - else \ - : ; \ - fi - if test '@USE_INCLUDED_LIBINTL@' = yes; then \ - $(mkinstalldirs) $(DESTDIR)$(libdir); \ - temp=$(DESTDIR)$(libdir)/t-charset.alias; \ - dest=$(DESTDIR)$(libdir)/charset.alias; \ - if test -f $(DESTDIR)$(libdir)/charset.alias; then \ - orig=$(DESTDIR)$(libdir)/charset.alias; \ - sed -f ref-add.sed $$orig > $$temp; \ - $(INSTALL_DATA) $$temp $$dest; \ - rm -f $$temp; \ - else \ - if test @GLIBC21@ = no; then \ - orig=charset.alias; \ - sed -f ref-add.sed $$orig > $$temp; \ - $(INSTALL_DATA) $$temp $$dest; \ - rm -f $$temp; \ - fi; \ - fi; \ - $(mkinstalldirs) $(DESTDIR)$(localedir); \ - test -f $(DESTDIR)$(localedir)/locale.alias \ - && orig=$(DESTDIR)$(localedir)/locale.alias \ - || orig=$(srcdir)/locale.alias; \ - temp=$(DESTDIR)$(localedir)/t-locale.alias; \ - dest=$(DESTDIR)$(localedir)/locale.alias; \ - sed -f ref-add.sed $$orig > $$temp; \ - $(INSTALL_DATA) $$temp $$dest; \ - rm -f $$temp; \ - else \ - : ; \ - fi -install-data: all - if test "$(PACKAGE)" = "gettext"; then \ - $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ - $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ - $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ - dists="COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common)"; \ - for file in $$dists; do \ - $(INSTALL_DATA) $(srcdir)/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ - dists="$(DISTFILES.generated)"; \ - for file in $$dists; do \ - if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ - $(INSTALL_DATA) $$dir/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - dists="$(DISTFILES.obsolete)"; \ - for file in $$dists; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - if test "$(PACKAGE)" = "gettext" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ - rm -f $(DESTDIR)$(includedir)/libintl.h; \ - $(LIBTOOL) --mode=uninstall \ - rm -f $(DESTDIR)$(libdir)/libintl.$la; \ - else \ - : ; \ - fi - if test '@USE_INCLUDED_LIBINTL@' = yes; then \ - if test -f $(DESTDIR)$(libdir)/charset.alias; then \ - temp=$(DESTDIR)$(libdir)/t-charset.alias; \ - dest=$(DESTDIR)$(libdir)/charset.alias; \ - sed -f ref-del.sed $$dest > $$temp; \ - if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ - rm -f $$dest; \ - else \ - $(INSTALL_DATA) $$temp $$dest; \ - fi; \ - rm -f $$temp; \ - fi; \ - if test -f $(DESTDIR)$(localedir)/locale.alias; then \ - temp=$(DESTDIR)$(localedir)/t-locale.alias; \ - dest=$(DESTDIR)$(localedir)/locale.alias; \ - sed -f ref-del.sed $$dest > $$temp; \ - if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ - rm -f $$dest; \ - else \ - $(INSTALL_DATA) $$temp $$dest; \ - fi; \ - rm -f $$temp; \ - fi; \ - else \ - : ; \ - fi - if test "$(PACKAGE)" = "gettext"; then \ - for file in VERSION ChangeLog COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi - -info dvi: - -$(OBJECTS): ../config.h libgnuintl.h -bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h -dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h - -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) - here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) - -id: ID - -ID: $(HEADERS) $(SOURCES) - here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) - - -mostlyclean: - rm -f *.a *.la *.o *.lo core core.* - rm -f libintl.h charset.alias ref-add.sed ref-del.sed - rm -f -r .libs _libs - -clean: mostlyclean - -distclean: clean - rm -f Makefile ID TAGS - if test "$(PACKAGE)" = gettext; then \ - rm -f ChangeLog.inst $(DISTFILES.normal); \ - else \ - : ; \ - fi - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - - -# GNU gettext needs not contain the file `VERSION' but contains some -# other files which should not be distributed in other packages. -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: Makefile - if test "$(PACKAGE)" = gettext; then \ - additional="$(DISTFILES.gettext)"; \ - else \ - additional="$(DISTFILES.normal)"; \ - fi; \ - $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ - for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ - if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ - ln $$dir/$$file $(distdir) 2> /dev/null \ - || cp -p $$dir/$$file $(distdir); \ - done - -Makefile: Makefile.in ../config.status - cd .. \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/intl/VERSION b/intl/VERSION deleted file mode 100644 index cb8a01a7..00000000 --- a/intl/VERSION +++ /dev/null @@ -1 +0,0 @@ -GNU gettext library from gettext-0.10.40 diff --git a/intl/bindtextdom.c b/intl/bindtextdom.c deleted file mode 100644 index c6a9bd16..00000000 --- a/intl/bindtextdom.c +++ /dev/null @@ -1,369 +0,0 @@ -/* Implementation of the bindtextdomain(3) function - Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include - -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif -#include "gettextP.h" - -#ifdef _LIBC -/* We have to handle multi-threaded applications. */ -# include -#else -/* Provide dummy implementation if this is outside glibc. */ -# define __libc_rwlock_define(CLASS, NAME) -# define __libc_rwlock_wrlock(NAME) -# define __libc_rwlock_unlock(NAME) -#endif - -/* The internal variables in the standalone libintl.a must have different - names than the internal variables in GNU libc, otherwise programs - using libintl.a cannot be linked statically. */ -#if !defined _LIBC -# define _nl_default_dirname _nl_default_dirname__ -# define _nl_domain_bindings _nl_domain_bindings__ -#endif - -/* Some compilers, like SunOS4 cc, don't have offsetof in . */ -#ifndef offsetof -# define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) -#endif - -/* @@ end of prolog @@ */ - -/* Contains the default location of the message catalogs. */ -extern const char _nl_default_dirname[]; - -/* List with bindings of specific domains. */ -extern struct binding *_nl_domain_bindings; - -/* Lock variable to protect the global data in the gettext implementation. */ -__libc_rwlock_define (extern, _nl_state_lock) - - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define BINDTEXTDOMAIN __bindtextdomain -# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset -# ifndef strdup -# define strdup(str) __strdup (str) -# endif -#else -# define BINDTEXTDOMAIN bindtextdomain__ -# define BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset__ -#endif - -/* Prototypes for local functions. */ -static void set_binding_values PARAMS ((const char *domainname, - const char **dirnamep, - const char **codesetp)); - -/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP - to be used for the DOMAINNAME message catalog. - If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not - modified, only the current value is returned. - If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither - modified nor returned. */ -static void -set_binding_values (domainname, dirnamep, codesetp) - const char *domainname; - const char **dirnamep; - const char **codesetp; -{ - struct binding *binding; - int modified; - - /* Some sanity checks. */ - if (domainname == NULL || domainname[0] == '\0') - { - if (dirnamep) - *dirnamep = NULL; - if (codesetp) - *codesetp = NULL; - return; - } - - __libc_rwlock_wrlock (_nl_state_lock); - - modified = 0; - - for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) - { - int compare = strcmp (domainname, binding->domainname); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It is not in the list. */ - binding = NULL; - break; - } - } - - if (binding != NULL) - { - if (dirnamep) - { - const char *dirname = *dirnamep; - - if (dirname == NULL) - /* The current binding has be to returned. */ - *dirnamep = binding->dirname; - else - { - /* The domain is already bound. If the new value and the old - one are equal we simply do nothing. Otherwise replace the - old binding. */ - char *result = binding->dirname; - if (strcmp (dirname, result) != 0) - { - if (strcmp (dirname, _nl_default_dirname) == 0) - result = (char *) _nl_default_dirname; - else - { -#if defined _LIBC || defined HAVE_STRDUP - result = strdup (dirname); -#else - size_t len = strlen (dirname) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result != NULL, 1)) - memcpy (result, dirname, len); -#endif - } - - if (__builtin_expect (result != NULL, 1)) - { - if (binding->dirname != _nl_default_dirname) - free (binding->dirname); - - binding->dirname = result; - modified = 1; - } - } - *dirnamep = result; - } - } - - if (codesetp) - { - const char *codeset = *codesetp; - - if (codeset == NULL) - /* The current binding has be to returned. */ - *codesetp = binding->codeset; - else - { - /* The domain is already bound. If the new value and the old - one are equal we simply do nothing. Otherwise replace the - old binding. */ - char *result = binding->codeset; - if (result == NULL || strcmp (codeset, result) != 0) - { -#if defined _LIBC || defined HAVE_STRDUP - result = strdup (codeset); -#else - size_t len = strlen (codeset) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result != NULL, 1)) - memcpy (result, codeset, len); -#endif - - if (__builtin_expect (result != NULL, 1)) - { - if (binding->codeset != NULL) - free (binding->codeset); - - binding->codeset = result; - binding->codeset_cntr++; - modified = 1; - } - } - *codesetp = result; - } - } - } - else if ((dirnamep == NULL || *dirnamep == NULL) - && (codesetp == NULL || *codesetp == NULL)) - { - /* Simply return the default values. */ - if (dirnamep) - *dirnamep = _nl_default_dirname; - if (codesetp) - *codesetp = NULL; - } - else - { - /* We have to create a new binding. */ - size_t len = strlen (domainname) + 1; - struct binding *new_binding = - (struct binding *) malloc (offsetof (struct binding, domainname) + len); - - if (__builtin_expect (new_binding == NULL, 0)) - goto failed; - - memcpy (new_binding->domainname, domainname, len); - - if (dirnamep) - { - const char *dirname = *dirnamep; - - if (dirname == NULL) - /* The default value. */ - dirname = _nl_default_dirname; - else - { - if (strcmp (dirname, _nl_default_dirname) == 0) - dirname = _nl_default_dirname; - else - { - char *result; -#if defined _LIBC || defined HAVE_STRDUP - result = strdup (dirname); - if (__builtin_expect (result == NULL, 0)) - goto failed_dirname; -#else - size_t len = strlen (dirname) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result == NULL, 0)) - goto failed_dirname; - memcpy (result, dirname, len); -#endif - dirname = result; - } - } - *dirnamep = dirname; - new_binding->dirname = (char *) dirname; - } - else - /* The default value. */ - new_binding->dirname = (char *) _nl_default_dirname; - - new_binding->codeset_cntr = 0; - - if (codesetp) - { - const char *codeset = *codesetp; - - if (codeset != NULL) - { - char *result; - -#if defined _LIBC || defined HAVE_STRDUP - result = strdup (codeset); - if (__builtin_expect (result == NULL, 0)) - goto failed_codeset; -#else - size_t len = strlen (codeset) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result == NULL, 0)) - goto failed_codeset; - memcpy (result, codeset, len); -#endif - codeset = result; - new_binding->codeset_cntr++; - } - *codesetp = codeset; - new_binding->codeset = (char *) codeset; - } - else - new_binding->codeset = NULL; - - /* Now enqueue it. */ - if (_nl_domain_bindings == NULL - || strcmp (domainname, _nl_domain_bindings->domainname) < 0) - { - new_binding->next = _nl_domain_bindings; - _nl_domain_bindings = new_binding; - } - else - { - binding = _nl_domain_bindings; - while (binding->next != NULL - && strcmp (domainname, binding->next->domainname) > 0) - binding = binding->next; - - new_binding->next = binding->next; - binding->next = new_binding; - } - - modified = 1; - - /* Here we deal with memory allocation failures. */ - if (0) - { - failed_codeset: - if (new_binding->dirname != _nl_default_dirname) - free (new_binding->dirname); - failed_dirname: - free (new_binding); - failed: - if (dirnamep) - *dirnamep = NULL; - if (codesetp) - *codesetp = NULL; - } - } - - /* If we modified any binding, we flush the caches. */ - if (modified) - ++_nl_msg_cat_cntr; - - __libc_rwlock_unlock (_nl_state_lock); -} - -/* Specify that the DOMAINNAME message catalog will be found - in DIRNAME rather than in the system locale data base. */ -char * -BINDTEXTDOMAIN (domainname, dirname) - const char *domainname; - const char *dirname; -{ - set_binding_values (domainname, &dirname, NULL); - return (char *) dirname; -} - -/* Specify the character encoding in which the messages from the - DOMAINNAME message catalog will be returned. */ -char * -BIND_TEXTDOMAIN_CODESET (domainname, codeset) - const char *domainname; - const char *codeset; -{ - set_binding_values (domainname, NULL, &codeset); - return (char *) codeset; -} - -#ifdef _LIBC -/* Aliases for function names in GNU C Library. */ -weak_alias (__bindtextdomain, bindtextdomain); -weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset); -#endif diff --git a/intl/config.charset b/intl/config.charset deleted file mode 100644 index f4f2611c..00000000 --- a/intl/config.charset +++ /dev/null @@ -1,438 +0,0 @@ -#! /bin/sh -# Output a system dependent table of character encoding aliases. -# -# Copyright (C) 2000-2001 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; either version 2, 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 -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library 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. -# -# The table consists of lines of the form -# ALIAS CANONICAL -# -# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". -# ALIAS is compared in a case sensitive way. -# -# CANONICAL is the GNU canonical name for this character encoding. -# It must be an encoding supported by libiconv. Support by GNU libc is -# also desirable. CANONICAL is case insensitive. Usually an upper case -# MIME charset name is preferred. -# The current list of GNU canonical charset names is as follows. -# -# name used by which systems a MIME name? -# ASCII, ANSI_X3.4-1968 glibc solaris freebsd -# ISO-8859-1 glibc aix hpux irix osf solaris freebsd yes -# ISO-8859-2 glibc aix hpux irix osf solaris freebsd yes -# ISO-8859-3 glibc yes -# ISO-8859-4 osf solaris freebsd yes -# ISO-8859-5 glibc aix hpux irix osf solaris freebsd yes -# ISO-8859-6 glibc aix hpux solaris yes -# ISO-8859-7 glibc aix hpux irix osf solaris yes -# ISO-8859-8 glibc aix hpux osf solaris yes -# ISO-8859-9 glibc aix hpux irix osf solaris yes -# ISO-8859-13 glibc -# ISO-8859-15 glibc aix osf solaris freebsd -# KOI8-R glibc solaris freebsd yes -# KOI8-U glibc freebsd yes -# CP437 dos -# CP775 dos -# CP850 aix osf dos -# CP852 dos -# CP855 dos -# CP856 aix -# CP857 dos -# CP861 dos -# CP862 dos -# CP864 dos -# CP865 dos -# CP866 freebsd dos -# CP869 dos -# CP874 win32 dos -# CP922 aix -# CP932 aix win32 dos -# CP943 aix -# CP949 osf win32 dos -# CP950 win32 dos -# CP1046 aix -# CP1124 aix -# CP1129 aix -# CP1250 win32 -# CP1251 glibc win32 -# CP1252 aix win32 -# CP1253 win32 -# CP1254 win32 -# CP1255 win32 -# CP1256 win32 -# CP1257 win32 -# GB2312 glibc aix hpux irix solaris freebsd yes -# EUC-JP glibc aix hpux irix osf solaris freebsd yes -# EUC-KR glibc aix hpux irix osf solaris freebsd yes -# EUC-TW glibc aix hpux irix osf solaris -# BIG5 glibc aix hpux osf solaris freebsd yes -# BIG5-HKSCS glibc -# GBK aix osf win32 dos -# GB18030 glibc -# SHIFT_JIS hpux osf solaris freebsd yes -# JOHAB glibc win32 -# TIS-620 glibc aix hpux osf solaris -# VISCII glibc yes -# HP-ROMAN8 hpux -# HP-ARABIC8 hpux -# HP-GREEK8 hpux -# HP-HEBREW8 hpux -# HP-TURKISH8 hpux -# HP-KANA8 hpux -# DEC-KANJI osf -# DEC-HANYU osf -# UTF-8 glibc aix hpux osf solaris yes -# -# Note: Names which are not marked as being a MIME name should not be used in -# Internet protocols for information interchange (mail, news, etc.). -# -# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications -# must understand both names and treat them as equivalent. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM - -host="$1" -os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` -echo "# This file contains a table of character encoding aliases," -echo "# suitable for operating system '${os}'." -echo "# It was automatically generated from config.charset." -# List of references, updated during installation: -echo "# Packages using this file: " -case "$os" in - linux* | *-gnu*) - # With glibc-2.1 or newer, we don't need any canonicalization, - # because glibc has iconv and both glibc and libiconv support all - # GNU canonical names directly. Therefore, the Makefile does not - # need to install the alias file at all. - # The following applies only to glibc-2.0.x and older libcs. - echo "ISO_646.IRV:1983 ASCII" - ;; - aix*) - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-6 ISO-8859-6" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-8 ISO-8859-8" - echo "ISO8859-9 ISO-8859-9" - echo "ISO8859-15 ISO-8859-15" - echo "IBM-850 CP850" - echo "IBM-856 CP856" - echo "IBM-921 ISO-8859-13" - echo "IBM-922 CP922" - echo "IBM-932 CP932" - echo "IBM-943 CP943" - echo "IBM-1046 CP1046" - echo "IBM-1124 CP1124" - echo "IBM-1129 CP1129" - echo "IBM-1252 CP1252" - echo "IBM-eucCN GB2312" - echo "IBM-eucJP EUC-JP" - echo "IBM-eucKR EUC-KR" - echo "IBM-eucTW EUC-TW" - echo "big5 BIG5" - echo "GBK GBK" - echo "TIS-620 TIS-620" - echo "UTF-8 UTF-8" - ;; - hpux*) - echo "iso88591 ISO-8859-1" - echo "iso88592 ISO-8859-2" - echo "iso88595 ISO-8859-5" - echo "iso88596 ISO-8859-6" - echo "iso88597 ISO-8859-7" - echo "iso88598 ISO-8859-8" - echo "iso88599 ISO-8859-9" - echo "iso885915 ISO-8859-15" - echo "roman8 HP-ROMAN8" - echo "arabic8 HP-ARABIC8" - echo "greek8 HP-GREEK8" - echo "hebrew8 HP-HEBREW8" - echo "turkish8 HP-TURKISH8" - echo "kana8 HP-KANA8" - echo "tis620 TIS-620" - echo "big5 BIG5" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "eucTW EUC-TW" - echo "hp15CN GB2312" - #echo "ccdc ?" # what is this? - echo "SJIS SHIFT_JIS" - echo "utf8 UTF-8" - ;; - irix*) - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-9 ISO-8859-9" - echo "eucCN GB2312" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "eucTW EUC-TW" - ;; - osf*) - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-4 ISO-8859-4" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-8 ISO-8859-8" - echo "ISO8859-9 ISO-8859-9" - echo "ISO8859-15 ISO-8859-15" - echo "cp850 CP850" - echo "big5 BIG5" - echo "dechanyu DEC-HANYU" - echo "dechanzi GB2312" - echo "deckanji DEC-KANJI" - echo "deckorean EUC-KR" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "eucTW EUC-TW" - echo "GBK GBK" - echo "KSC5601 CP949" - echo "sdeckanji EUC-JP" - echo "SJIS SHIFT_JIS" - echo "TACTIS TIS-620" - echo "UTF-8 UTF-8" - ;; - solaris*) - echo "646 ASCII" - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-4 ISO-8859-4" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-6 ISO-8859-6" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-8 ISO-8859-8" - echo "ISO8859-9 ISO-8859-9" - echo "ISO8859-15 ISO-8859-15" - echo "koi8-r KOI8-R" - echo "BIG5 BIG5" - echo "gb2312 GB2312" - echo "cns11643 EUC-TW" - echo "5601 EUC-KR" - echo "eucJP EUC-JP" - echo "PCK SHIFT_JIS" - echo "TIS620.2533 TIS-620" - #echo "sun_eu_greek ?" # what is this? - echo "UTF-8 UTF-8" - ;; - freebsd*) - # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore - # localcharset.c falls back to using the full locale name - # from the environment variables. - echo "C ASCII" - echo "US-ASCII ASCII" - for l in la_LN lt_LN; do - echo "$l.ASCII ASCII" - done - for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ - fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ - lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do - echo "$l.ISO_8859-1 ISO-8859-1" - echo "$l.DIS_8859-15 ISO-8859-15" - done - for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do - echo "$l.ISO_8859-2 ISO-8859-2" - done - for l in la_LN lt_LT; do - echo "$l.ISO_8859-4 ISO-8859-4" - done - for l in ru_RU ru_SU; do - echo "$l.KOI8-R KOI8-R" - echo "$l.ISO_8859-5 ISO-8859-5" - echo "$l.CP866 CP866" - done - echo "uk_UA.KOI8-U KOI8-U" - echo "zh_TW.BIG5 BIG5" - echo "zh_TW.Big5 BIG5" - echo "zh_CN.EUC GB2312" - echo "ja_JP.EUC EUC-JP" - echo "ja_JP.SJIS SHIFT_JIS" - echo "ja_JP.Shift_JIS SHIFT_JIS" - echo "ko_KR.EUC EUC-KR" - ;; - beos*) - # BeOS has a single locale, and it has UTF-8 encoding. - echo "* UTF-8" - ;; - msdosdjgpp*) - # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore - # localcharset.c falls back to using the full locale name - # from the environment variables. - echo "#" - echo "# The encodings given here may not all be correct." - echo "# If you find that the encoding given for your language and" - echo "# country is not the one your DOS machine actually uses, just" - echo "# correct it in this file, and send a mail to" - echo "# Juan Manuel Guerrero " - echo "# and Bruno Haible ." - echo "#" - echo "C ASCII" - # ISO-8859-1 languages - echo "ca CP850" - echo "ca_ES CP850" - echo "da CP865" # not CP850 ?? - echo "da_DK CP865" # not CP850 ?? - echo "de CP850" - echo "de_AT CP850" - echo "de_CH CP850" - echo "de_DE CP850" - echo "en CP850" - echo "en_AU CP850" # not CP437 ?? - echo "en_CA CP850" - echo "en_GB CP850" - echo "en_NZ CP437" - echo "en_US CP437" - echo "en_ZA CP850" # not CP437 ?? - echo "es CP850" - echo "es_AR CP850" - echo "es_BO CP850" - echo "es_CL CP850" - echo "es_CO CP850" - echo "es_CR CP850" - echo "es_CU CP850" - echo "es_DO CP850" - echo "es_EC CP850" - echo "es_ES CP850" - echo "es_GT CP850" - echo "es_HN CP850" - echo "es_MX CP850" - echo "es_NI CP850" - echo "es_PA CP850" - echo "es_PY CP850" - echo "es_PE CP850" - echo "es_SV CP850" - echo "es_UY CP850" - echo "es_VE CP850" - echo "et CP850" - echo "et_EE CP850" - echo "eu CP850" - echo "eu_ES CP850" - echo "fi CP850" - echo "fi_FI CP850" - echo "fr CP850" - echo "fr_BE CP850" - echo "fr_CA CP850" - echo "fr_CH CP850" - echo "fr_FR CP850" - echo "ga CP850" - echo "ga_IE CP850" - echo "gd CP850" - echo "gd_GB CP850" - echo "gl CP850" - echo "gl_ES CP850" - echo "id CP850" # not CP437 ?? - echo "id_ID CP850" # not CP437 ?? - echo "is CP861" # not CP850 ?? - echo "is_IS CP861" # not CP850 ?? - echo "it CP850" - echo "it_CH CP850" - echo "it_IT CP850" - echo "lt CP775" - echo "lt_LT CP775" - echo "lv CP775" - echo "lv_LV CP775" - echo "nb CP865" # not CP850 ?? - echo "nb_NO CP865" # not CP850 ?? - echo "nl CP850" - echo "nl_BE CP850" - echo "nl_NL CP850" - echo "nn CP865" # not CP850 ?? - echo "nn_NO CP865" # not CP850 ?? - echo "no CP865" # not CP850 ?? - echo "no_NO CP865" # not CP850 ?? - echo "pt CP850" - echo "pt_BR CP850" - echo "pt_PT CP850" - echo "sv CP850" - echo "sv_SE CP850" - # ISO-8859-2 languages - echo "cs CP852" - echo "cs_CZ CP852" - echo "hr CP852" - echo "hr_HR CP852" - echo "hu CP852" - echo "hu_HU CP852" - echo "pl CP852" - echo "pl_PL CP852" - echo "ro CP852" - echo "ro_RO CP852" - echo "sk CP852" - echo "sk_SK CP852" - echo "sl CP852" - echo "sl_SI CP852" - echo "sq CP852" - echo "sq_AL CP852" - echo "sr CP852" # CP852 or CP866 or CP855 ?? - echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? - # ISO-8859-3 languages - echo "mt CP850" - echo "mt_MT CP850" - # ISO-8859-5 languages - echo "be CP866" - echo "be_BE CP866" - echo "bg CP866" # not CP855 ?? - echo "bg_BG CP866" # not CP855 ?? - echo "mk CP866" # not CP855 ?? - echo "mk_MK CP866" # not CP855 ?? - echo "ru KOI8-R" # not CP866 ?? - echo "ru_RU KOI8-R" # not CP866 ?? - # ISO-8859-6 languages - echo "ar CP864" - echo "ar_AE CP864" - echo "ar_DZ CP864" - echo "ar_EG CP864" - echo "ar_IQ CP864" - echo "ar_IR CP864" - echo "ar_JO CP864" - echo "ar_KW CP864" - echo "ar_MA CP864" - echo "ar_OM CP864" - echo "ar_QA CP864" - echo "ar_SA CP864" - echo "ar_SY CP864" - # ISO-8859-7 languages - echo "el CP869" - echo "el_GR CP869" - # ISO-8859-8 languages - echo "he CP862" - echo "he_IL CP862" - # ISO-8859-9 languages - echo "tr CP857" - echo "tr_TR CP857" - # Japanese - echo "ja CP932" - echo "ja_JP CP932" - # Chinese - echo "zh_CN GBK" - echo "zh_TW CP950" # not CP938 ?? - # Korean - echo "kr CP949" # not CP934 ?? - echo "kr_KR CP949" # not CP934 ?? - # Thai - echo "th CP874" - echo "th_TH CP874" - # Other - echo "eo CP850" - echo "eo_EO CP850" - ;; -esac diff --git a/intl/dcgettext.c b/intl/dcgettext.c deleted file mode 100644 index b7c96523..00000000 --- a/intl/dcgettext.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Implementation of the dcgettext(3) function. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define DCGETTEXT __dcgettext -# define DCIGETTEXT __dcigettext -#else -# define DCGETTEXT dcgettext__ -# define DCIGETTEXT dcigettext__ -#endif - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -char * -DCGETTEXT (domainname, msgid, category) - const char *domainname; - const char *msgid; - int category; -{ - return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__dcgettext, dcgettext); -#endif diff --git a/intl/dcigettext.c b/intl/dcigettext.c deleted file mode 100644 index 6acde195..00000000 --- a/intl/dcigettext.c +++ /dev/null @@ -1,1259 +0,0 @@ -/* Implementation of the internal dcigettext function. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* Tell glibc's to provide a prototype for mempcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#include -#ifndef errno -extern int errno; -#endif -#ifndef __set_errno -# define __set_errno(val) errno = (val) -#endif - -#include -#include - -#include -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#if defined HAVE_UNISTD_H || defined _LIBC -# include -#endif - -#include - -#if defined HAVE_SYS_PARAM_H || defined _LIBC -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif -#include "hash-string.h" - -/* Thread safetyness. */ -#ifdef _LIBC -# include -#else -/* Provide dummy implementation if this is outside glibc. */ -# define __libc_lock_define_initialized(CLASS, NAME) -# define __libc_lock_lock(NAME) -# define __libc_lock_unlock(NAME) -# define __libc_rwlock_define_initialized(CLASS, NAME) -# define __libc_rwlock_rdlock(NAME) -# define __libc_rwlock_unlock(NAME) -#endif - -/* Alignment of types. */ -#if defined __GNUC__ && __GNUC__ >= 2 -# define alignof(TYPE) __alignof__ (TYPE) -#else -# define alignof(TYPE) \ - ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2) -#endif - -/* The internal variables in the standalone libintl.a must have different - names than the internal variables in GNU libc, otherwise programs - using libintl.a cannot be linked statically. */ -#if !defined _LIBC -# define _nl_default_default_domain _nl_default_default_domain__ -# define _nl_current_default_domain _nl_current_default_domain__ -# define _nl_default_dirname _nl_default_dirname__ -# define _nl_domain_bindings _nl_domain_bindings__ -#endif - -/* Some compilers, like SunOS4 cc, don't have offsetof in . */ -#ifndef offsetof -# define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) -#endif - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ANSI C functions. This is required by the standard - because some ANSI C functions will require linking with this object - file and the name space must not be polluted. */ -# define getcwd __getcwd -# ifndef stpcpy -# define stpcpy __stpcpy -# endif -# define tfind __tfind -#else -# if !defined HAVE_GETCWD -char *getwd (); -# define getcwd(buf, max) getwd (buf) -# else -char *getcwd (); -# endif -# ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -# endif -# ifndef HAVE_MEMPCPY -static void *mempcpy PARAMS ((void *dest, const void *src, size_t n)); -# endif -#endif - -/* Amount to increase buffer size by in each try. */ -#define PATH_INCR 32 - -/* The following is from pathmax.h. */ -/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define - PATH_MAX but might cause redefinition warnings when sys/param.h is - later included (as on MORE/BSD 4.3). */ -#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__) -# include -#endif - -#ifndef _POSIX_PATH_MAX -# define _POSIX_PATH_MAX 255 -#endif - -#if !defined PATH_MAX && defined _PC_PATH_MAX -# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) -#endif - -/* Don't include sys/param.h if it already has been. */ -#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN -# include -#endif - -#if !defined PATH_MAX && defined MAXPATHLEN -# define PATH_MAX MAXPATHLEN -#endif - -#ifndef PATH_MAX -# define PATH_MAX _POSIX_PATH_MAX -#endif - -/* Pathname support. - ISSLASH(C) tests whether C is a directory separator character. - IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, - it may be concatenated to a directory pathname. - IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. - */ -#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ -# define ISSLASH(C) ((C) == '/' || (C) == '\\') -# define HAS_DEVICE(P) \ - ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ - && (P)[1] == ':') -# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) -# define IS_PATH_WITH_DIR(P) \ - (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) -#else - /* Unix */ -# define ISSLASH(C) ((C) == '/') -# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) -#endif - -/* XPG3 defines the result of `setlocale (category, NULL)' as: - ``Directs `setlocale()' to query `category' and return the current - setting of `local'.'' - However it does not specify the exact format. Neither do SUSV2 and - ISO C 99. So we can use this feature only on selected systems (e.g. - those using GNU C Library). */ -#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2) -# define HAVE_LOCALE_NULL -#endif - -/* This is the type used for the search tree where known translations - are stored. */ -struct known_translation_t -{ - /* Domain in which to search. */ - char *domainname; - - /* The category. */ - int category; - - /* State of the catalog counter at the point the string was found. */ - int counter; - - /* Catalog where the string was found. */ - struct loaded_l10nfile *domain; - - /* And finally the translation. */ - const char *translation; - size_t translation_length; - - /* Pointer to the string in question. */ - char msgid[ZERO]; -}; - -/* Root of the search tree with known translations. We can use this - only if the system provides the `tsearch' function family. */ -#if defined HAVE_TSEARCH || defined _LIBC -# include - -static void *root; - -# ifdef _LIBC -# define tsearch __tsearch -# endif - -/* Function to compare two entries in the table of known translations. */ -static int transcmp PARAMS ((const void *p1, const void *p2)); -static int -transcmp (p1, p2) - const void *p1; - const void *p2; -{ - const struct known_translation_t *s1; - const struct known_translation_t *s2; - int result; - - s1 = (const struct known_translation_t *) p1; - s2 = (const struct known_translation_t *) p2; - - result = strcmp (s1->msgid, s2->msgid); - if (result == 0) - { - result = strcmp (s1->domainname, s2->domainname); - if (result == 0) - /* We compare the category last (though this is the cheapest - operation) since it is hopefully always the same (namely - LC_MESSAGES). */ - result = s1->category - s2->category; - } - - return result; -} -#endif - -/* Name of the default domain used for gettext(3) prior any call to - textdomain(3). The default value for this is "messages". */ -const char _nl_default_default_domain[] = "messages"; - -/* Value used as the default domain for gettext(3). */ -const char *_nl_current_default_domain = _nl_default_default_domain; - -/* Contains the default location of the message catalogs. */ -const char _nl_default_dirname[] = LOCALEDIR; - -/* List with bindings of specific domains created by bindtextdomain() - calls. */ -struct binding *_nl_domain_bindings; - -/* Prototypes for local functions. */ -static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain, - unsigned long int n, - const char *translation, - size_t translation_len)) - internal_function; -static unsigned long int plural_eval PARAMS ((struct expression *pexp, - unsigned long int n)) - internal_function; -static const char *category_to_name PARAMS ((int category)) internal_function; -static const char *guess_category_value PARAMS ((int category, - const char *categoryname)) - internal_function; - - -/* For those loosing systems which don't have `alloca' we have to add - some additional code emulating it. */ -#ifdef HAVE_ALLOCA -/* Nothing has to be done. */ -# define ADD_BLOCK(list, address) /* nothing */ -# define FREE_BLOCKS(list) /* nothing */ -#else -struct block_list -{ - void *address; - struct block_list *next; -}; -# define ADD_BLOCK(list, addr) \ - do { \ - struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ - /* If we cannot get a free block we cannot add the new element to \ - the list. */ \ - if (newp != NULL) { \ - newp->address = (addr); \ - newp->next = (list); \ - (list) = newp; \ - } \ - } while (0) -# define FREE_BLOCKS(list) \ - do { \ - while (list != NULL) { \ - struct block_list *old = list; \ - list = list->next; \ - free (old); \ - } \ - } while (0) -# undef alloca -# define alloca(size) (malloc (size)) -#endif /* have alloca */ - - -#ifdef _LIBC -/* List of blocks allocated for translations. */ -typedef struct transmem_list -{ - struct transmem_list *next; - char data[ZERO]; -} transmem_block_t; -static struct transmem_list *transmem_list; -#else -typedef unsigned char transmem_block_t; -#endif - - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define DCIGETTEXT __dcigettext -#else -# define DCIGETTEXT dcigettext__ -#endif - -/* Lock variable to protect the global data in the gettext implementation. */ -#ifdef _LIBC -__libc_rwlock_define_initialized (, _nl_state_lock) -#endif - -/* Checking whether the binaries runs SUID must be done and glibc provides - easier methods therefore we make a difference here. */ -#ifdef _LIBC -# define ENABLE_SECURE __libc_enable_secure -# define DETERMINE_SECURE -#else -# ifndef HAVE_GETUID -# define getuid() 0 -# endif -# ifndef HAVE_GETGID -# define getgid() 0 -# endif -# ifndef HAVE_GETEUID -# define geteuid() getuid() -# endif -# ifndef HAVE_GETEGID -# define getegid() getgid() -# endif -static int enable_secure; -# define ENABLE_SECURE (enable_secure == 1) -# define DETERMINE_SECURE \ - if (enable_secure == 0) \ - { \ - if (getuid () != geteuid () || getgid () != getegid ()) \ - enable_secure = 1; \ - else \ - enable_secure = -1; \ - } -#endif - -/* Look up MSGID in the DOMAINNAME message catalog for the current - CATEGORY locale and, if PLURAL is nonzero, search over string - depending on the plural form determined by N. */ -char * -DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - int plural; - unsigned long int n; - int category; -{ -#ifndef HAVE_ALLOCA - struct block_list *block_list = NULL; -#endif - struct loaded_l10nfile *domain; - struct binding *binding; - const char *categoryname; - const char *categoryvalue; - char *dirname, *xdomainname; - char *single_locale; - char *retval; - size_t retlen; - int saved_errno; -#if defined HAVE_TSEARCH || defined _LIBC - struct known_translation_t *search; - struct known_translation_t **foundp = NULL; - size_t msgid_len; -#endif - size_t domainname_len; - - /* If no real MSGID is given return NULL. */ - if (msgid1 == NULL) - return NULL; - - __libc_rwlock_rdlock (_nl_state_lock); - - /* If DOMAINNAME is NULL, we are interested in the default domain. If - CATEGORY is not LC_MESSAGES this might not make much sense but the - definition left this undefined. */ - if (domainname == NULL) - domainname = _nl_current_default_domain; - -#if defined HAVE_TSEARCH || defined _LIBC - msgid_len = strlen (msgid1) + 1; - - /* Try to find the translation among those which we found at - some time. */ - search = (struct known_translation_t *) - alloca (offsetof (struct known_translation_t, msgid) + msgid_len); - memcpy (search->msgid, msgid1, msgid_len); - search->domainname = (char *) domainname; - search->category = category; - - foundp = (struct known_translation_t **) tfind (search, &root, transcmp); - if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) - { - /* Now deal with plural. */ - if (plural) - retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, - (*foundp)->translation_length); - else - retval = (char *) (*foundp)->translation; - - __libc_rwlock_unlock (_nl_state_lock); - return retval; - } -#endif - - /* Preserve the `errno' value. */ - saved_errno = errno; - - /* See whether this is a SUID binary or not. */ - DETERMINE_SECURE; - - /* First find matching binding. */ - for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) - { - int compare = strcmp (domainname, binding->domainname); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It is not in the list. */ - binding = NULL; - break; - } - } - - if (binding == NULL) - dirname = (char *) _nl_default_dirname; - else if (IS_ABSOLUTE_PATH (binding->dirname)) - dirname = binding->dirname; - else - { - /* We have a relative path. Make it absolute now. */ - size_t dirname_len = strlen (binding->dirname) + 1; - size_t path_max; - char *ret; - - path_max = (unsigned int) PATH_MAX; - path_max += 2; /* The getcwd docs say to do this. */ - - for (;;) - { - dirname = (char *) alloca (path_max + dirname_len); - ADD_BLOCK (block_list, dirname); - - __set_errno (0); - ret = getcwd (dirname, path_max); - if (ret != NULL || errno != ERANGE) - break; - - path_max += path_max / 2; - path_max += PATH_INCR; - } - - if (ret == NULL) - { - /* We cannot get the current working directory. Don't signal an - error but simply return the default string. */ - FREE_BLOCKS (block_list); - __libc_rwlock_unlock (_nl_state_lock); - __set_errno (saved_errno); - return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); - } - - stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname); - } - - /* Now determine the symbolic name of CATEGORY and its value. */ - categoryname = category_to_name (category); - categoryvalue = guess_category_value (category, categoryname); - - domainname_len = strlen (domainname); - xdomainname = (char *) alloca (strlen (categoryname) - + domainname_len + 5); - ADD_BLOCK (block_list, xdomainname); - - stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), - domainname, domainname_len), - ".mo"); - - /* Creating working area. */ - single_locale = (char *) alloca (strlen (categoryvalue) + 1); - ADD_BLOCK (block_list, single_locale); - - - /* Search for the given string. This is a loop because we perhaps - got an ordered list of languages to consider for the translation. */ - while (1) - { - /* Make CATEGORYVALUE point to the next element of the list. */ - while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') - ++categoryvalue; - if (categoryvalue[0] == '\0') - { - /* The whole contents of CATEGORYVALUE has been searched but - no valid entry has been found. We solve this situation - by implicitly appending a "C" entry, i.e. no translation - will take place. */ - single_locale[0] = 'C'; - single_locale[1] = '\0'; - } - else - { - char *cp = single_locale; - while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') - *cp++ = *categoryvalue++; - *cp = '\0'; - - /* When this is a SUID binary we must not allow accessing files - outside the dedicated directories. */ - if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) - /* Ingore this entry. */ - continue; - } - - /* If the current locale value is C (or POSIX) we don't load a - domain. Return the MSGID. */ - if (strcmp (single_locale, "C") == 0 - || strcmp (single_locale, "POSIX") == 0) - { - FREE_BLOCKS (block_list); - __libc_rwlock_unlock (_nl_state_lock); - __set_errno (saved_errno); - return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); - } - - - /* Find structure describing the message catalog matching the - DOMAINNAME and CATEGORY. */ - domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); - - if (domain != NULL) - { - retval = _nl_find_msg (domain, binding, msgid1, &retlen); - - if (retval == NULL) - { - int cnt; - - for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) - { - retval = _nl_find_msg (domain->successor[cnt], binding, - msgid1, &retlen); - - if (retval != NULL) - { - domain = domain->successor[cnt]; - break; - } - } - } - - if (retval != NULL) - { - /* Found the translation of MSGID1 in domain DOMAIN: - starting at RETVAL, RETLEN bytes. */ - FREE_BLOCKS (block_list); - __set_errno (saved_errno); -#if defined HAVE_TSEARCH || defined _LIBC - if (foundp == NULL) - { - /* Create a new entry and add it to the search tree. */ - struct known_translation_t *newp; - - newp = (struct known_translation_t *) - malloc (offsetof (struct known_translation_t, msgid) - + msgid_len + domainname_len + 1); - if (newp != NULL) - { - newp->domainname = - mempcpy (newp->msgid, msgid1, msgid_len); - memcpy (newp->domainname, domainname, domainname_len + 1); - newp->category = category; - newp->counter = _nl_msg_cat_cntr; - newp->domain = domain; - newp->translation = retval; - newp->translation_length = retlen; - - /* Insert the entry in the search tree. */ - foundp = (struct known_translation_t **) - tsearch (newp, &root, transcmp); - if (foundp == NULL - || __builtin_expect (*foundp != newp, 0)) - /* The insert failed. */ - free (newp); - } - } - else - { - /* We can update the existing entry. */ - (*foundp)->counter = _nl_msg_cat_cntr; - (*foundp)->domain = domain; - (*foundp)->translation = retval; - (*foundp)->translation_length = retlen; - } -#endif - /* Now deal with plural. */ - if (plural) - retval = plural_lookup (domain, n, retval, retlen); - - __libc_rwlock_unlock (_nl_state_lock); - return retval; - } - } - } - /* NOTREACHED */ -} - - -char * -internal_function -_nl_find_msg (domain_file, domainbinding, msgid, lengthp) - struct loaded_l10nfile *domain_file; - struct binding *domainbinding; - const char *msgid; - size_t *lengthp; -{ - struct loaded_domain *domain; - size_t act; - char *result; - size_t resultlen; - - if (domain_file->decided == 0) - _nl_load_domain (domain_file, domainbinding); - - if (domain_file->data == NULL) - return NULL; - - domain = (struct loaded_domain *) domain_file->data; - - /* Locate the MSGID and its translation. */ - if (domain->hash_size > 2 && domain->hash_tab != NULL) - { - /* Use the hashing table. */ - nls_uint32 len = strlen (msgid); - nls_uint32 hash_val = hash_string (msgid); - nls_uint32 idx = hash_val % domain->hash_size; - nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); - - while (1) - { - nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]); - - if (nstr == 0) - /* Hash table entry is empty. */ - return NULL; - - /* Compare msgid with the original string at index nstr-1. - We compare the lengths with >=, not ==, because plural entries - are represented by strings with an embedded NUL. */ - if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len - && (strcmp (msgid, - domain->data + W (domain->must_swap, - domain->orig_tab[nstr - 1].offset)) - == 0)) - { - act = nstr - 1; - goto found; - } - - if (idx >= domain->hash_size - incr) - idx -= domain->hash_size - incr; - else - idx += incr; - } - /* NOTREACHED */ - } - else - { - /* Try the default method: binary search in the sorted array of - messages. */ - size_t top, bottom; - - bottom = 0; - top = domain->nstrings; - while (bottom < top) - { - int cmp_val; - - act = (bottom + top) / 2; - cmp_val = strcmp (msgid, (domain->data - + W (domain->must_swap, - domain->orig_tab[act].offset))); - if (cmp_val < 0) - top = act; - else if (cmp_val > 0) - bottom = act + 1; - else - goto found; - } - /* No translation was found. */ - return NULL; - } - - found: - /* The translation was found at index ACT. If we have to convert the - string to use a different character set, this is the time. */ - result = ((char *) domain->data - + W (domain->must_swap, domain->trans_tab[act].offset)); - resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; - -#if defined _LIBC || HAVE_ICONV - if (domain->codeset_cntr - != (domainbinding != NULL ? domainbinding->codeset_cntr : 0)) - { - /* The domain's codeset has changed through bind_textdomain_codeset() - since the message catalog was initialized or last accessed. We - have to reinitialize the converter. */ - _nl_free_domain_conv (domain); - _nl_init_domain_conv (domain_file, domain, domainbinding); - } - - if ( -# ifdef _LIBC - domain->conv != (__gconv_t) -1 -# else -# if HAVE_ICONV - domain->conv != (iconv_t) -1 -# endif -# endif - ) - { - /* We are supposed to do a conversion. First allocate an - appropriate table with the same structure as the table - of translations in the file, where we can put the pointers - to the converted strings in. - There is a slight complication with plural entries. They - are represented by consecutive NUL terminated strings. We - handle this case by converting RESULTLEN bytes, including - NULs. */ - - if (domain->conv_tab == NULL - && ((domain->conv_tab = (char **) calloc (domain->nstrings, - sizeof (char *))) - == NULL)) - /* Mark that we didn't succeed allocating a table. */ - domain->conv_tab = (char **) -1; - - if (__builtin_expect (domain->conv_tab == (char **) -1, 0)) - /* Nothing we can do, no more memory. */ - goto converted; - - if (domain->conv_tab[act] == NULL) - { - /* We haven't used this string so far, so it is not - translated yet. Do this now. */ - /* We use a bit more efficient memory handling. - We allocate always larger blocks which get used over - time. This is faster than many small allocations. */ - __libc_lock_define_initialized (static, lock) -# define INITIAL_BLOCK_SIZE 4080 - static unsigned char *freemem; - static size_t freemem_size; - - const unsigned char *inbuf; - unsigned char *outbuf; - int malloc_count; -# ifndef _LIBC - transmem_block_t *transmem_list = NULL; -# endif - - __libc_lock_lock (lock); - - inbuf = (const unsigned char *) result; - outbuf = freemem + sizeof (size_t); - - malloc_count = 0; - while (1) - { - transmem_block_t *newmem; -# ifdef _LIBC - size_t non_reversible; - int res; - - if (freemem_size < sizeof (size_t)) - goto resize_freemem; - - res = __gconv (domain->conv, - &inbuf, inbuf + resultlen, - &outbuf, - outbuf + freemem_size - sizeof (size_t), - &non_reversible); - - if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) - break; - - if (res != __GCONV_FULL_OUTPUT) - { - __libc_lock_unlock (lock); - goto converted; - } - - inbuf = result; -# else -# if HAVE_ICONV - const char *inptr = (const char *) inbuf; - size_t inleft = resultlen; - char *outptr = (char *) outbuf; - size_t outleft; - - if (freemem_size < sizeof (size_t)) - goto resize_freemem; - - outleft = freemem_size - sizeof (size_t); - if (iconv (domain->conv, - (ICONV_CONST char **) &inptr, &inleft, - &outptr, &outleft) - != (size_t) (-1)) - { - outbuf = (unsigned char *) outptr; - break; - } - if (errno != E2BIG) - { - __libc_lock_unlock (lock); - goto converted; - } -# endif -# endif - - resize_freemem: - /* We must allocate a new buffer or resize the old one. */ - if (malloc_count > 0) - { - ++malloc_count; - freemem_size = malloc_count * INITIAL_BLOCK_SIZE; - newmem = (transmem_block_t *) realloc (transmem_list, - freemem_size); -# ifdef _LIBC - if (newmem != NULL) - transmem_list = transmem_list->next; - else - { - struct transmem_list *old = transmem_list; - - transmem_list = transmem_list->next; - free (old); - } -# endif - } - else - { - malloc_count = 1; - freemem_size = INITIAL_BLOCK_SIZE; - newmem = (transmem_block_t *) malloc (freemem_size); - } - if (__builtin_expect (newmem == NULL, 0)) - { - freemem = NULL; - freemem_size = 0; - __libc_lock_unlock (lock); - goto converted; - } - -# ifdef _LIBC - /* Add the block to the list of blocks we have to free - at some point. */ - newmem->next = transmem_list; - transmem_list = newmem; - - freemem = newmem->data; - freemem_size -= offsetof (struct transmem_list, data); -# else - transmem_list = newmem; - freemem = newmem; -# endif - - outbuf = freemem + sizeof (size_t); - } - - /* We have now in our buffer a converted string. Put this - into the table of conversions. */ - *(size_t *) freemem = outbuf - freemem - sizeof (size_t); - domain->conv_tab[act] = (char *) freemem; - /* Shrink freemem, but keep it aligned. */ - freemem_size -= outbuf - freemem; - freemem = outbuf; - freemem += freemem_size & (alignof (size_t) - 1); - freemem_size = freemem_size & ~ (alignof (size_t) - 1); - - __libc_lock_unlock (lock); - } - - /* Now domain->conv_tab[act] contains the translation of all - the plural variants. */ - result = domain->conv_tab[act] + sizeof (size_t); - resultlen = *(size_t *) domain->conv_tab[act]; - } - - converted: - /* The result string is converted. */ - -#endif /* _LIBC || HAVE_ICONV */ - - *lengthp = resultlen; - return result; -} - - -/* Look up a plural variant. */ -static char * -internal_function -plural_lookup (domain, n, translation, translation_len) - struct loaded_l10nfile *domain; - unsigned long int n; - const char *translation; - size_t translation_len; -{ - struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; - unsigned long int index; - const char *p; - - index = plural_eval (domaindata->plural, n); - if (index >= domaindata->nplurals) - /* This should never happen. It means the plural expression and the - given maximum value do not match. */ - index = 0; - - /* Skip INDEX strings at TRANSLATION. */ - p = translation; - while (index-- > 0) - { -#ifdef _LIBC - p = __rawmemchr (p, '\0'); -#else - p = strchr (p, '\0'); -#endif - /* And skip over the NUL byte. */ - p++; - - if (p >= translation + translation_len) - /* This should never happen. It means the plural expression - evaluated to a value larger than the number of variants - available for MSGID1. */ - return (char *) translation; - } - return (char *) p; -} - - -/* Function to evaluate the plural expression and return an index value. */ -static unsigned long int -internal_function -plural_eval (pexp, n) - struct expression *pexp; - unsigned long int n; -{ - switch (pexp->nargs) - { - case 0: - switch (pexp->operation) - { - case var: - return n; - case num: - return pexp->val.num; - default: - break; - } - /* NOTREACHED */ - break; - case 1: - { - /* pexp->operation must be lnot. */ - unsigned long int arg = plural_eval (pexp->val.args[0], n); - return ! arg; - } - case 2: - { - unsigned long int leftarg = plural_eval (pexp->val.args[0], n); - if (pexp->operation == lor) - return leftarg || plural_eval (pexp->val.args[1], n); - else if (pexp->operation == land) - return leftarg && plural_eval (pexp->val.args[1], n); - else - { - unsigned long int rightarg = plural_eval (pexp->val.args[1], n); - - switch (pexp->operation) - { - case mult: - return leftarg * rightarg; - case divide: - return leftarg / rightarg; - case module: - return leftarg % rightarg; - case plus: - return leftarg + rightarg; - case minus: - return leftarg - rightarg; - case less_than: - return leftarg < rightarg; - case greater_than: - return leftarg > rightarg; - case less_or_equal: - return leftarg <= rightarg; - case greater_or_equal: - return leftarg >= rightarg; - case equal: - return leftarg == rightarg; - case not_equal: - return leftarg != rightarg; - default: - break; - } - } - /* NOTREACHED */ - break; - } - case 3: - { - /* pexp->operation must be qmop. */ - unsigned long int boolarg = plural_eval (pexp->val.args[0], n); - return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); - } - } - /* NOTREACHED */ - return 0; -} - - -/* Return string representation of locale CATEGORY. */ -static const char * -internal_function -category_to_name (category) - int category; -{ - const char *retval; - - switch (category) - { -#ifdef LC_COLLATE - case LC_COLLATE: - retval = "LC_COLLATE"; - break; -#endif -#ifdef LC_CTYPE - case LC_CTYPE: - retval = "LC_CTYPE"; - break; -#endif -#ifdef LC_MONETARY - case LC_MONETARY: - retval = "LC_MONETARY"; - break; -#endif -#ifdef LC_NUMERIC - case LC_NUMERIC: - retval = "LC_NUMERIC"; - break; -#endif -#ifdef LC_TIME - case LC_TIME: - retval = "LC_TIME"; - break; -#endif -#ifdef LC_MESSAGES - case LC_MESSAGES: - retval = "LC_MESSAGES"; - break; -#endif -#ifdef LC_RESPONSE - case LC_RESPONSE: - retval = "LC_RESPONSE"; - break; -#endif -#ifdef LC_ALL - case LC_ALL: - /* This might not make sense but is perhaps better than any other - value. */ - retval = "LC_ALL"; - break; -#endif - default: - /* If you have a better idea for a default value let me know. */ - retval = "LC_XXX"; - } - - return retval; -} - -/* Guess value of current locale from value of the environment variables. */ -static const char * -internal_function -guess_category_value (category, categoryname) - int category; - const char *categoryname; -{ - const char *language; - const char *retval; - - /* The highest priority value is the `LANGUAGE' environment - variable. But we don't use the value if the currently selected - locale is the C locale. This is a GNU extension. */ - language = getenv ("LANGUAGE"); - if (language != NULL && language[0] == '\0') - language = NULL; - - /* We have to proceed with the POSIX methods of looking to `LC_ALL', - `LC_xxx', and `LANG'. On some systems this can be done by the - `setlocale' function itself. */ -#if defined _LIBC || (defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL) - retval = setlocale (category, NULL); -#else - /* Setting of LC_ALL overwrites all other. */ - retval = getenv ("LC_ALL"); - if (retval == NULL || retval[0] == '\0') - { - /* Next comes the name of the desired category. */ - retval = getenv (categoryname); - if (retval == NULL || retval[0] == '\0') - { - /* Last possibility is the LANG environment variable. */ - retval = getenv ("LANG"); - if (retval == NULL || retval[0] == '\0') - /* We use C as the default domain. POSIX says this is - implementation defined. */ - return "C"; - } - } -#endif - - return language != NULL && strcmp (retval, "C") != 0 ? language : retval; -} - -/* @@ begin of epilog @@ */ - -/* We don't want libintl.a to depend on any other library. So we - avoid the non-standard function stpcpy. In GNU C Library this - function is available, though. Also allow the symbol HAVE_STPCPY - to be defined. */ -#if !_LIBC && !HAVE_STPCPY -static char * -stpcpy (dest, src) - char *dest; - const char *src; -{ - while ((*dest++ = *src++) != '\0') - /* Do nothing. */ ; - return dest - 1; -} -#endif - -#if !_LIBC && !HAVE_MEMPCPY -static void * -mempcpy (dest, src, n) - void *dest; - const void *src; - size_t n; -{ - return (void *) ((char *) memcpy (dest, src, n) + n); -} -#endif - - -#ifdef _LIBC -/* If we want to free all resources we have to do some work at - program's end. */ -static void __attribute__ ((unused)) -free_mem (void) -{ - void *old; - - while (_nl_domain_bindings != NULL) - { - struct binding *oldp = _nl_domain_bindings; - _nl_domain_bindings = _nl_domain_bindings->next; - if (oldp->dirname != _nl_default_dirname) - /* Yes, this is a pointer comparison. */ - free (oldp->dirname); - free (oldp->codeset); - free (oldp); - } - - if (_nl_current_default_domain != _nl_default_default_domain) - /* Yes, again a pointer comparison. */ - free ((char *) _nl_current_default_domain); - - /* Remove the search tree with the known translations. */ - __tdestroy (root, free); - root = NULL; - - while (transmem_list != NULL) - { - old = transmem_list; - transmem_list = transmem_list->next; - free (old); - } -} - -text_set_element (__libc_subfreeres, free_mem); -#endif diff --git a/intl/dcngettext.c b/intl/dcngettext.c deleted file mode 100644 index c16af212..00000000 --- a/intl/dcngettext.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Implementation of the dcngettext(3) function. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define DCNGETTEXT __dcngettext -# define DCIGETTEXT __dcigettext -#else -# define DCNGETTEXT dcngettext__ -# define DCIGETTEXT dcigettext__ -#endif - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -char * -DCNGETTEXT (domainname, msgid1, msgid2, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; - int category; -{ - return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__dcngettext, dcngettext); -#endif diff --git a/intl/dgettext.c b/intl/dgettext.c deleted file mode 100644 index 3651207a..00000000 --- a/intl/dgettext.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Implementation of the dgettext(3) function. - Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define DGETTEXT __dgettext -# define DCGETTEXT __dcgettext -#else -# define DGETTEXT dgettext__ -# define DCGETTEXT dcgettext__ -#endif - -/* Look up MSGID in the DOMAINNAME message catalog of the current - LC_MESSAGES locale. */ -char * -DGETTEXT (domainname, msgid) - const char *domainname; - const char *msgid; -{ - return DCGETTEXT (domainname, msgid, LC_MESSAGES); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__dgettext, dgettext); -#endif diff --git a/intl/dngettext.c b/intl/dngettext.c deleted file mode 100644 index f214e95b..00000000 --- a/intl/dngettext.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Implementation of the dngettext(3) function. - Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define DNGETTEXT __dngettext -# define DCNGETTEXT __dcngettext -#else -# define DNGETTEXT dngettext__ -# define DCNGETTEXT dcngettext__ -#endif - -/* Look up MSGID in the DOMAINNAME message catalog of the current - LC_MESSAGES locale and skip message according to the plural form. */ -char * -DNGETTEXT (domainname, msgid1, msgid2, n) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; -{ - return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__dngettext, dngettext); -#endif diff --git a/intl/explodename.c b/intl/explodename.c deleted file mode 100644 index 2985064c..00000000 --- a/intl/explodename.c +++ /dev/null @@ -1,192 +0,0 @@ -/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. - Contributed by Ulrich Drepper , 1995. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include - -#include "loadinfo.h" - -/* On some strange systems still no definition of NULL is found. Sigh! */ -#ifndef NULL -# if defined __STDC__ && __STDC__ -# define NULL ((void *) 0) -# else -# define NULL 0 -# endif -#endif - -/* @@ end of prolog @@ */ - -char * -_nl_find_language (name) - const char *name; -{ - while (name[0] != '\0' && name[0] != '_' && name[0] != '@' - && name[0] != '+' && name[0] != ',') - ++name; - - return (char *) name; -} - - -int -_nl_explode_name (name, language, modifier, territory, codeset, - normalized_codeset, special, sponsor, revision) - char *name; - const char **language; - const char **modifier; - const char **territory; - const char **codeset; - const char **normalized_codeset; - const char **special; - const char **sponsor; - const char **revision; -{ - enum { undecided, xpg, cen } syntax; - char *cp; - int mask; - - *modifier = NULL; - *territory = NULL; - *codeset = NULL; - *normalized_codeset = NULL; - *special = NULL; - *sponsor = NULL; - *revision = NULL; - - /* Now we determine the single parts of the locale name. First - look for the language. Termination symbols are `_' and `@' if - we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */ - mask = 0; - syntax = undecided; - *language = cp = name; - cp = _nl_find_language (*language); - - if (*language == cp) - /* This does not make sense: language has to be specified. Use - this entry as it is without exploding. Perhaps it is an alias. */ - cp = strchr (*language, '\0'); - else if (cp[0] == '_') - { - /* Next is the territory. */ - cp[0] = '\0'; - *territory = ++cp; - - while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@' - && cp[0] != '+' && cp[0] != ',' && cp[0] != '_') - ++cp; - - mask |= TERRITORY; - - if (cp[0] == '.') - { - /* Next is the codeset. */ - syntax = xpg; - cp[0] = '\0'; - *codeset = ++cp; - - while (cp[0] != '\0' && cp[0] != '@') - ++cp; - - mask |= XPG_CODESET; - - if (*codeset != cp && (*codeset)[0] != '\0') - { - *normalized_codeset = _nl_normalize_codeset (*codeset, - cp - *codeset); - if (strcmp (*codeset, *normalized_codeset) == 0) - free ((char *) *normalized_codeset); - else - mask |= XPG_NORM_CODESET; - } - } - } - - if (cp[0] == '@' || (syntax != xpg && cp[0] == '+')) - { - /* Next is the modifier. */ - syntax = cp[0] == '@' ? xpg : cen; - cp[0] = '\0'; - *modifier = ++cp; - - while (syntax == cen && cp[0] != '\0' && cp[0] != '+' - && cp[0] != ',' && cp[0] != '_') - ++cp; - - mask |= XPG_MODIFIER | CEN_AUDIENCE; - } - - if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_')) - { - syntax = cen; - - if (cp[0] == '+') - { - /* Next is special application (CEN syntax). */ - cp[0] = '\0'; - *special = ++cp; - - while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_') - ++cp; - - mask |= CEN_SPECIAL; - } - - if (cp[0] == ',') - { - /* Next is sponsor (CEN syntax). */ - cp[0] = '\0'; - *sponsor = ++cp; - - while (cp[0] != '\0' && cp[0] != '_') - ++cp; - - mask |= CEN_SPONSOR; - } - - if (cp[0] == '_') - { - /* Next is revision (CEN syntax). */ - cp[0] = '\0'; - *revision = ++cp; - - mask |= CEN_REVISION; - } - } - - /* For CEN syntax values it might be important to have the - separator character in the file name, not for XPG syntax. */ - if (syntax == xpg) - { - if (*territory != NULL && (*territory)[0] == '\0') - mask &= ~TERRITORY; - - if (*codeset != NULL && (*codeset)[0] == '\0') - mask &= ~XPG_CODESET; - - if (*modifier != NULL && (*modifier)[0] == '\0') - mask &= ~XPG_MODIFIER; - } - - return mask; -} diff --git a/intl/finddomain.c b/intl/finddomain.c deleted file mode 100644 index 2f103d55..00000000 --- a/intl/finddomain.c +++ /dev/null @@ -1,198 +0,0 @@ -/* Handle list of needed message catalogs - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 1995. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include - -#if defined HAVE_UNISTD_H || defined _LIBC -# include -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -/* @@ end of prolog @@ */ -/* List of already loaded domains. */ -static struct loaded_l10nfile *_nl_loaded_domains; - - -/* Return a data structure describing the message catalog described by - the DOMAINNAME and CATEGORY parameters with respect to the currently - established bindings. */ -struct loaded_l10nfile * -internal_function -_nl_find_domain (dirname, locale, domainname, domainbinding) - const char *dirname; - char *locale; - const char *domainname; - struct binding *domainbinding; -{ - struct loaded_l10nfile *retval; - const char *language; - const char *modifier; - const char *territory; - const char *codeset; - const char *normalized_codeset; - const char *special; - const char *sponsor; - const char *revision; - const char *alias_value; - int mask; - - /* LOCALE can consist of up to four recognized parts for the XPG syntax: - - language[_territory[.codeset]][@modifier] - - and six parts for the CEN syntax: - - language[_territory][+audience][+special][,[sponsor][_revision]] - - Beside the first part all of them are allowed to be missing. If - the full specified locale is not found, the less specific one are - looked for. The various parts will be stripped off according to - the following order: - (1) revision - (2) sponsor - (3) special - (4) codeset - (5) normalized codeset - (6) territory - (7) audience/modifier - */ - - /* If we have already tested for this locale entry there has to - be one data set in the list of loaded domains. */ - retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, - strlen (dirname) + 1, 0, locale, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, domainname, 0); - if (retval != NULL) - { - /* We know something about this locale. */ - int cnt; - - if (retval->decided == 0) - _nl_load_domain (retval, domainbinding); - - if (retval->data != NULL) - return retval; - - for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) - { - if (retval->successor[cnt]->decided == 0) - _nl_load_domain (retval->successor[cnt], domainbinding); - - if (retval->successor[cnt]->data != NULL) - break; - } - return cnt >= 0 ? retval : NULL; - /* NOTREACHED */ - } - - /* See whether the locale value is an alias. If yes its value - *overwrites* the alias name. No test for the original value is - done. */ - alias_value = _nl_expand_alias (locale); - if (alias_value != NULL) - { -#if defined _LIBC || defined HAVE_STRDUP - locale = strdup (alias_value); - if (locale == NULL) - return NULL; -#else - size_t len = strlen (alias_value) + 1; - locale = (char *) malloc (len); - if (locale == NULL) - return NULL; - - memcpy (locale, alias_value, len); -#endif - } - - /* Now we determine the single parts of the locale name. First - look for the language. Termination symbols are `_' and `@' if - we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */ - mask = _nl_explode_name (locale, &language, &modifier, &territory, - &codeset, &normalized_codeset, &special, - &sponsor, &revision); - - /* Create all possible locale entries which might be interested in - generalization. */ - retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, - strlen (dirname) + 1, mask, language, territory, - codeset, normalized_codeset, modifier, special, - sponsor, revision, domainname, 1); - if (retval == NULL) - /* This means we are out of core. */ - return NULL; - - if (retval->decided == 0) - _nl_load_domain (retval, domainbinding); - if (retval->data == NULL) - { - int cnt; - for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) - { - if (retval->successor[cnt]->decided == 0) - _nl_load_domain (retval->successor[cnt], domainbinding); - if (retval->successor[cnt]->data != NULL) - break; - } - } - - /* The room for an alias was dynamically allocated. Free it now. */ - if (alias_value != NULL) - free (locale); - - /* The space for normalized_codeset is dynamically allocated. Free it. */ - if (mask & XPG_NORM_CODESET) - free ((void *) normalized_codeset); - - return retval; -} - - -#ifdef _LIBC -static void __attribute__ ((unused)) -free_mem (void) -{ - struct loaded_l10nfile *runp = _nl_loaded_domains; - - while (runp != NULL) - { - struct loaded_l10nfile *here = runp; - if (runp->data != NULL) - _nl_unload_domain ((struct loaded_domain *) runp->data); - runp = runp->next; - free ((char *) here->filename); - free (here); - } -} - -text_set_element (__libc_subfreeres, free_mem); -#endif diff --git a/intl/gettext.c b/intl/gettext.c deleted file mode 100644 index 22a6c245..00000000 --- a/intl/gettext.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Implementation of gettext(3) function. - Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#ifdef _LIBC -# define __need_NULL -# include -#else -# include /* Just for NULL. */ -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define GETTEXT __gettext -# define DCGETTEXT __dcgettext -#else -# define GETTEXT gettext__ -# define DCGETTEXT dcgettext__ -#endif - -/* Look up MSGID in the current default message catalog for the current - LC_MESSAGES locale. If not found, returns MSGID itself (the default - text). */ -char * -GETTEXT (msgid) - const char *msgid; -{ - return DCGETTEXT (NULL, msgid, LC_MESSAGES); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__gettext, gettext); -#endif diff --git a/intl/gettext.h b/intl/gettext.h deleted file mode 100644 index 6f5d7605..00000000 --- a/intl/gettext.h +++ /dev/null @@ -1,102 +0,0 @@ -/* Description of GNU message catalog format: general file layout. - Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifndef _GETTEXT_H -#define _GETTEXT_H 1 - -#if HAVE_LIMITS_H || _LIBC -# include -#endif - -/* @@ end of prolog @@ */ - -/* The magic number of the GNU message catalog format. */ -#define _MAGIC 0x950412de -#define _MAGIC_SWAPPED 0xde120495 - -/* Revision number of the currently used .mo (binary) file format. */ -#define MO_REVISION_NUMBER 0 - -/* The following contortions are an attempt to use the C preprocessor - to determine an unsigned integral type that is 32 bits wide. An - alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but - as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work - when cross-compiling. */ - -#if __STDC__ -# define UINT_MAX_32_BITS 4294967295U -#else -# define UINT_MAX_32_BITS 0xFFFFFFFF -#endif - -/* If UINT_MAX isn't defined, assume it's a 32-bit type. - This should be valid for all systems GNU cares about because - that doesn't include 16-bit systems, and only modern systems - (that certainly have ) have 64+-bit integral types. */ - -#ifndef UINT_MAX -# define UINT_MAX UINT_MAX_32_BITS -#endif - -#if UINT_MAX == UINT_MAX_32_BITS -typedef unsigned nls_uint32; -#else -# if USHRT_MAX == UINT_MAX_32_BITS -typedef unsigned short nls_uint32; -# else -# if ULONG_MAX == UINT_MAX_32_BITS -typedef unsigned long nls_uint32; -# else - /* The following line is intended to throw an error. Using #error is - not portable enough. */ - "Cannot determine unsigned 32-bit data type." -# endif -# endif -#endif - - -/* Header for binary .mo file format. */ -struct mo_file_header -{ - /* The magic number. */ - nls_uint32 magic; - /* The revision number of the file format. */ - nls_uint32 revision; - /* The number of strings pairs. */ - nls_uint32 nstrings; - /* Offset of table with start offsets of original strings. */ - nls_uint32 orig_tab_offset; - /* Offset of table with start offsets of translation strings. */ - nls_uint32 trans_tab_offset; - /* Size of hashing table. */ - nls_uint32 hash_tab_size; - /* Offset of first hashing entry. */ - nls_uint32 hash_tab_offset; -}; - -struct string_desc -{ - /* Length of addressed string. */ - nls_uint32 length; - /* Offset of string in file. */ - nls_uint32 offset; -}; - -/* @@ begin of epilog @@ */ - -#endif /* gettext.h */ diff --git a/intl/gettextP.h b/intl/gettextP.h deleted file mode 100644 index 43de1cd4..00000000 --- a/intl/gettextP.h +++ /dev/null @@ -1,252 +0,0 @@ -/* Header describing internals of libintl library. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 1995. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifndef _GETTEXTP_H -#define _GETTEXTP_H - -#include /* Get size_t. */ - -#ifdef _LIBC -# include "../iconv/gconv_int.h" -#else -# if HAVE_ICONV -# include -# endif -#endif - -#include "loadinfo.h" - -#include "gettext.h" /* Get nls_uint32. */ - -/* @@ end of prolog @@ */ - -#ifndef PARAMS -# if __STDC__ -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -#ifndef internal_function -# define internal_function -#endif - -/* Tell the compiler when a conditional or integer expression is - almost always true or almost always false. */ -#ifndef HAVE_BUILTIN_EXPECT -# define __builtin_expect(expr, val) (expr) -#endif - -#ifndef W -# define W(flag, data) ((flag) ? SWAP (data) : (data)) -#endif - - -#ifdef _LIBC -# include -# define SWAP(i) bswap_32 (i) -#else -static inline nls_uint32 -SWAP (i) - nls_uint32 i; -{ - return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); -} -#endif - - -/* This is the representation of the expressions to determine the - plural form. */ -struct expression -{ - int nargs; /* Number of arguments. */ - enum operator - { - /* Without arguments: */ - var, /* The variable "n". */ - num, /* Decimal number. */ - /* Unary operators: */ - lnot, /* Logical NOT. */ - /* Binary operators: */ - mult, /* Multiplication. */ - divide, /* Division. */ - module, /* Module operation. */ - plus, /* Addition. */ - minus, /* Subtraction. */ - less_than, /* Comparison. */ - greater_than, /* Comparison. */ - less_or_equal, /* Comparison. */ - greater_or_equal, /* Comparison. */ - equal, /* Comparision for equality. */ - not_equal, /* Comparision for inequality. */ - land, /* Logical AND. */ - lor, /* Logical OR. */ - /* Ternary operators: */ - qmop /* Question mark operator. */ - } operation; - union - { - unsigned long int num; /* Number value for `num'. */ - struct expression *args[3]; /* Up to three arguments. */ - } val; -}; - -/* This is the data structure to pass information to the parser and get - the result in a thread-safe way. */ -struct parse_args -{ - const char *cp; - struct expression *res; -}; - - -/* The representation of an opened message catalog. */ -struct loaded_domain -{ - const char *data; - int use_mmap; - size_t mmap_size; - int must_swap; - nls_uint32 nstrings; - struct string_desc *orig_tab; - struct string_desc *trans_tab; - nls_uint32 hash_size; - nls_uint32 *hash_tab; - int codeset_cntr; -#ifdef _LIBC - __gconv_t conv; -#else -# if HAVE_ICONV - iconv_t conv; -# endif -#endif - char **conv_tab; - - struct expression *plural; - unsigned long int nplurals; -}; - -/* We want to allocate a string at the end of the struct. But ISO C - doesn't allow zero sized arrays. */ -#ifdef __GNUC__ -# define ZERO 0 -#else -# define ZERO 1 -#endif - -/* A set of settings bound to a message domain. Used to store settings - from bindtextdomain() and bind_textdomain_codeset(). */ -struct binding -{ - struct binding *next; - char *dirname; - int codeset_cntr; /* Incremented each time codeset changes. */ - char *codeset; - char domainname[ZERO]; -}; - -/* A counter which is incremented each time some previous translations - become invalid. - This variable is part of the external ABI of the GNU libintl. */ -extern int _nl_msg_cat_cntr; - -struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname, - char *__locale, - const char *__domainname, - struct binding *__domainbinding)) - internal_function; -void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain, - struct binding *__domainbinding)) - internal_function; -void _nl_unload_domain PARAMS ((struct loaded_domain *__domain)) - internal_function; -const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file, - struct loaded_domain *__domain, - struct binding *__domainbinding)) - internal_function; -void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain)) - internal_function; - -char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file, - struct binding *domainbinding, - const char *msgid, size_t *lengthp)) - internal_function; - -#ifdef _LIBC -extern char *__gettext PARAMS ((const char *__msgid)); -extern char *__dgettext PARAMS ((const char *__domainname, - const char *__msgid)); -extern char *__dcgettext PARAMS ((const char *__domainname, - const char *__msgid, int __category)); -extern char *__ngettext PARAMS ((const char *__msgid1, const char *__msgid2, - unsigned long int __n)); -extern char *__dngettext PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int n)); -extern char *__dcngettext PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int __n, int __category)); -extern char *__dcigettext PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - int __plural, unsigned long int __n, - int __category)); -extern char *__textdomain PARAMS ((const char *__domainname)); -extern char *__bindtextdomain PARAMS ((const char *__domainname, - const char *__dirname)); -extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname, - const char *__codeset)); -#else -extern char *gettext__ PARAMS ((const char *__msgid)); -extern char *dgettext__ PARAMS ((const char *__domainname, - const char *__msgid)); -extern char *dcgettext__ PARAMS ((const char *__domainname, - const char *__msgid, int __category)); -extern char *ngettext__ PARAMS ((const char *__msgid1, const char *__msgid2, - unsigned long int __n)); -extern char *dngettext__ PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int __n)); -extern char *dcngettext__ PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int __n, int __category)); -extern char *dcigettext__ PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - int __plural, unsigned long int __n, - int __category)); -extern char *textdomain__ PARAMS ((const char *__domainname)); -extern char *bindtextdomain__ PARAMS ((const char *__domainname, - const char *__dirname)); -extern char *bind_textdomain_codeset__ PARAMS ((const char *__domainname, - const char *__codeset)); -#endif - -#ifdef _LIBC -extern void __gettext_free_exp PARAMS ((struct expression *exp)) - internal_function; -extern int __gettextparse PARAMS ((void *arg)); -#else -extern void gettext_free_exp__ PARAMS ((struct expression *exp)) - internal_function; -extern int gettextparse__ PARAMS ((void *arg)); -#endif - -/* @@ begin of epilog @@ */ - -#endif /* gettextP.h */ diff --git a/intl/hash-string.h b/intl/hash-string.h deleted file mode 100644 index ccb7acca..00000000 --- a/intl/hash-string.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Description of GNU message catalog format: string hashing function. - Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* @@ end of prolog @@ */ - -#ifndef PARAMS -# if __STDC__ -# define PARAMS(Args) Args -# else -# define PARAMS(Args) () -# endif -#endif - -/* We assume to have `unsigned long int' value with at least 32 bits. */ -#define HASHWORDBITS 32 - - -/* Defines the so called `hashpjw' function by P.J. Weinberger - [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, - 1986, 1987 Bell Telephone Laboratories, Inc.] */ -static unsigned long int hash_string PARAMS ((const char *__str_param)); - -static inline unsigned long int -hash_string (str_param) - const char *str_param; -{ - unsigned long int hval, g; - const char *str = str_param; - - /* Compute the hash value for the given string. */ - hval = 0; - while (*str != '\0') - { - hval <<= 4; - hval += (unsigned long int) *str++; - g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); - if (g != 0) - { - hval ^= g >> (HASHWORDBITS - 8); - hval ^= g; - } - } - return hval; -} diff --git a/intl/intl-compat.c b/intl/intl-compat.c deleted file mode 100644 index 0a06ce94..00000000 --- a/intl/intl-compat.c +++ /dev/null @@ -1,166 +0,0 @@ -/* intl-compat.c - Stub functions to call gettext functions from GNU gettext - Library. - Copyright (C) 1995, 2000, 2001 Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "libgnuintl.h" -#include "gettextP.h" - -/* @@ end of prolog @@ */ - -/* This file redirects the gettext functions (without prefix or suffix) to - those defined in the included GNU gettext library (with "__" suffix). - It is compiled into libintl when the included GNU gettext library is - configured --with-included-gettext. - - This redirection works also in the case that the system C library or - the system libintl library contain gettext/textdomain/... functions. - If it didn't, we would need to add preprocessor level redirections to - libgnuintl.h of the following form: - -# define gettext gettext__ -# define dgettext dgettext__ -# define dcgettext dcgettext__ -# define ngettext ngettext__ -# define dngettext dngettext__ -# define dcngettext dcngettext__ -# define textdomain textdomain__ -# define bindtextdomain bindtextdomain__ -# define bind_textdomain_codeset bind_textdomain_codeset__ - - How does this redirection work? There are two cases. - A. When libintl.a is linked into an executable, it works because - functions defined in the executable always override functions in - the shared libraries. - B. When libintl.so is used, it works because - 1. those systems defining gettext/textdomain/... in the C library - (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer) are - ELF systems and define these symbols as weak, thus explicitly - letting other shared libraries override it. - 2. those systems defining gettext/textdomain/... in a standalone - libintl.so library (namely, Solaris 2.3 and newer) have this - shared library in /usr/lib, and the linker will search /usr/lib - *after* the directory where the GNU gettext library is installed. - - A third case, namely when libintl.a is linked into a shared library - whose name is not libintl.so, is not supported. In this case, on - Solaris, when -lintl precedes the linker option for the shared library - containing GNU gettext, the system's gettext would indeed override - the GNU gettext. Anyone doing this kind of stuff must be clever enough - to 1. compile libintl.a with -fPIC, 2. remove -lintl from his linker - command line. */ - - -#undef gettext -#undef dgettext -#undef dcgettext -#undef ngettext -#undef dngettext -#undef dcngettext -#undef textdomain -#undef bindtextdomain -#undef bind_textdomain_codeset - - -char * -gettext (msgid) - const char *msgid; -{ - return gettext__ (msgid); -} - - -char * -dgettext (domainname, msgid) - const char *domainname; - const char *msgid; -{ - return dgettext__ (domainname, msgid); -} - - -char * -dcgettext (domainname, msgid, category) - const char *domainname; - const char *msgid; - int category; -{ - return dcgettext__ (domainname, msgid, category); -} - - -char * -ngettext (msgid1, msgid2, n) - const char *msgid1; - const char *msgid2; - unsigned long int n; -{ - return ngettext__ (msgid1, msgid2, n); -} - - -char * -dngettext (domainname, msgid1, msgid2, n) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; -{ - return dngettext__ (domainname, msgid1, msgid2, n); -} - - -char * -dcngettext (domainname, msgid1, msgid2, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; - int category; -{ - return dcngettext__ (domainname, msgid1, msgid2, n, category); -} - - -char * -textdomain (domainname) - const char *domainname; -{ - return textdomain__ (domainname); -} - - -char * -bindtextdomain (domainname, dirname) - const char *domainname; - const char *dirname; -{ - return bindtextdomain__ (domainname, dirname); -} - - -char * -bind_textdomain_codeset (domainname, codeset) - const char *domainname; - const char *codeset; -{ - return bind_textdomain_codeset__ (domainname, codeset); -} diff --git a/intl/l10nflist.c b/intl/l10nflist.c deleted file mode 100644 index 533e94be..00000000 --- a/intl/l10nflist.c +++ /dev/null @@ -1,405 +0,0 @@ -/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - Contributed by Ulrich Drepper , 1995. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* Tell glibc's to provide a prototype for stpcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#if defined _LIBC || defined HAVE_ARGZ_H -# include -#endif -#include -#include -#include - -#include "loadinfo.h" - -/* On some strange systems still no definition of NULL is found. Sigh! */ -#ifndef NULL -# if defined __STDC__ && __STDC__ -# define NULL ((void *) 0) -# else -# define NULL 0 -# endif -#endif - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ANSI C functions. This is required by the standard - because some ANSI C functions will require linking with this object - file and the name space must not be polluted. */ -# ifndef stpcpy -# define stpcpy(dest, src) __stpcpy(dest, src) -# endif -#else -# ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -# endif -#endif - -/* Define function which are usually not available. */ - -#if !defined _LIBC && !defined HAVE___ARGZ_COUNT -/* Returns the number of strings in ARGZ. */ -static size_t argz_count__ PARAMS ((const char *argz, size_t len)); - -static size_t -argz_count__ (argz, len) - const char *argz; - size_t len; -{ - size_t count = 0; - while (len > 0) - { - size_t part_len = strlen (argz); - argz += part_len + 1; - len -= part_len + 1; - count++; - } - return count; -} -# undef __argz_count -# define __argz_count(argz, len) argz_count__ (argz, len) -#endif /* !_LIBC && !HAVE___ARGZ_COUNT */ - -#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY -/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's - except the last into the character SEP. */ -static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep)); - -static void -argz_stringify__ (argz, len, sep) - char *argz; - size_t len; - int sep; -{ - while (len > 0) - { - size_t part_len = strlen (argz); - argz += part_len; - len -= part_len + 1; - if (len > 0) - *argz++ = sep; - } -} -# undef __argz_stringify -# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) -#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */ - -#if !defined _LIBC && !defined HAVE___ARGZ_NEXT -static char *argz_next__ PARAMS ((char *argz, size_t argz_len, - const char *entry)); - -static char * -argz_next__ (argz, argz_len, entry) - char *argz; - size_t argz_len; - const char *entry; -{ - if (entry) - { - if (entry < argz + argz_len) - entry = strchr (entry, '\0') + 1; - - return entry >= argz + argz_len ? NULL : (char *) entry; - } - else - if (argz_len > 0) - return argz; - else - return 0; -} -# undef __argz_next -# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) -#endif /* !_LIBC && !HAVE___ARGZ_NEXT */ - - -/* Return number of bits set in X. */ -static int pop PARAMS ((int x)); - -static inline int -pop (x) - int x; -{ - /* We assume that no more than 16 bits are used. */ - x = ((x & ~0x5555) >> 1) + (x & 0x5555); - x = ((x & ~0x3333) >> 2) + (x & 0x3333); - x = ((x >> 4) + x) & 0x0f0f; - x = ((x >> 8) + x) & 0xff; - - return x; -} - - -struct loaded_l10nfile * -_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language, - territory, codeset, normalized_codeset, modifier, special, - sponsor, revision, filename, do_allocate) - struct loaded_l10nfile **l10nfile_list; - const char *dirlist; - size_t dirlist_len; - int mask; - const char *language; - const char *territory; - const char *codeset; - const char *normalized_codeset; - const char *modifier; - const char *special; - const char *sponsor; - const char *revision; - const char *filename; - int do_allocate; -{ - char *abs_filename; - struct loaded_l10nfile *last = NULL; - struct loaded_l10nfile *retval; - char *cp; - size_t entries; - int cnt; - - /* Allocate room for the full file name. */ - abs_filename = (char *) malloc (dirlist_len - + strlen (language) - + ((mask & TERRITORY) != 0 - ? strlen (territory) + 1 : 0) - + ((mask & XPG_CODESET) != 0 - ? strlen (codeset) + 1 : 0) - + ((mask & XPG_NORM_CODESET) != 0 - ? strlen (normalized_codeset) + 1 : 0) - + (((mask & XPG_MODIFIER) != 0 - || (mask & CEN_AUDIENCE) != 0) - ? strlen (modifier) + 1 : 0) - + ((mask & CEN_SPECIAL) != 0 - ? strlen (special) + 1 : 0) - + (((mask & CEN_SPONSOR) != 0 - || (mask & CEN_REVISION) != 0) - ? (1 + ((mask & CEN_SPONSOR) != 0 - ? strlen (sponsor) + 1 : 0) - + ((mask & CEN_REVISION) != 0 - ? strlen (revision) + 1 : 0)) : 0) - + 1 + strlen (filename) + 1); - - if (abs_filename == NULL) - return NULL; - - retval = NULL; - last = NULL; - - /* Construct file name. */ - memcpy (abs_filename, dirlist, dirlist_len); - __argz_stringify (abs_filename, dirlist_len, PATH_SEPARATOR); - cp = abs_filename + (dirlist_len - 1); - *cp++ = '/'; - cp = stpcpy (cp, language); - - if ((mask & TERRITORY) != 0) - { - *cp++ = '_'; - cp = stpcpy (cp, territory); - } - if ((mask & XPG_CODESET) != 0) - { - *cp++ = '.'; - cp = stpcpy (cp, codeset); - } - if ((mask & XPG_NORM_CODESET) != 0) - { - *cp++ = '.'; - cp = stpcpy (cp, normalized_codeset); - } - if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0) - { - /* This component can be part of both syntaces but has different - leading characters. For CEN we use `+', else `@'. */ - *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@'; - cp = stpcpy (cp, modifier); - } - if ((mask & CEN_SPECIAL) != 0) - { - *cp++ = '+'; - cp = stpcpy (cp, special); - } - if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0) - { - *cp++ = ','; - if ((mask & CEN_SPONSOR) != 0) - cp = stpcpy (cp, sponsor); - if ((mask & CEN_REVISION) != 0) - { - *cp++ = '_'; - cp = stpcpy (cp, revision); - } - } - - *cp++ = '/'; - stpcpy (cp, filename); - - /* Look in list of already loaded domains whether it is already - available. */ - last = NULL; - for (retval = *l10nfile_list; retval != NULL; retval = retval->next) - if (retval->filename != NULL) - { - int compare = strcmp (retval->filename, abs_filename); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It's not in the list. */ - retval = NULL; - break; - } - - last = retval; - } - - if (retval != NULL || do_allocate == 0) - { - free (abs_filename); - return retval; - } - - retval = (struct loaded_l10nfile *) - malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len) - * (1 << pop (mask)) - * sizeof (struct loaded_l10nfile *))); - if (retval == NULL) - return NULL; - - retval->filename = abs_filename; - retval->decided = (__argz_count (dirlist, dirlist_len) != 1 - || ((mask & XPG_CODESET) != 0 - && (mask & XPG_NORM_CODESET) != 0)); - retval->data = NULL; - - if (last == NULL) - { - retval->next = *l10nfile_list; - *l10nfile_list = retval; - } - else - { - retval->next = last->next; - last->next = retval; - } - - entries = 0; - /* If the DIRLIST is a real list the RETVAL entry corresponds not to - a real file. So we have to use the DIRLIST separation mechanism - of the inner loop. */ - cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask; - for (; cnt >= 0; --cnt) - if ((cnt & ~mask) == 0 - && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0) - && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0)) - { - /* Iterate over all elements of the DIRLIST. */ - char *dir = NULL; - - while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir)) - != NULL) - retval->successor[entries++] - = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt, - language, territory, codeset, - normalized_codeset, modifier, special, - sponsor, revision, filename, 1); - } - retval->successor[entries] = NULL; - - return retval; -} - -/* Normalize codeset name. There is no standard for the codeset - names. Normalization allows the user to use any of the common - names. The return value is dynamically allocated and has to be - freed by the caller. */ -const char * -_nl_normalize_codeset (codeset, name_len) - const char *codeset; - size_t name_len; -{ - int len = 0; - int only_digit = 1; - char *retval; - char *wp; - size_t cnt; - - for (cnt = 0; cnt < name_len; ++cnt) - if (isalnum (codeset[cnt])) - { - ++len; - - if (isalpha (codeset[cnt])) - only_digit = 0; - } - - retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1); - - if (retval != NULL) - { - if (only_digit) - wp = stpcpy (retval, "iso"); - else - wp = retval; - - for (cnt = 0; cnt < name_len; ++cnt) - if (isalpha (codeset[cnt])) - *wp++ = tolower (codeset[cnt]); - else if (isdigit (codeset[cnt])) - *wp++ = codeset[cnt]; - - *wp = '\0'; - } - - return (const char *) retval; -} - - -/* @@ begin of epilog @@ */ - -/* We don't want libintl.a to depend on any other library. So we - avoid the non-standard function stpcpy. In GNU C Library this - function is available, though. Also allow the symbol HAVE_STPCPY - to be defined. */ -#if !_LIBC && !HAVE_STPCPY -static char * -stpcpy (dest, src) - char *dest; - const char *src; -{ - while ((*dest++ = *src++) != '\0') - /* Do nothing. */ ; - return dest - 1; -} -#endif diff --git a/intl/libgettext.h b/intl/libgettext.h deleted file mode 100644 index c5be54a8..00000000 --- a/intl/libgettext.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include - -#else - -# define gettext(Msgid) (Msgid) -# define dgettext(Domainname, Msgid) (Msgid) -# define dcgettext(Domainname, Msgid, Category) (Msgid) -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2)) -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2)) -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2)) -# define textdomain(Domainname) ((char *) (Domainname)) -# define bindtextdomain(Domainname, Dirname) ((char *) (Dirname)) -# define bind_textdomain_codeset(Domainname, Codeset) ((char *) (Codeset)) - -#endif - -/* For automatical extraction of messages sometimes no real - translation is needed. Instead the string itself is the result. */ -#define gettext_noop(Str) (Str) - -#endif /* _LIBGETTEXT_H */ diff --git a/intl/libgnuintl.h b/intl/libgnuintl.h deleted file mode 100644 index f891deb9..00000000 --- a/intl/libgnuintl.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Message catalogs for internationalization. - Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifndef _LIBINTL_H -#define _LIBINTL_H 1 - -#include - -/* The LC_MESSAGES locale category is the category used by the functions - gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. - On systems that don't define it, use an arbitrary value instead. - On Solaris, defines __LOCALE_H then includes (i.e. - this file!) and then only defines LC_MESSAGES. To avoid a redefinition - warning, don't define LC_MESSAGES in this case. */ -#if !defined LC_MESSAGES && !defined __LOCALE_H -# define LC_MESSAGES 1729 -#endif - -/* We define an additional symbol to signal that we use the GNU - implementation of gettext. */ -#define __USE_GNU_GETTEXT 1 - -/* Resolve a platform specific conflict on DJGPP. GNU gettext takes - precedence over _conio_gettext. */ -#ifdef __DJGPP__ -# undef gettext -# define gettext gettext -#endif - -#ifndef PARAMS -# if __STDC__ || defined __cplusplus -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Look up MSGID in the current default message catalog for the current - LC_MESSAGES locale. If not found, returns MSGID itself (the default - text). */ -extern char *gettext PARAMS ((const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current - LC_MESSAGES locale. */ -extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid, - int __category)); - - -/* Similar to `gettext' but select the plural form corresponding to the - number N. */ -extern char *ngettext PARAMS ((const char *__msgid1, const char *__msgid2, - unsigned long int __n)); - -/* Similar to `dgettext' but select the plural form corresponding to the - number N. */ -extern char *dngettext PARAMS ((const char *__domainname, const char *__msgid1, - const char *__msgid2, unsigned long int __n)); - -/* Similar to `dcgettext' but select the plural form corresponding to the - number N. */ -extern char *dcngettext PARAMS ((const char *__domainname, const char *__msgid1, - const char *__msgid2, unsigned long int __n, - int __category)); - - -/* Set the current default message catalog to DOMAINNAME. - If DOMAINNAME is null, return the current default. - If DOMAINNAME is "", reset to the default of "messages". */ -extern char *textdomain PARAMS ((const char *__domainname)); - -/* Specify that the DOMAINNAME message catalog will be found - in DIRNAME rather than in the system locale data base. */ -extern char *bindtextdomain PARAMS ((const char *__domainname, - const char *__dirname)); - -/* Specify the character encoding in which the messages from the - DOMAINNAME message catalog will be returned. */ -extern char *bind_textdomain_codeset PARAMS ((const char *__domainname, - const char *__codeset)); - - -/* Optimized version of the functions above. */ -#if defined __OPTIMIZED -/* These are macros, but could also be inline functions. */ - -# define gettext(msgid) \ - dgettext (NULL, msgid) - -# define dgettext(domainname, msgid) \ - dcgettext (domainname, msgid, LC_MESSAGES) - -# define ngettext(msgid1, msgid2, n) \ - dngettext (NULL, msgid1, msgid2, n) - -# define dngettext(domainname, msgid1, msgid2, n) \ - dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES) - -#endif /* Optimizing. */ - - -#ifdef __cplusplus -} -#endif - -#endif /* libintl.h */ diff --git a/intl/loadinfo.h b/intl/loadinfo.h deleted file mode 100644 index b8612607..00000000 --- a/intl/loadinfo.h +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1996. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifndef _LOADINFO_H -#define _LOADINFO_H 1 - -#ifndef PARAMS -# if __STDC__ -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -#ifndef internal_function -# define internal_function -#endif - -/* Tell the compiler when a conditional or integer expression is - almost always true or almost always false. */ -#ifndef HAVE_BUILTIN_EXPECT -# define __builtin_expect(expr, val) (expr) -#endif - -/* Separator in PATH like lists of pathnames. */ -#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ -# define PATH_SEPARATOR ';' -#else - /* Unix */ -# define PATH_SEPARATOR ':' -#endif - -/* Encoding of locale name parts. */ -#define CEN_REVISION 1 -#define CEN_SPONSOR 2 -#define CEN_SPECIAL 4 -#define XPG_NORM_CODESET 8 -#define XPG_CODESET 16 -#define TERRITORY 32 -#define CEN_AUDIENCE 64 -#define XPG_MODIFIER 128 - -#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE) -#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER) - - -struct loaded_l10nfile -{ - const char *filename; - int decided; - - const void *data; - - struct loaded_l10nfile *next; - struct loaded_l10nfile *successor[1]; -}; - - -/* Normalize codeset name. There is no standard for the codeset - names. Normalization allows the user to use any of the common - names. The return value is dynamically allocated and has to be - freed by the caller. */ -extern const char *_nl_normalize_codeset PARAMS ((const char *codeset, - size_t name_len)); - -extern struct loaded_l10nfile * -_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list, - const char *dirlist, size_t dirlist_len, int mask, - const char *language, const char *territory, - const char *codeset, - const char *normalized_codeset, - const char *modifier, const char *special, - const char *sponsor, const char *revision, - const char *filename, int do_allocate)); - - -extern const char *_nl_expand_alias PARAMS ((const char *name)); - -/* normalized_codeset is dynamically allocated and has to be freed by - the caller. */ -extern int _nl_explode_name PARAMS ((char *name, const char **language, - const char **modifier, - const char **territory, - const char **codeset, - const char **normalized_codeset, - const char **special, - const char **sponsor, - const char **revision)); - -extern char *_nl_find_language PARAMS ((const char *name)); - -#endif /* loadinfo.h */ diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c deleted file mode 100644 index f99ebee3..00000000 --- a/intl/loadmsgcat.c +++ /dev/null @@ -1,567 +0,0 @@ -/* Load needed message catalogs. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* Tell glibc's to provide a prototype for mempcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include -#include - -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#include -#include - -#if defined HAVE_UNISTD_H || defined _LIBC -# include -#endif - -#ifdef _LIBC -# include -# include -#endif - -#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \ - || (defined _LIBC && defined _POSIX_MAPPED_FILES) -# include -# undef HAVE_MMAP -# define HAVE_MMAP 1 -#else -# undef HAVE_MMAP -#endif - -#include "gettext.h" -#include "gettextP.h" - -#ifdef _LIBC -# include "../locale/localeinfo.h" -#endif - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ISO C functions. This is required by the standard - because some ISO C functions will require linking with this object - file and the name space must not be polluted. */ -# define open __open -# define close __close -# define read __read -# define mmap __mmap -# define munmap __munmap -#endif - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define PLURAL_PARSE __gettextparse -#else -# define PLURAL_PARSE gettextparse__ -#endif - -/* For those losing systems which don't have `alloca' we have to add - some additional code emulating it. */ -#ifdef HAVE_ALLOCA -# define freea(p) /* nothing */ -#else -# define alloca(n) malloc (n) -# define freea(p) free (p) -#endif - -/* For systems that distinguish between text and binary I/O. - O_BINARY is usually declared in . */ -#if !defined O_BINARY && defined _O_BINARY - /* For MSC-compatible compilers. */ -# define O_BINARY _O_BINARY -# define O_TEXT _O_TEXT -#endif -#ifdef __BEOS__ - /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ -# undef O_BINARY -# undef O_TEXT -#endif -/* On reasonable systems, binary I/O is the default. */ -#ifndef O_BINARY -# define O_BINARY 0 -#endif - -/* We need a sign, whether a new catalog was loaded, which can be associated - with all translations. This is important if the translations are - cached by one of GCC's features. */ -int _nl_msg_cat_cntr; - -#if (defined __GNUC__ && !defined __APPLE_CC__) \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) - -/* These structs are the constant expression for the germanic plural - form determination. It represents the expression "n != 1". */ -static const struct expression plvar = -{ - .nargs = 0, - .operation = var, -}; -static const struct expression plone = -{ - .nargs = 0, - .operation = num, - .val = - { - .num = 1 - } -}; -static struct expression germanic_plural = -{ - .nargs = 2, - .operation = not_equal, - .val = - { - .args = - { - [0] = (struct expression *) &plvar, - [1] = (struct expression *) &plone - } - } -}; - -# define INIT_GERMANIC_PLURAL() - -#else - -/* For compilers without support for ISO C 99 struct/union initializers: - Initialization at run-time. */ - -static struct expression plvar; -static struct expression plone; -static struct expression germanic_plural; - -static void -init_germanic_plural () -{ - if (plone.val.num == 0) - { - plvar.nargs = 0; - plvar.operation = var; - - plone.nargs = 0; - plone.operation = num; - plone.val.num = 1; - - germanic_plural.nargs = 2; - germanic_plural.operation = not_equal; - germanic_plural.val.args[0] = &plvar; - germanic_plural.val.args[1] = &plone; - } -} - -# define INIT_GERMANIC_PLURAL() init_germanic_plural () - -#endif - - -/* Initialize the codeset dependent parts of an opened message catalog. - Return the header entry. */ -const char * -internal_function -_nl_init_domain_conv (domain_file, domain, domainbinding) - struct loaded_l10nfile *domain_file; - struct loaded_domain *domain; - struct binding *domainbinding; -{ - /* Find out about the character set the file is encoded with. - This can be found (in textual form) in the entry "". If this - entry does not exist or if this does not contain the `charset=' - information, we will assume the charset matches the one the - current locale and we don't have to perform any conversion. */ - char *nullentry; - size_t nullentrylen; - - /* Preinitialize fields, to avoid recursion during _nl_find_msg. */ - domain->codeset_cntr = - (domainbinding != NULL ? domainbinding->codeset_cntr : 0); -#ifdef _LIBC - domain->conv = (__gconv_t) -1; -#else -# if HAVE_ICONV - domain->conv = (iconv_t) -1; -# endif -#endif - domain->conv_tab = NULL; - - /* Get the header entry. */ - nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen); - - if (nullentry != NULL) - { -#if defined _LIBC || HAVE_ICONV - const char *charsetstr; - - charsetstr = strstr (nullentry, "charset="); - if (charsetstr != NULL) - { - size_t len; - char *charset; - const char *outcharset; - - charsetstr += strlen ("charset="); - len = strcspn (charsetstr, " \t\n"); - - charset = (char *) alloca (len + 1); -# if defined _LIBC || HAVE_MEMPCPY - *((char *) mempcpy (charset, charsetstr, len)) = '\0'; -# else - memcpy (charset, charsetstr, len); - charset[len] = '\0'; -# endif - - /* The output charset should normally be determined by the - locale. But sometimes the locale is not used or not correctly - set up, so we provide a possibility for the user to override - this. Moreover, the value specified through - bind_textdomain_codeset overrides both. */ - if (domainbinding != NULL && domainbinding->codeset != NULL) - outcharset = domainbinding->codeset; - else - { - outcharset = getenv ("OUTPUT_CHARSET"); - if (outcharset == NULL || outcharset[0] == '\0') - { -# ifdef _LIBC - outcharset = (*_nl_current[LC_CTYPE])->values[_NL_ITEM_INDEX (CODESET)].string; -# else -# if HAVE_ICONV - extern const char *locale_charset (void); - outcharset = locale_charset (); -# endif -# endif - } - } - -# ifdef _LIBC - /* We always want to use transliteration. */ - outcharset = norm_add_slashes (outcharset, "TRANSLIT"); - charset = norm_add_slashes (charset, NULL); - if (__gconv_open (outcharset, charset, &domain->conv, - GCONV_AVOID_NOCONV) - != __GCONV_OK) - domain->conv = (__gconv_t) -1; -# else -# if HAVE_ICONV - /* When using GNU libiconv, we want to use transliteration. */ -# if _LIBICONV_VERSION >= 0x0105 - len = strlen (outcharset); - { - char *tmp = (char *) alloca (len + 10 + 1); - memcpy (tmp, outcharset, len); - memcpy (tmp + len, "//TRANSLIT", 10 + 1); - outcharset = tmp; - } -# endif - domain->conv = iconv_open (outcharset, charset); -# if _LIBICONV_VERSION >= 0x0105 - freea (outcharset); -# endif -# endif -# endif - - freea (charset); - } -#endif /* _LIBC || HAVE_ICONV */ - } - - return nullentry; -} - -/* Frees the codeset dependent parts of an opened message catalog. */ -void -internal_function -_nl_free_domain_conv (domain) - struct loaded_domain *domain; -{ - if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1) - free (domain->conv_tab); - -#ifdef _LIBC - if (domain->conv != (__gconv_t) -1) - __gconv_close (domain->conv); -#else -# if HAVE_ICONV - if (domain->conv != (iconv_t) -1) - iconv_close (domain->conv); -# endif -#endif -} - -/* Load the message catalogs specified by FILENAME. If it is no valid - message catalog do nothing. */ -void -internal_function -_nl_load_domain (domain_file, domainbinding) - struct loaded_l10nfile *domain_file; - struct binding *domainbinding; -{ - int fd; - size_t size; -#ifdef _LIBC - struct stat64 st; -#else - struct stat st; -#endif - struct mo_file_header *data = (struct mo_file_header *) -1; - int use_mmap = 0; - struct loaded_domain *domain; - const char *nullentry; - - domain_file->decided = 1; - domain_file->data = NULL; - - /* Note that it would be useless to store domainbinding in domain_file - because domainbinding might be == NULL now but != NULL later (after - a call to bind_textdomain_codeset). */ - - /* If the record does not represent a valid locale the FILENAME - might be NULL. This can happen when according to the given - specification the locale file name is different for XPG and CEN - syntax. */ - if (domain_file->filename == NULL) - return; - - /* Try to open the addressed file. */ - fd = open (domain_file->filename, O_RDONLY | O_BINARY); - if (fd == -1) - return; - - /* We must know about the size of the file. */ - if ( -#ifdef _LIBC - __builtin_expect (fstat64 (fd, &st) != 0, 0) -#else - __builtin_expect (fstat (fd, &st) != 0, 0) -#endif - || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) - || __builtin_expect (size < sizeof (struct mo_file_header), 0)) - { - /* Something went wrong. */ - close (fd); - return; - } - -#ifdef HAVE_MMAP - /* Now we are ready to load the file. If mmap() is available we try - this first. If not available or it failed we try to load it. */ - data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, - MAP_PRIVATE, fd, 0); - - if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) - { - /* mmap() call was successful. */ - close (fd); - use_mmap = 1; - } -#endif - - /* If the data is not yet available (i.e. mmap'ed) we try to load - it manually. */ - if (data == (struct mo_file_header *) -1) - { - size_t to_read; - char *read_ptr; - - data = (struct mo_file_header *) malloc (size); - if (data == NULL) - return; - - to_read = size; - read_ptr = (char *) data; - do - { - long int nb = (long int) read (fd, read_ptr, to_read); - if (nb <= 0) - { -#ifdef EINTR - if (nb == -1 && errno == EINTR) - continue; -#endif - close (fd); - return; - } - read_ptr += nb; - to_read -= nb; - } - while (to_read > 0); - - close (fd); - } - - /* Using the magic number we can test whether it really is a message - catalog file. */ - if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, - 0)) - { - /* The magic number is wrong: not a message catalog file. */ -#ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else -#endif - free (data); - return; - } - - domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); - if (domain == NULL) - return; - domain_file->data = domain; - - domain->data = (char *) data; - domain->use_mmap = use_mmap; - domain->mmap_size = size; - domain->must_swap = data->magic != _MAGIC; - - /* Fill in the information about the available tables. */ - switch (W (domain->must_swap, data->revision)) - { - case 0: - domain->nstrings = W (domain->must_swap, data->nstrings); - domain->orig_tab = (struct string_desc *) - ((char *) data + W (domain->must_swap, data->orig_tab_offset)); - domain->trans_tab = (struct string_desc *) - ((char *) data + W (domain->must_swap, data->trans_tab_offset)); - domain->hash_size = W (domain->must_swap, data->hash_tab_size); - domain->hash_tab = (nls_uint32 *) - ((char *) data + W (domain->must_swap, data->hash_tab_offset)); - break; - default: - /* This is an invalid revision. */ -#ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else -#endif - free (data); - free (domain); - domain_file->data = NULL; - return; - } - - /* Now initialize the character set converter from the character set - the file is encoded with (found in the header entry) to the domain's - specified character set or the locale's character set. */ - nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding); - - /* Also look for a plural specification. */ - if (nullentry != NULL) - { - const char *plural; - const char *nplurals; - - plural = strstr (nullentry, "plural="); - nplurals = strstr (nullentry, "nplurals="); - if (plural == NULL || nplurals == NULL) - goto no_plural; - else - { - /* First get the number. */ - char *endp; - unsigned long int n; - struct parse_args args; - - nplurals += 9; - while (*nplurals != '\0' && isspace (*nplurals)) - ++nplurals; -#if defined HAVE_STRTOUL || defined _LIBC - n = strtoul (nplurals, &endp, 10); -#else - for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) - n = n * 10 + (*endp - '0'); -#endif - domain->nplurals = n; - if (nplurals == endp) - goto no_plural; - - /* Due to the restrictions bison imposes onto the interface of the - scanner function we have to put the input string and the result - passed up from the parser into the same structure which address - is passed down to the parser. */ - plural += 7; - args.cp = plural; - if (PLURAL_PARSE (&args) != 0) - goto no_plural; - domain->plural = args.res; - } - } - else - { - /* By default we are using the Germanic form: singular form only - for `one', the plural form otherwise. Yes, this is also what - English is using since English is a Germanic language. */ - no_plural: - INIT_GERMANIC_PLURAL (); - domain->plural = &germanic_plural; - domain->nplurals = 2; - } -} - - -#ifdef _LIBC -void -internal_function -_nl_unload_domain (domain) - struct loaded_domain *domain; -{ - if (domain->plural != &germanic_plural) - __gettext_free_exp (domain->plural); - - _nl_free_domain_conv (domain); - -# ifdef _POSIX_MAPPED_FILES - if (domain->use_mmap) - munmap ((caddr_t) domain->data, domain->mmap_size); - else -# endif /* _POSIX_MAPPED_FILES */ - free ((void *) domain->data); - - free (domain); -} -#endif diff --git a/intl/localcharset.c b/intl/localcharset.c deleted file mode 100644 index 61f8f3e8..00000000 --- a/intl/localcharset.c +++ /dev/null @@ -1,271 +0,0 @@ -/* Determine a canonical name for the current locale's character encoding. - - Copyright (C) 2000-2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* Written by Bruno Haible . */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#if HAVE_STDDEF_H -# include -#endif - -#include -#if HAVE_STRING_H -# include -#else -# include -#endif -#if HAVE_STDLIB_H -# include -#endif - -#if defined _WIN32 || defined __WIN32__ -# undef WIN32 /* avoid warning on mingw32 */ -# define WIN32 -#endif - -#ifndef WIN32 -# if HAVE_LANGINFO_CODESET -# include -# else -# if HAVE_SETLOCALE -# include -# endif -# endif -#else /* WIN32 */ -# define WIN32_LEAN_AND_MEAN -# include -#endif - -#ifndef DIRECTORY_SEPARATOR -# define DIRECTORY_SEPARATOR '/' -#endif - -#ifndef ISSLASH -# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) -#endif - -/* The following static variable is declared 'volatile' to avoid a - possible multithread problem in the function get_charset_aliases. If we - are running in a threaded environment, and if two threads initialize - 'charset_aliases' simultaneously, both will produce the same value, - and everything will be ok if the two assignments to 'charset_aliases' - are atomic. But I don't know what will happen if the two assignments mix. */ -#if __STDC__ != 1 -# define volatile /* empty */ -#endif -/* Pointer to the contents of the charset.alias file, if it has already been - read, else NULL. Its format is: - ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ -static const char * volatile charset_aliases; - -/* Return a pointer to the contents of the charset.alias file. */ -static const char * -get_charset_aliases () -{ - const char *cp; - - cp = charset_aliases; - if (cp == NULL) - { -#ifndef WIN32 - FILE *fp; - const char *dir = LIBDIR; - const char *base = "charset.alias"; - char *file_name; - - /* Concatenate dir and base into freshly allocated file_name. */ - { - size_t dir_len = strlen (dir); - size_t base_len = strlen (base); - int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); - file_name = (char *) malloc (dir_len + add_slash + base_len + 1); - if (file_name != NULL) - { - memcpy (file_name, dir, dir_len); - if (add_slash) - file_name[dir_len] = DIRECTORY_SEPARATOR; - memcpy (file_name + dir_len + add_slash, base, base_len + 1); - } - } - - if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) - /* Out of memory or file not found, treat it as empty. */ - cp = ""; - else - { - /* Parse the file's contents. */ - int c; - char buf1[50+1]; - char buf2[50+1]; - char *res_ptr = NULL; - size_t res_size = 0; - size_t l1, l2; - - for (;;) - { - c = getc (fp); - if (c == EOF) - break; - if (c == '\n' || c == ' ' || c == '\t') - continue; - if (c == '#') - { - /* Skip comment, to end of line. */ - do - c = getc (fp); - while (!(c == EOF || c == '\n')); - if (c == EOF) - break; - continue; - } - ungetc (c, fp); - if (fscanf(fp, "%50s %50s", buf1, buf2) < 2) - break; - l1 = strlen (buf1); - l2 = strlen (buf2); - if (res_size == 0) - { - res_size = l1 + 1 + l2 + 1; - res_ptr = malloc (res_size + 1); - } - else - { - res_size += l1 + 1 + l2 + 1; - res_ptr = realloc (res_ptr, res_size + 1); - } - if (res_ptr == NULL) - { - /* Out of memory. */ - res_size = 0; - break; - } - strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); - strcpy (res_ptr + res_size - (l2 + 1), buf2); - } - fclose (fp); - if (res_size == 0) - cp = ""; - else - { - *(res_ptr + res_size) = '\0'; - cp = res_ptr; - } - } - - if (file_name != NULL) - free (file_name); - -#else /* WIN32 */ - - /* To avoid the troubles of installing a separate file in the same - directory as the DLL and of retrieving the DLL's directory at - runtime, simply inline the aliases here. */ - - cp = "CP936" "\0" "GBK" "\0" - "CP1361" "\0" "JOHAB" "\0"; -#endif - - charset_aliases = cp; - } - - return cp; -} - -/* Determine the current locale's character encoding, and canonicalize it - into one of the canonical names listed in config.charset. - The result must not be freed; it is statically allocated. - If the canonical name cannot be determined, the result is a non-canonical - name. */ - -#ifdef STATIC -STATIC -#endif -const char * -locale_charset () -{ - const char *codeset; - const char *aliases; - -#ifndef WIN32 - -# if HAVE_LANGINFO_CODESET - - /* Most systems support nl_langinfo (CODESET) nowadays. */ - codeset = nl_langinfo (CODESET); - -# else - - /* On old systems which lack it, use setlocale or getenv. */ - const char *locale = NULL; - - /* But most old systems don't have a complete set of locales. Some - (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't - use setlocale here; it would return "C" when it doesn't support the - locale name the user has set. */ -# if HAVE_SETLOCALE && 0 - locale = setlocale (LC_CTYPE, NULL); -# endif - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_ALL"); - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_CTYPE"); - if (locale == NULL || locale[0] == '\0') - locale = getenv ("LANG"); - } - } - - /* On some old systems, one used to set locale = "iso8859_1". On others, - you set it to "language_COUNTRY.charset". In any case, we resolve it - through the charset.alias file. */ - codeset = locale; - -# endif - -#else /* WIN32 */ - - static char buf[2 + 10 + 1]; - - /* Win32 has a function returning the locale's codepage as a number. */ - sprintf (buf, "CP%u", GetACP ()); - codeset = buf; - -#endif - - if (codeset == NULL) - /* The canonical name cannot be determined. */ - codeset = ""; - - /* Resolve alias. */ - for (aliases = get_charset_aliases (); - *aliases != '\0'; - aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) - if (strcmp (codeset, aliases) == 0 - || (aliases[0] == '*' && aliases[1] == '\0')) - { - codeset = aliases + strlen (aliases) + 1; - break; - } - - return codeset; -} diff --git a/intl/locale.alias b/intl/locale.alias deleted file mode 100644 index bd7b9b31..00000000 --- a/intl/locale.alias +++ /dev/null @@ -1,78 +0,0 @@ -# Locale name alias data base. -# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; either version 2, 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 -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library 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. - -# The format of this file is the same as for the corresponding file of -# the X Window System, which normally can be found in -# /usr/lib/X11/locale/locale.alias -# A single line contains two fields: an alias and a substitution value. -# All entries are case independent. - -# Note: This file is far from being complete. If you have a value for -# your own site which you think might be useful for others too, share -# it with the rest of us. Send it using the `glibcbug' script to -# bugs@gnu.org. - -# Packages using this file: - -bokmal no_NO.ISO-8859-1 -bokmål no_NO.ISO-8859-1 -catalan ca_ES.ISO-8859-1 -croatian hr_HR.ISO-8859-2 -czech cs_CZ.ISO-8859-2 -danish da_DK.ISO-8859-1 -dansk da_DK.ISO-8859-1 -deutsch de_DE.ISO-8859-1 -dutch nl_NL.ISO-8859-1 -eesti et_EE.ISO-8859-1 -estonian et_EE.ISO-8859-1 -finnish fi_FI.ISO-8859-1 -français fr_FR.ISO-8859-1 -french fr_FR.ISO-8859-1 -galego gl_ES.ISO-8859-1 -galician gl_ES.ISO-8859-1 -german de_DE.ISO-8859-1 -greek el_GR.ISO-8859-7 -hebrew he_IL.ISO-8859-8 -hrvatski hr_HR.ISO-8859-2 -hungarian hu_HU.ISO-8859-2 -icelandic is_IS.ISO-8859-1 -italian it_IT.ISO-8859-1 -japanese ja_JP.eucJP -japanese.euc ja_JP.eucJP -ja_JP ja_JP.eucJP -ja_JP.ujis ja_JP.eucJP -japanese.sjis ja_JP.SJIS -korean ko_KR.eucKR -korean.euc ko_KR.eucKR -ko_KR ko_KR.eucKR -lithuanian lt_LT.ISO-8859-13 -nb_NO no_NO.ISO-8859-1 -nb_NO.ISO-8859-1 no_NO.ISO-8859-1 -norwegian no_NO.ISO-8859-1 -nynorsk nn_NO.ISO-8859-1 -polish pl_PL.ISO-8859-2 -portuguese pt_PT.ISO-8859-1 -romanian ro_RO.ISO-8859-2 -russian ru_RU.ISO-8859-5 -slovak sk_SK.ISO-8859-2 -slovene sl_SI.ISO-8859-2 -slovenian sl_SI.ISO-8859-2 -spanish es_ES.ISO-8859-1 -swedish sv_SE.ISO-8859-1 -thai th_TH.TIS-620 -turkish tr_TR.ISO-8859-9 diff --git a/intl/localealias.c b/intl/localealias.c deleted file mode 100644 index 91e7acc9..00000000 --- a/intl/localealias.c +++ /dev/null @@ -1,404 +0,0 @@ -/* Handle aliases for locale names. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* Tell glibc's to provide a prototype for mempcpy(). - This must come before because may include - , and once has been included, it's too late. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include - -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#include - -#include -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#include "gettextP.h" - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ANSI C functions. This is required by the standard - because some ANSI C functions will require linking with this object - file and the name space must not be polluted. */ -# define strcasecmp __strcasecmp - -# ifndef mempcpy -# define mempcpy __mempcpy -# endif -# define HAVE_MEMPCPY 1 - -/* We need locking here since we can be called from different places. */ -# include - -__libc_lock_define_initialized (static, lock); -#endif - -#ifndef internal_function -# define internal_function -#endif - -/* For those losing systems which don't have `alloca' we have to add - some additional code emulating it. */ -#ifdef HAVE_ALLOCA -# define freea(p) /* nothing */ -#else -# define alloca(n) malloc (n) -# define freea(p) free (p) -#endif - -#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED -# undef fgets -# define fgets(buf, len, s) fgets_unlocked (buf, len, s) -#endif -#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED -# undef feof -# define feof(s) feof_unlocked (s) -#endif - - -struct alias_map -{ - const char *alias; - const char *value; -}; - - -static char *string_space; -static size_t string_space_act; -static size_t string_space_max; -static struct alias_map *map; -static size_t nmap; -static size_t maxmap; - - -/* Prototypes for local functions. */ -static size_t read_alias_file PARAMS ((const char *fname, int fname_len)) - internal_function; -static int extend_alias_table PARAMS ((void)); -static int alias_compare PARAMS ((const struct alias_map *map1, - const struct alias_map *map2)); - - -const char * -_nl_expand_alias (name) - const char *name; -{ - static const char *locale_alias_path = LOCALE_ALIAS_PATH; - struct alias_map *retval; - const char *result = NULL; - size_t added; - -#ifdef _LIBC - __libc_lock_lock (lock); -#endif - - do - { - struct alias_map item; - - item.alias = name; - - if (nmap > 0) - retval = (struct alias_map *) bsearch (&item, map, nmap, - sizeof (struct alias_map), - (int (*) PARAMS ((const void *, - const void *)) - ) alias_compare); - else - retval = NULL; - - /* We really found an alias. Return the value. */ - if (retval != NULL) - { - result = retval->value; - break; - } - - /* Perhaps we can find another alias file. */ - added = 0; - while (added == 0 && locale_alias_path[0] != '\0') - { - const char *start; - - while (locale_alias_path[0] == PATH_SEPARATOR) - ++locale_alias_path; - start = locale_alias_path; - - while (locale_alias_path[0] != '\0' - && locale_alias_path[0] != PATH_SEPARATOR) - ++locale_alias_path; - - if (start < locale_alias_path) - added = read_alias_file (start, locale_alias_path - start); - } - } - while (added != 0); - -#ifdef _LIBC - __libc_lock_unlock (lock); -#endif - - return result; -} - - -static size_t -internal_function -read_alias_file (fname, fname_len) - const char *fname; - int fname_len; -{ - FILE *fp; - char *full_fname; - size_t added; - static const char aliasfile[] = "/locale.alias"; - - full_fname = (char *) alloca (fname_len + sizeof aliasfile); -#ifdef HAVE_MEMPCPY - mempcpy (mempcpy (full_fname, fname, fname_len), - aliasfile, sizeof aliasfile); -#else - memcpy (full_fname, fname, fname_len); - memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); -#endif - - fp = fopen (full_fname, "r"); - freea (full_fname); - if (fp == NULL) - return 0; - - added = 0; - while (!feof (fp)) - { - /* It is a reasonable approach to use a fix buffer here because - a) we are only interested in the first two fields - b) these fields must be usable as file names and so must not - be that long - */ - char buf[BUFSIZ]; - char *alias; - char *value; - char *cp; - - if (fgets (buf, sizeof buf, fp) == NULL) - /* EOF reached. */ - break; - - /* Possibly not the whole line fits into the buffer. Ignore - the rest of the line. */ - if (strchr (buf, '\n') == NULL) - { - char altbuf[BUFSIZ]; - do - if (fgets (altbuf, sizeof altbuf, fp) == NULL) - /* Make sure the inner loop will be left. The outer loop - will exit at the `feof' test. */ - break; - while (strchr (altbuf, '\n') == NULL); - } - - cp = buf; - /* Ignore leading white space. */ - while (isspace (cp[0])) - ++cp; - - /* A leading '#' signals a comment line. */ - if (cp[0] != '\0' && cp[0] != '#') - { - alias = cp++; - while (cp[0] != '\0' && !isspace (cp[0])) - ++cp; - /* Terminate alias name. */ - if (cp[0] != '\0') - *cp++ = '\0'; - - /* Now look for the beginning of the value. */ - while (isspace (cp[0])) - ++cp; - - if (cp[0] != '\0') - { - size_t alias_len; - size_t value_len; - - value = cp++; - while (cp[0] != '\0' && !isspace (cp[0])) - ++cp; - /* Terminate value. */ - if (cp[0] == '\n') - { - /* This has to be done to make the following test - for the end of line possible. We are looking for - the terminating '\n' which do not overwrite here. */ - *cp++ = '\0'; - *cp = '\n'; - } - else if (cp[0] != '\0') - *cp++ = '\0'; - - if (nmap >= maxmap) - if (__builtin_expect (extend_alias_table (), 0)) - return added; - - alias_len = strlen (alias) + 1; - value_len = strlen (value) + 1; - - if (string_space_act + alias_len + value_len > string_space_max) - { - /* Increase size of memory pool. */ - size_t new_size = (string_space_max - + (alias_len + value_len > 1024 - ? alias_len + value_len : 1024)); - char *new_pool = (char *) realloc (string_space, new_size); - if (new_pool == NULL) - return added; - - if (__builtin_expect (string_space != new_pool, 0)) - { - size_t i; - - for (i = 0; i < nmap; i++) - { - map[i].alias += new_pool - string_space; - map[i].value += new_pool - string_space; - } - } - - string_space = new_pool; - string_space_max = new_size; - } - - map[nmap].alias = memcpy (&string_space[string_space_act], - alias, alias_len); - string_space_act += alias_len; - - map[nmap].value = memcpy (&string_space[string_space_act], - value, value_len); - string_space_act += value_len; - - ++nmap; - ++added; - } - } - } - - /* Should we test for ferror()? I think we have to silently ignore - errors. --drepper */ - fclose (fp); - - if (added > 0) - qsort (map, nmap, sizeof (struct alias_map), - (int (*) PARAMS ((const void *, const void *))) alias_compare); - - return added; -} - - -static int -extend_alias_table () -{ - size_t new_size; - struct alias_map *new_map; - - new_size = maxmap == 0 ? 100 : 2 * maxmap; - new_map = (struct alias_map *) realloc (map, (new_size - * sizeof (struct alias_map))); - if (new_map == NULL) - /* Simply don't extend: we don't have any more core. */ - return -1; - - map = new_map; - maxmap = new_size; - return 0; -} - - -#ifdef _LIBC -static void __attribute__ ((unused)) -free_mem (void) -{ - if (string_space != NULL) - free (string_space); - if (map != NULL) - free (map); -} -text_set_element (__libc_subfreeres, free_mem); -#endif - - -static int -alias_compare (map1, map2) - const struct alias_map *map1; - const struct alias_map *map2; -{ -#if defined _LIBC || defined HAVE_STRCASECMP - return strcasecmp (map1->alias, map2->alias); -#else - const unsigned char *p1 = (const unsigned char *) map1->alias; - const unsigned char *p2 = (const unsigned char *) map2->alias; - unsigned char c1, c2; - - if (p1 == p2) - return 0; - - do - { - /* I know this seems to be odd but the tolower() function in - some systems libc cannot handle nonalpha characters. */ - c1 = isupper (*p1) ? tolower (*p1) : *p1; - c2 = isupper (*p2) ? tolower (*p2) : *p2; - if (c1 == '\0') - break; - ++p1; - ++p2; - } - while (c1 == c2); - - return c1 - c2; -#endif -} diff --git a/intl/ngettext.c b/intl/ngettext.c deleted file mode 100644 index fb3ec5a9..00000000 --- a/intl/ngettext.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Implementation of ngettext(3) function. - Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#ifdef _LIBC -# define __need_NULL -# include -#else -# include /* Just for NULL. */ -#endif - -#include "gettextP.h" -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif - -#include - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define NGETTEXT __ngettext -# define DCNGETTEXT __dcngettext -#else -# define NGETTEXT ngettext__ -# define DCNGETTEXT dcngettext__ -#endif - -/* Look up MSGID in the current default message catalog for the current - LC_MESSAGES locale. If not found, returns MSGID itself (the default - text). */ -char * -NGETTEXT (msgid1, msgid2, n) - const char *msgid1; - const char *msgid2; - unsigned long int n; -{ - return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__ngettext, ngettext); -#endif diff --git a/intl/plural.c b/intl/plural.c deleted file mode 100644 index 640d43cc..00000000 --- a/intl/plural.c +++ /dev/null @@ -1,1326 +0,0 @@ - -/* A Bison parser, made from plural.y - by GNU Bison version 1.28 */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define yyparse __gettextparse -#define yylex __gettextlex -#define yyerror __gettexterror -#define yylval __gettextlval -#define yychar __gettextchar -#define yydebug __gettextdebug -#define yynerrs __gettextnerrs -#define EQUOP2 257 -#define CMPOP2 258 -#define ADDOP2 259 -#define MULOP2 260 -#define NUMBER 261 - -#line 1 "plural.y" - -/* Expression parsing for plural form selection. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 2000. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* The bison generated parser uses alloca. AIX 3 forces us to put this - declaration at the beginning of the file. The declaration in bison's - skeleton file comes too late. This must come before - because may include arbitrary system headers. */ -#if defined _AIX && !defined __GNUC__ - #pragma alloca -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include "gettextP.h" - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define FREE_EXPRESSION __gettext_free_exp -#else -# define FREE_EXPRESSION gettext_free_exp__ -# define __gettextparse gettextparse__ -#endif - -#define YYLEX_PARAM &((struct parse_args *) arg)->cp -#define YYPARSE_PARAM arg - -#line 53 "plural.y" -typedef union { - unsigned long int num; - enum operator op; - struct expression *exp; -} YYSTYPE; -#line 59 "plural.y" - -/* Prototypes for local functions. */ -static struct expression *new_exp PARAMS ((int nargs, enum operator op, - struct expression * const *args)); -static inline struct expression *new_exp_0 PARAMS ((enum operator op)); -static inline struct expression *new_exp_1 PARAMS ((enum operator op, - struct expression *right)); -static struct expression *new_exp_2 PARAMS ((enum operator op, - struct expression *left, - struct expression *right)); -static inline struct expression *new_exp_3 PARAMS ((enum operator op, - struct expression *bexp, - struct expression *tbranch, - struct expression *fbranch)); -static int yylex PARAMS ((YYSTYPE *lval, const char **pexp)); -static void yyerror PARAMS ((const char *str)); - -/* Allocation of expressions. */ - -static struct expression * -new_exp (nargs, op, args) - int nargs; - enum operator op; - struct expression * const *args; -{ - int i; - struct expression *newp; - - /* If any of the argument could not be malloc'ed, just return NULL. */ - for (i = nargs - 1; i >= 0; i--) - if (args[i] == NULL) - goto fail; - - /* Allocate a new expression. */ - newp = (struct expression *) malloc (sizeof (*newp)); - if (newp != NULL) - { - newp->nargs = nargs; - newp->operation = op; - for (i = nargs - 1; i >= 0; i--) - newp->val.args[i] = args[i]; - return newp; - } - - fail: - for (i = nargs - 1; i >= 0; i--) - FREE_EXPRESSION (args[i]); - - return NULL; -} - -static inline struct expression * -new_exp_0 (op) - enum operator op; -{ - return new_exp (0, op, NULL); -} - -static inline struct expression * -new_exp_1 (op, right) - enum operator op; - struct expression *right; -{ - struct expression *args[1]; - - args[0] = right; - return new_exp (1, op, args); -} - -static struct expression * -new_exp_2 (op, left, right) - enum operator op; - struct expression *left; - struct expression *right; -{ - struct expression *args[2]; - - args[0] = left; - args[1] = right; - return new_exp (2, op, args); -} - -static inline struct expression * -new_exp_3 (op, bexp, tbranch, fbranch) - enum operator op; - struct expression *bexp; - struct expression *tbranch; - struct expression *fbranch; -{ - struct expression *args[3]; - - args[0] = bexp; - args[1] = tbranch; - args[2] = fbranch; - return new_exp (3, op, args); -} - -#include - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 27 -#define YYFLAG -32768 -#define YYNTBASE 16 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 10, 2, 2, 2, 2, 5, 2, 14, - 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 12, 2, 2, - 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 13, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 6, 7, 8, 9, - 11 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 8, 12, 16, 20, 24, 28, 32, 35, - 37, 39 -}; - -static const short yyrhs[] = { 17, - 0, 17, 3, 17, 12, 17, 0, 17, 4, 17, - 0, 17, 5, 17, 0, 17, 6, 17, 0, 17, - 7, 17, 0, 17, 8, 17, 0, 17, 9, 17, - 0, 10, 17, 0, 13, 0, 11, 0, 14, 17, - 15, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 178, 186, 190, 194, 198, 202, 206, 210, 214, 218, - 222, 227 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","'?'","'|'", -"'&'","EQUOP2","CMPOP2","ADDOP2","MULOP2","'!'","NUMBER","':'","'n'","'('","')'", -"start","exp", NULL -}; -#endif - -static const short yyr1[] = { 0, - 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17 -}; - -static const short yyr2[] = { 0, - 1, 5, 3, 3, 3, 3, 3, 3, 2, 1, - 1, 3 -}; - -static const short yydefact[] = { 0, - 0, 11, 10, 0, 1, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 0, 3, 4, 5, 6, - 7, 8, 0, 2, 0, 0, 0 -}; - -static const short yydefgoto[] = { 25, - 5 -}; - -static const short yypact[] = { -9, - -9,-32768,-32768, -9, 34,-32768, 11, -9, -9, -9, - -9, -9, -9, -9,-32768, 24, 39, 43, 16, 26, - -3,-32768, -9, 34, 21, 53,-32768 -}; - -static const short yypgoto[] = {-32768, - -1 -}; - - -#define YYLAST 53 - - -static const short yytable[] = { 6, - 1, 2, 7, 3, 4, 14, 16, 17, 18, 19, - 20, 21, 22, 8, 9, 10, 11, 12, 13, 14, - 26, 24, 12, 13, 14, 15, 8, 9, 10, 11, - 12, 13, 14, 13, 14, 23, 8, 9, 10, 11, - 12, 13, 14, 10, 11, 12, 13, 14, 11, 12, - 13, 14, 27 -}; - -static const short yycheck[] = { 1, - 10, 11, 4, 13, 14, 9, 8, 9, 10, 11, - 12, 13, 14, 3, 4, 5, 6, 7, 8, 9, - 0, 23, 7, 8, 9, 15, 3, 4, 5, 6, - 7, 8, 9, 8, 9, 12, 3, 4, 5, 6, - 7, 8, 9, 5, 6, 7, 8, 9, 6, 7, - 8, 9, 0 -}; -#define YYPURE 1 - -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple" -/* This file comes from bison-1.28. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - 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, 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, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include -#endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ -#endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, unsigned int count) -{ - register char *t = to; - register char *f = from; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 217 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else -int yyparse (void); -#endif -#endif - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 1: -#line 179 "plural.y" -{ - if (yyvsp[0].exp == NULL) - YYABORT; - ((struct parse_args *) arg)->res = yyvsp[0].exp; - ; - break;} -case 2: -#line 187 "plural.y" -{ - yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 3: -#line 191 "plural.y" -{ - yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 4: -#line 195 "plural.y" -{ - yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 5: -#line 199 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 6: -#line 203 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 7: -#line 207 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 8: -#line 211 "plural.y" -{ - yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); - ; - break;} -case 9: -#line 215 "plural.y" -{ - yyval.exp = new_exp_1 (lnot, yyvsp[0].exp); - ; - break;} -case 10: -#line 219 "plural.y" -{ - yyval.exp = new_exp_0 (var); - ; - break;} -case 11: -#line 223 "plural.y" -{ - if ((yyval.exp = new_exp_0 (num)) != NULL) - yyval.exp->val.num = yyvsp[0].num; - ; - break;} -case 12: -#line 228 "plural.y" -{ - yyval.exp = yyvsp[-1].exp; - ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 543 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; - - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 0; - - yyabortlab: - /* YYABORT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 1; -} -#line 233 "plural.y" - - -void -internal_function -FREE_EXPRESSION (exp) - struct expression *exp; -{ - if (exp == NULL) - return; - - /* Handle the recursive case. */ - switch (exp->nargs) - { - case 3: - FREE_EXPRESSION (exp->val.args[2]); - /* FALLTHROUGH */ - case 2: - FREE_EXPRESSION (exp->val.args[1]); - /* FALLTHROUGH */ - case 1: - FREE_EXPRESSION (exp->val.args[0]); - /* FALLTHROUGH */ - default: - break; - } - - free (exp); -} - - -static int -yylex (lval, pexp) - YYSTYPE *lval; - const char **pexp; -{ - const char *exp = *pexp; - int result; - - while (1) - { - if (exp[0] == '\0') - { - *pexp = exp; - return YYEOF; - } - - if (exp[0] != ' ' && exp[0] != '\t') - break; - - ++exp; - } - - result = *exp++; - switch (result) - { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - { - unsigned long int n = result - '0'; - while (exp[0] >= '0' && exp[0] <= '9') - { - n *= 10; - n += exp[0] - '0'; - ++exp; - } - lval->num = n; - result = NUMBER; - } - break; - - case '=': - if (exp[0] == '=') - { - ++exp; - lval->op = equal; - result = EQUOP2; - } - else - result = YYERRCODE; - break; - - case '!': - if (exp[0] == '=') - { - ++exp; - lval->op = not_equal; - result = EQUOP2; - } - break; - - case '&': - case '|': - if (exp[0] == result) - ++exp; - else - result = YYERRCODE; - break; - - case '<': - if (exp[0] == '=') - { - ++exp; - lval->op = less_or_equal; - } - else - lval->op = less_than; - result = CMPOP2; - break; - - case '>': - if (exp[0] == '=') - { - ++exp; - lval->op = greater_or_equal; - } - else - lval->op = greater_than; - result = CMPOP2; - break; - - case '*': - lval->op = mult; - result = MULOP2; - break; - - case '/': - lval->op = divide; - result = MULOP2; - break; - - case '%': - lval->op = module; - result = MULOP2; - break; - - case '+': - lval->op = plus; - result = ADDOP2; - break; - - case '-': - lval->op = minus; - result = ADDOP2; - break; - - case 'n': - case '?': - case ':': - case '(': - case ')': - /* Nothing, just return the character. */ - break; - - case ';': - case '\n': - case '\0': - /* Be safe and let the user call this function again. */ - --exp; - result = YYEOF; - break; - - default: - result = YYERRCODE; -#if YYDEBUG != 0 - --exp; -#endif - break; - } - - *pexp = exp; - - return result; -} - - -static void -yyerror (str) - const char *str; -{ - /* Do nothing. We don't print error messages here. */ -} diff --git a/intl/plural.y b/intl/plural.y deleted file mode 100644 index be049a6d..00000000 --- a/intl/plural.y +++ /dev/null @@ -1,413 +0,0 @@ -%{ -/* Expression parsing for plural form selection. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. - Written by Ulrich Drepper , 2000. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -/* The bison generated parser uses alloca. AIX 3 forces us to put this - declaration at the beginning of the file. The declaration in bison's - skeleton file comes too late. This must come before - because may include arbitrary system headers. */ -#if defined _AIX && !defined __GNUC__ - #pragma alloca -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include "gettextP.h" - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define FREE_EXPRESSION __gettext_free_exp -#else -# define FREE_EXPRESSION gettext_free_exp__ -# define __gettextparse gettextparse__ -#endif - -#define YYLEX_PARAM &((struct parse_args *) arg)->cp -#define YYPARSE_PARAM arg -%} -%pure_parser -%expect 10 - -%union { - unsigned long int num; - enum operator op; - struct expression *exp; -} - -%{ -/* Prototypes for local functions. */ -static struct expression *new_exp PARAMS ((int nargs, enum operator op, - struct expression * const *args)); -static inline struct expression *new_exp_0 PARAMS ((enum operator op)); -static inline struct expression *new_exp_1 PARAMS ((enum operator op, - struct expression *right)); -static struct expression *new_exp_2 PARAMS ((enum operator op, - struct expression *left, - struct expression *right)); -static inline struct expression *new_exp_3 PARAMS ((enum operator op, - struct expression *bexp, - struct expression *tbranch, - struct expression *fbranch)); -static int yylex PARAMS ((YYSTYPE *lval, const char **pexp)); -static void yyerror PARAMS ((const char *str)); - -/* Allocation of expressions. */ - -static struct expression * -new_exp (nargs, op, args) - int nargs; - enum operator op; - struct expression * const *args; -{ - int i; - struct expression *newp; - - /* If any of the argument could not be malloc'ed, just return NULL. */ - for (i = nargs - 1; i >= 0; i--) - if (args[i] == NULL) - goto fail; - - /* Allocate a new expression. */ - newp = (struct expression *) malloc (sizeof (*newp)); - if (newp != NULL) - { - newp->nargs = nargs; - newp->operation = op; - for (i = nargs - 1; i >= 0; i--) - newp->val.args[i] = args[i]; - return newp; - } - - fail: - for (i = nargs - 1; i >= 0; i--) - FREE_EXPRESSION (args[i]); - - return NULL; -} - -static inline struct expression * -new_exp_0 (op) - enum operator op; -{ - return new_exp (0, op, NULL); -} - -static inline struct expression * -new_exp_1 (op, right) - enum operator op; - struct expression *right; -{ - struct expression *args[1]; - - args[0] = right; - return new_exp (1, op, args); -} - -static struct expression * -new_exp_2 (op, left, right) - enum operator op; - struct expression *left; - struct expression *right; -{ - struct expression *args[2]; - - args[0] = left; - args[1] = right; - return new_exp (2, op, args); -} - -static inline struct expression * -new_exp_3 (op, bexp, tbranch, fbranch) - enum operator op; - struct expression *bexp; - struct expression *tbranch; - struct expression *fbranch; -{ - struct expression *args[3]; - - args[0] = bexp; - args[1] = tbranch; - args[2] = fbranch; - return new_exp (3, op, args); -} - -%} - -/* This declares that all operators have the same associativity and the - precedence order as in C. See [Harbison, Steele: C, A Reference Manual]. - There is no unary minus and no bitwise operators. - Operators with the same syntactic behaviour have been merged into a single - token, to save space in the array generated by bison. */ -%right '?' /* ? */ -%left '|' /* || */ -%left '&' /* && */ -%left EQUOP2 /* == != */ -%left CMPOP2 /* < > <= >= */ -%left ADDOP2 /* + - */ -%left MULOP2 /* * / % */ -%right '!' /* ! */ - -%token EQUOP2 CMPOP2 ADDOP2 MULOP2 -%token NUMBER -%type exp - -%% - -start: exp - { - if ($1 == NULL) - YYABORT; - ((struct parse_args *) arg)->res = $1; - } - ; - -exp: exp '?' exp ':' exp - { - $$ = new_exp_3 (qmop, $1, $3, $5); - } - | exp '|' exp - { - $$ = new_exp_2 (lor, $1, $3); - } - | exp '&' exp - { - $$ = new_exp_2 (land, $1, $3); - } - | exp EQUOP2 exp - { - $$ = new_exp_2 ($2, $1, $3); - } - | exp CMPOP2 exp - { - $$ = new_exp_2 ($2, $1, $3); - } - | exp ADDOP2 exp - { - $$ = new_exp_2 ($2, $1, $3); - } - | exp MULOP2 exp - { - $$ = new_exp_2 ($2, $1, $3); - } - | '!' exp - { - $$ = new_exp_1 (lnot, $2); - } - | 'n' - { - $$ = new_exp_0 (var); - } - | NUMBER - { - if (($$ = new_exp_0 (num)) != NULL) - $$->val.num = $1; - } - | '(' exp ')' - { - $$ = $2; - } - ; - -%% - -void -internal_function -FREE_EXPRESSION (exp) - struct expression *exp; -{ - if (exp == NULL) - return; - - /* Handle the recursive case. */ - switch (exp->nargs) - { - case 3: - FREE_EXPRESSION (exp->val.args[2]); - /* FALLTHROUGH */ - case 2: - FREE_EXPRESSION (exp->val.args[1]); - /* FALLTHROUGH */ - case 1: - FREE_EXPRESSION (exp->val.args[0]); - /* FALLTHROUGH */ - default: - break; - } - - free (exp); -} - - -static int -yylex (lval, pexp) - YYSTYPE *lval; - const char **pexp; -{ - const char *exp = *pexp; - int result; - - while (1) - { - if (exp[0] == '\0') - { - *pexp = exp; - return YYEOF; - } - - if (exp[0] != ' ' && exp[0] != '\t') - break; - - ++exp; - } - - result = *exp++; - switch (result) - { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - { - unsigned long int n = result - '0'; - while (exp[0] >= '0' && exp[0] <= '9') - { - n *= 10; - n += exp[0] - '0'; - ++exp; - } - lval->num = n; - result = NUMBER; - } - break; - - case '=': - if (exp[0] == '=') - { - ++exp; - lval->op = equal; - result = EQUOP2; - } - else - result = YYERRCODE; - break; - - case '!': - if (exp[0] == '=') - { - ++exp; - lval->op = not_equal; - result = EQUOP2; - } - break; - - case '&': - case '|': - if (exp[0] == result) - ++exp; - else - result = YYERRCODE; - break; - - case '<': - if (exp[0] == '=') - { - ++exp; - lval->op = less_or_equal; - } - else - lval->op = less_than; - result = CMPOP2; - break; - - case '>': - if (exp[0] == '=') - { - ++exp; - lval->op = greater_or_equal; - } - else - lval->op = greater_than; - result = CMPOP2; - break; - - case '*': - lval->op = mult; - result = MULOP2; - break; - - case '/': - lval->op = divide; - result = MULOP2; - break; - - case '%': - lval->op = module; - result = MULOP2; - break; - - case '+': - lval->op = plus; - result = ADDOP2; - break; - - case '-': - lval->op = minus; - result = ADDOP2; - break; - - case 'n': - case '?': - case ':': - case '(': - case ')': - /* Nothing, just return the character. */ - break; - - case ';': - case '\n': - case '\0': - /* Be safe and let the user call this function again. */ - --exp; - result = YYEOF; - break; - - default: - result = YYERRCODE; -#if YYDEBUG != 0 - --exp; -#endif - break; - } - - *pexp = exp; - - return result; -} - - -static void -yyerror (str) - const char *str; -{ - /* Do nothing. We don't print error messages here. */ -} diff --git a/intl/ref-add.sin b/intl/ref-add.sin deleted file mode 100644 index 167374e3..00000000 --- a/intl/ref-add.sin +++ /dev/null @@ -1,31 +0,0 @@ -# Add this package to a list of references stored in a text file. -# -# Copyright (C) 2000 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; either version 2, 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 -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library 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. -# -# Written by Bruno Haible . -# -/^# Packages using this file: / { - s/# Packages using this file:// - ta - :a - s/ @PACKAGE@ / @PACKAGE@ / - tb - s/ $/ @PACKAGE@ / - :b - s/^/# Packages using this file:/ -} diff --git a/intl/ref-del.sin b/intl/ref-del.sin deleted file mode 100644 index 613cf37f..00000000 --- a/intl/ref-del.sin +++ /dev/null @@ -1,26 +0,0 @@ -# Remove this package from a list of references stored in a text file. -# -# Copyright (C) 2000 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; either version 2, 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 -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library 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. -# -# Written by Bruno Haible . -# -/^# Packages using this file: / { - s/# Packages using this file:// - s/ @PACKAGE@ / / - s/^/# Packages using this file:/ -} diff --git a/intl/textdomain.c b/intl/textdomain.c deleted file mode 100644 index 2e420ad7..00000000 --- a/intl/textdomain.c +++ /dev/null @@ -1,142 +0,0 @@ -/* Implementation of the textdomain(3) function. - Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published - by the Free Software Foundation; either version 2, 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library 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. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include - -#ifdef _LIBC -# include -#else -# include "libgnuintl.h" -#endif -#include "gettextP.h" - -#ifdef _LIBC -/* We have to handle multi-threaded applications. */ -# include -#else -/* Provide dummy implementation if this is outside glibc. */ -# define __libc_rwlock_define(CLASS, NAME) -# define __libc_rwlock_wrlock(NAME) -# define __libc_rwlock_unlock(NAME) -#endif - -/* The internal variables in the standalone libintl.a must have different - names than the internal variables in GNU libc, otherwise programs - using libintl.a cannot be linked statically. */ -#if !defined _LIBC -# define _nl_default_default_domain _nl_default_default_domain__ -# define _nl_current_default_domain _nl_current_default_domain__ -#endif - -/* @@ end of prolog @@ */ - -/* Name of the default text domain. */ -extern const char _nl_default_default_domain[]; - -/* Default text domain in which entries for gettext(3) are to be found. */ -extern const char *_nl_current_default_domain; - - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define TEXTDOMAIN __textdomain -# ifndef strdup -# define strdup(str) __strdup (str) -# endif -#else -# define TEXTDOMAIN textdomain__ -#endif - -/* Lock variable to protect the global data in the gettext implementation. */ -__libc_rwlock_define (extern, _nl_state_lock) - -/* Set the current default message catalog to DOMAINNAME. - If DOMAINNAME is null, return the current default. - If DOMAINNAME is "", reset to the default of "messages". */ -char * -TEXTDOMAIN (domainname) - const char *domainname; -{ - char *new_domain; - char *old_domain; - - /* A NULL pointer requests the current setting. */ - if (domainname == NULL) - return (char *) _nl_current_default_domain; - - __libc_rwlock_wrlock (_nl_state_lock); - - old_domain = (char *) _nl_current_default_domain; - - /* If domain name is the null string set to default domain "messages". */ - if (domainname[0] == '\0' - || strcmp (domainname, _nl_default_default_domain) == 0) - { - _nl_current_default_domain = _nl_default_default_domain; - new_domain = (char *) _nl_current_default_domain; - } - else if (strcmp (domainname, old_domain) == 0) - /* This can happen and people will use it to signal that some - environment variable changed. */ - new_domain = old_domain; - else - { - /* If the following malloc fails `_nl_current_default_domain' - will be NULL. This value will be returned and so signals we - are out of core. */ -#if defined _LIBC || defined HAVE_STRDUP - new_domain = strdup (domainname); -#else - size_t len = strlen (domainname) + 1; - new_domain = (char *) malloc (len); - if (new_domain != NULL) - memcpy (new_domain, domainname, len); -#endif - - if (new_domain != NULL) - _nl_current_default_domain = new_domain; - } - - /* We use this possibility to signal a change of the loaded catalogs - since this is most likely the case and there is no other easy we - to do it. Do it only when the call was successful. */ - if (new_domain != NULL) - { - ++_nl_msg_cat_cntr; - - if (old_domain != new_domain && old_domain != _nl_default_default_domain) - free (old_domain); - } - - __libc_rwlock_unlock (_nl_state_lock); - - return new_domain; -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__textdomain, textdomain); -#endif diff --git a/lib/Makefile.am b/lib/Makefile.am index f3f1fa82..bd11e972 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -2,22 +2,18 @@ AUTOMAKE_OPTIONS = 1.0 foreign DEFS = -INCLUDES = -I$(top_srcdir) +INCLUDES = lib_LTLIBRARIES = libshadow.la libshadow_la_LDFLAGS = -version-info 0:0:0 -libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBTCFS) $(LIBSKEY) $(LIBMD) \ +libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD) \ $(top_builddir)/libmisc/libmisc.la libshadow_la_SOURCES = \ commonio.c \ commonio.h \ defines.h \ - dialchk.c \ - dialchk.h \ - dialup.c \ - dialup.h \ encrypt.c \ faillog.h \ fputsx.c \ @@ -29,6 +25,8 @@ libshadow_la_SOURCES = \ gshadow.c \ lockpw.c \ md5.h \ + nscd.c \ + nscd.h \ pam_defs.h \ port.c \ port.h \ @@ -47,8 +45,6 @@ libshadow_la_SOURCES = \ shadowio.c \ shadowio.h \ snprintf.h \ - tcfsio.c \ - tcfsio.h \ utent.c EXTRA_libshadow_la_SOURCESS = grent.c pwent.c mkdir.c rename.c rmdir.c \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 8d45e4af..1699cbc5 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,109 +14,152 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ + +DEFS = DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ AUTOMAKE_OPTIONS = 1.0 foreign - -DEFS = -INCLUDES = -I$(top_srcdir) +INCLUDES = lib_LTLIBRARIES = libshadow.la libshadow_la_LDFLAGS = -version-info 0:0:0 -libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBTCFS) $(LIBSKEY) $(LIBMD) \ +libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD) \ $(top_builddir)/libmisc/libmisc.la @@ -123,10 +167,6 @@ libshadow_la_SOURCES = \ commonio.c \ commonio.h \ defines.h \ - dialchk.c \ - dialchk.h \ - dialup.c \ - dialup.h \ encrypt.c \ faillog.h \ fputsx.c \ @@ -138,6 +178,8 @@ libshadow_la_SOURCES = \ gshadow.c \ lockpw.c \ md5.h \ + nscd.c \ + nscd.h \ pam_defs.h \ port.c \ port.h \ @@ -156,8 +198,6 @@ libshadow_la_SOURCES = \ shadowio.c \ shadowio.h \ snprintf.h \ - tcfsio.c \ - tcfsio.h \ utent.c @@ -182,33 +222,32 @@ EXTRA_DIST = \ gshadow_.h shadow_.h lastlog_.h snprintf.h subdir = lib +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(lib_LTLIBRARIES) libshadow_la_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.la -am_libshadow_la_OBJECTS = commonio.lo dialchk.lo dialup.lo encrypt.lo \ - fputsx.lo getdef.lo getpass.lo groupio.lo gshadow.lo lockpw.lo \ - port.lo pwauth.lo pwio.lo rad64.lo sgetgrent.lo sgetpwent.lo \ - sgroupio.lo shadow.lo shadowio.lo tcfsio.lo utent.lo +am_libshadow_la_OBJECTS = commonio.lo encrypt.lo fputsx.lo getdef.lo \ + getpass.lo groupio.lo gshadow.lo lockpw.lo nscd.lo port.lo \ + pwauth.lo pwio.lo rad64.lo sgetgrent.lo sgetpwent.lo \ + sgroupio.lo shadow.lo shadowio.lo utent.lo libshadow_la_OBJECTS = $(am_libshadow_la_OBJECTS) + DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/depcomp -@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/commonio.Plo $(DEPDIR)/dialchk.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/dialup.Plo $(DEPDIR)/encrypt.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/fputsx.Plo $(DEPDIR)/getdef.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/getpass.Plo $(DEPDIR)/groupio.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/gshadow.Plo $(DEPDIR)/lockpw.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/port.Plo $(DEPDIR)/pwauth.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/pwio.Plo $(DEPDIR)/rad64.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/sgetgrent.Plo $(DEPDIR)/sgetpwent.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/sgroupio.Plo $(DEPDIR)/shadow.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/shadowio.Plo $(DEPDIR)/tcfsio.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/utent.Plo +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/commonio.Plo ./$(DEPDIR)/encrypt.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/fputsx.Plo ./$(DEPDIR)/getdef.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/getpass.Plo ./$(DEPDIR)/groupio.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/gshadow.Plo ./$(DEPDIR)/lockpw.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/nscd.Plo ./$(DEPDIR)/port.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/pwauth.Plo ./$(DEPDIR)/pwio.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/rad64.Plo ./$(DEPDIR)/sgetgrent.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/sgetpwent.Plo ./$(DEPDIR)/sgroupio.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/shadow.Plo ./$(DEPDIR)/shadowio.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/utent.Plo COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ @@ -216,50 +255,47 @@ LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ CCLD = $(CC) LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -CFLAGS = @CFLAGS@ DIST_SOURCES = $(libshadow_la_SOURCES) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am SOURCES = $(libshadow_la_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign lib/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +libLTLIBRARIES_INSTALL = $(INSTALL) install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(libdir) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p="`echo $$p | sed -e 's|^.*/||'`"; \ echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" = "$$p" && dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES) $(LINK) -rpath $(libdir) $(libshadow_la_LDFLAGS) $(libshadow_la_OBJECTS) $(libshadow_la_LIBADD) $(LIBS) @@ -269,98 +305,148 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/commonio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dialchk.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dialup.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/encrypt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fputsx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getdef.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getpass.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/groupio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gshadow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lockpw.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/port.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwauth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rad64.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sgetgrent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sgetpwent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sgroupio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/shadow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/shadowio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tcfsio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/utent.Plo@am__quote@ - -distclean-depend: - -rm -rf $(DEPDIR) +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commonio.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fputsx.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdef.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupio.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gshadow.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lockpw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nscd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/port.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwauth.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwio.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rad64.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgetgrent.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgetpwent.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgroupio.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadow.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowio.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utent.Plo@am__quote@ .c.o: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< .c.obj: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `cygpath -w $<` +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` .c.lo: -@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< -CCDEPMODE = @CCDEPMODE@ +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool uninstall-info-am: +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) + mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ + here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -373,7 +459,6 @@ all-am: Makefile $(LTLIBRARIES) installdirs: $(mkinstalldirs) $(DESTDIR)$(libdir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -385,6 +470,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -392,7 +478,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -403,9 +489,10 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags dvi: dvi-am @@ -426,7 +513,8 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -rf ./$(DEPDIR) + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am @@ -434,19 +522,28 @@ mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES -.PHONY: GTAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool distclean distclean-compile \ - distclean-depend distclean-generic distclean-libtool \ +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am info info-am install \ install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am \ install-libLTLIBRARIES install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool tags uninstall \ - uninstall-am uninstall-info-am uninstall-libLTLIBRARIES + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-info-am \ + uninstall-libLTLIBRARIES # 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. diff --git a/lib/commonio.c b/lib/commonio.c index 66618a7d..78cf54be 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -2,7 +2,7 @@ #include #include "rcsid.h" -RCSID("$Id: commonio.c,v 1.22 2001/11/17 13:15:52 malekith Exp $") +RCSID("$Id: commonio.c,v 1.23 2003/05/12 06:12:06 kloczek Exp $") #include "defines.h" #include @@ -12,6 +12,7 @@ RCSID("$Id: commonio.c,v 1.22 2001/11/17 13:15:52 malekith Exp $") #include #include #include +#include #ifdef HAVE_SHADOW_H #include #endif diff --git a/lib/defines.h b/lib/defines.h index 5114e0b2..ba456686 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -1,4 +1,4 @@ -/* $Id: defines.h,v 1.20 2001/11/19 09:23:52 kloczek Exp $ */ +/* $Id: defines.h,v 1.21 2003/05/03 16:14:23 kloczek Exp $ */ /* some useful defines */ #ifndef _DEFINES_H_ @@ -47,14 +47,6 @@ char *strchr(), *strrchr(), *strtok(); # include #endif -/* Solaris 2.4 defines __SVR4, but not SVR4 -j. */ - -#ifdef __SVR4 -# ifndef SVR4 -# define SVR4 __SVR4 -# endif -#endif - #include #include #if HAVE_SYS_WAIT_H @@ -283,7 +275,7 @@ char *strchr(), *strrchr(), *strtok(); /* get rid of a few ugly repeated #ifdefs in pwent.c and grent.c */ /* XXX - this is ugly too, configure should test it and not check for any hardcoded system names, if possible. --marekm */ -#if defined(SVR4) || defined(AIX) || defined(__linux__) +#if defined(AIX) || defined(__linux__) #define SETXXENT_TYPE void #define SETXXENT_RET(x) return #define SETXXENT_TEST(x) x; if (0) /* compiler should optimize this away */ diff --git a/lib/dialchk.c b/lib/dialchk.c deleted file mode 100644 index 92b4ce7e..00000000 --- a/lib/dialchk.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1989 - 1991, Julianne Frances Haugh - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Julianne F. Haugh nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include - -#include "rcsid.h" -RCSID("$Id: dialchk.c,v 1.6 1999/08/27 19:02:51 marekm Exp $") - -#include -#include "defines.h" -#include "prototypes.h" -#include "dialup.h" -#include "dialchk.h" - -/* - * Check for dialup password - * - * dialcheck tests to see if tty is listed as being a dialup - * line. If so, a dialup password may be required if the shell - * is listed as one which requires a second password. - */ - -int -dialcheck(const char *tty, const char *sh) -{ - struct dialup *dialup; - char *pass; - char *cp; - - setduent (); - - if (! isadialup (tty)) { - endduent (); - return (1); - } - if (! (dialup = getdushell (sh))) { - endduent (); - return (1); - } - endduent (); - - if (dialup->du_passwd[0] == '\0') - return (1); - - if (! (pass = getpass(_("Dialup Password: ")))) - return (0); - - cp = pw_encrypt (pass, dialup->du_passwd); - strzero(pass); - return (strcmp (cp, dialup->du_passwd) == 0); -} diff --git a/lib/dialchk.h b/lib/dialchk.h deleted file mode 100644 index 75f1829e..00000000 --- a/lib/dialchk.h +++ /dev/null @@ -1,16 +0,0 @@ -/* $Id: dialchk.h,v 1.2 2000/08/26 18:27:17 marekm Exp $ */ -#ifndef _DIALCHK_H_ -#define _DIALCHK_H_ - -#include "defines.h" - -/* - * Check for dialup password - * - * dialcheck tests to see if tty is listed as being a dialup - * line. If so, a dialup password may be required if the shell - * is listed as one which requires a second password. - */ -extern int dialcheck(const char *, const char *); - -#endif diff --git a/lib/dialup.c b/lib/dialup.c deleted file mode 100644 index 7965c1ae..00000000 --- a/lib/dialup.c +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright 1989 - 1991, Julianne Frances Haugh - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Julianne F. Haugh nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include - -#include "rcsid.h" -RCSID("$Id: dialup.c,v 1.3 1997/12/07 23:26:50 marekm Exp $") - -#include -#include "prototypes.h" -#include "defines.h" -#include "dialup.h" - -static FILE *dialpwd; - -void -setduent(void) -{ - if (dialpwd) - rewind (dialpwd); - else - dialpwd = fopen (DIALPWD, "r"); -} - -void -endduent(void) -{ - if (dialpwd) - fclose (dialpwd); - - dialpwd = (FILE *) 0; -} - -struct dialup * -fgetduent(FILE *fp) -{ - static struct dialup dialup; /* static structure to point to */ - static char sh[128]; /* some space for a login shell */ - static char passwd[128]; /* some space for dialup password */ - char buf[BUFSIZ]; - char *cp; - char *cp2; - - if (! fp) - return 0; - - if (! fp || feof (fp)) - return ((struct dialup *) 0); - - while (fgets (buf, sizeof buf, fp) == buf && buf[0] == '#') - ; - - if (feof (fp)) - return ((struct dialup *) 0); - - if ((cp = strchr (buf, '\n'))) - *cp = '\0'; - - if (! (cp = strchr (buf, ':'))) - return ((struct dialup *) 0); - - if (cp - buf > sizeof sh) /* something is fishy ... */ - return ((struct dialup *) 0); - - *cp++ = '\0'; - (void) strcpy (sh, buf); - sh[cp - buf] = '\0'; - - if ((cp2 = strchr (cp, ':'))) - *cp2 = '\0'; - - if (strlen (cp) + 1 > sizeof passwd) /* something is REALLY fishy */ - return ((struct dialup *) 0); - - (void) strcpy (passwd, cp); - - dialup.du_shell = sh; - dialup.du_passwd = passwd; - - return (&dialup); -} - -struct dialup * -getduent(void) -{ - if (! dialpwd) - setduent (); - - return fgetduent (dialpwd); -} - -struct dialup * -getdushell(const char *sh) -{ - struct dialup *dialup; - - while ((dialup = getduent ())) { - if (strcmp (sh, dialup->du_shell) == 0) - return (dialup); - - if (strcmp (dialup->du_shell, "*") == 0) - return (dialup); - } - return ((struct dialup *) 0); -} - -int -isadialup(const char *tty) -{ - FILE *fp; - char buf[BUFSIZ]; - int dialup = 0; - - if (! (fp = fopen (DIALUPS, "r"))) - return (0); - - while (fgets (buf, sizeof buf, fp) == buf) { - if (buf[0] == '#') - continue; - - buf[strlen (buf) - 1] = '\0'; - - if (strcmp (buf, tty) == 0) { - dialup = 1; - break; - } - } - fclose (fp); - - return (dialup); -} - -int -putduent(const struct dialup *dial, FILE *fp) -{ - if (! fp || ! dial) - return -1; - - if (fprintf (fp, "%s:%s\n", dial->du_shell, dial->du_passwd) == EOF) - return -1; - - return 0; -} diff --git a/lib/dialup.h b/lib/dialup.h deleted file mode 100644 index 2b3892bd..00000000 --- a/lib/dialup.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 1989 - 1991, Julianne Frances Haugh - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Julianne F. Haugh nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Structure of the /etc/d_passwd file - * - * The d_passwd file contains the names of login shells which require - * dialup passwords. Each line contains the fully qualified path name - * for the shell, followed by an optional password. Each field is - * separated by a ':'. - * - * Structure of the /etc/dialups file - * - * The dialups file contains the names of ports which may be dialup - * lines. Each line consists of the last component of the path - * name. The leading "/dev/" string is removed. - * - * $Id: dialup.h,v 1.3 2000/08/26 18:27:17 marekm Exp $ - */ - -#ifndef _DIALUP_H -#define _DIALUP_H - -struct dialup { - char *du_shell; - char *du_passwd; -}; - -extern void setduent(void); -extern void endduent(void); -extern struct dialup *fgetduent(FILE *); -extern struct dialup *getduent(void); -extern struct dialup *getdushell(const char *); -extern int putduent(const struct dialup *, FILE *); -extern int isadialup(const char *); - -#define DIALPWD "/etc/d_passwd" -#define DIALUPS "/etc/dialups" - -#endif diff --git a/lib/getdef.c b/lib/getdef.c index 10125562..1ed28318 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: getdef.c,v 1.15 2002/01/06 14:08:00 kloczek Exp $") +RCSID("$Id: getdef.c,v 1.18 2003/05/12 02:40:08 kloczek Exp $") #include "prototypes.h" #include "defines.h" @@ -63,7 +63,6 @@ static struct itemdef def_table[] = { { "CRACKLIB_DICTPATH", NULL }, { "CREATE_HOME", NULL }, { "DEFAULT_HOME", NULL }, - { "DIALUPS_CHECK_ENAB", NULL }, { "ENVIRON_FILE", NULL }, { "ENV_HZ", NULL }, { "ENV_PATH", NULL }, @@ -94,7 +93,6 @@ static struct itemdef def_table[] = { { "MOTD_FILE", NULL }, { "NOLOGINS_FILE", NULL }, { "NOLOGIN_STR", NULL }, - { "NO_PASSWORD_CONSOLE", NULL }, { "OBSCURE_CHECKS_ENAB", NULL }, { "PASS_ALWAYS_WARN", NULL }, { "PASS_CHANGE_TRIES", NULL }, @@ -406,15 +404,11 @@ main(int argc, char **argv) char *cp; struct itemdef *d; - setlocale(LC_ALL, ""); - bindtextdomain(PACKAGE, LOCALEDIR); - textdomain(PACKAGE); - def_load (); for (i = 0 ; i < NUMDEFS ; ++i) { if ((d = def_find(def_table[i].name)) == NULL) - printf(_("error - lookup '%s' failed\n"), def_table[i].name); + printf("error - lookup '%s' failed\n", def_table[i].name); else printf("%4d %-24s %s\n", i+1, d->name, d->value); } @@ -422,7 +416,7 @@ main(int argc, char **argv) if ((cp = getdef_str (argv[1])) != NULL) printf ("%s `%s'\n", argv[1], cp); else - printf (_("%s not found\n"), argv[1]); + printf ("%s not found\n", argv[1]); } exit(0); } diff --git a/lib/getpass.c b/lib/getpass.c index d311f92a..761d280d 100644 --- a/lib/getpass.c +++ b/lib/getpass.c @@ -31,7 +31,7 @@ #include #include "rcsid.h" -RCSID("$Id: getpass.c,v 1.11 2001/11/16 14:53:48 kloczek Exp $") +RCSID("$Id: getpass.c,v 1.12 2003/05/05 21:44:12 kloczek Exp $") #include "defines.h" @@ -197,10 +197,6 @@ prompt_password(const char *prompt, int with_echo) is_tty = 1; if (GTTY(fileno(ifp), &old_modes)) { is_tty = 0; -#if 0 /* to make getpass work with redirected stdin */ - return_value = NULL; - goto out2; -#endif } #ifdef USE_SETJMP @@ -266,9 +262,6 @@ out: (void) sigaction (SIGINT, &old_sigact, NULL); #else (void) signal (SIGINT, old_signal); -#endif -#if 0 -out2: #endif if (tty_opened) (void) fclose(ifp); diff --git a/lib/lastlog_.h b/lib/lastlog_.h index 8d459de6..80821b99 100644 --- a/lib/lastlog_.h +++ b/lib/lastlog_.h @@ -30,7 +30,7 @@ /* * lastlog.h - structure of lastlog file * - * $Id: lastlog_.h,v 1.2 1997/05/01 23:14:42 marekm Exp $ + * $Id: lastlog_.h,v 1.3 2003/12/17 12:52:25 kloczek Exp $ * * This file defines a lastlog file structure which should be sufficient * to hold the information required by login. It should only be used if @@ -40,8 +40,23 @@ #ifndef __LASTLOG_H #define __LASTLOG_H +#if defined(__GLIBC__) +#error "glibc shall have fixed already, which is " +#endif + +#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32 +/* Recent dietlibc will support those conditionnals */ +#define LASTLOG_NEEDS_32BIT_LL_TIME 1 +#elif defined(__x86_64__) || defined(__powerpc64__) || defined(__sparc_v9__) +#error "I don't know what to do here, what kind of C library are you using?" +#endif + struct lastlog { +#if LASTLOG_NEEDS_32BIT_LL_TIME + unsigned int ll_time; +#else time_t ll_time; +#endif char ll_line[12]; char ll_host[16]; }; diff --git a/lib/nscd.c b/lib/nscd.c new file mode 100644 index 00000000..69a4ba10 --- /dev/null +++ b/lib/nscd.c @@ -0,0 +1,92 @@ +/* Copyright (c) 1999 SuSE GmbH Nuerenberg, Germany + Author: Thorsten Kukuk */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* Version number of the daemon interface */ +#define NSCD_VERSION 2 +/* Path for the Unix domain socket. */ +#define _PATH_NSCDSOCKET "/var/run/.nscd_socket" + +/* Available services. */ +typedef enum { + GETPWBYNAME, + GETPWBYUID, + GETGRBYNAME, + GETGRBYGID, + GETHOSTBYNAME, + GETHOSTBYNAMEv6, + GETHOSTBYADDR, + GETHOSTBYADDRv6, + LASTDBREQ = GETHOSTBYADDRv6, + SHUTDOWN, /* Shut the server down. */ + GETSTAT, /* Get the server statistic. */ + INVALIDATE, /* Invalidate one special cache. */ + LASTREQ +} request_type; + +/* Header common to all requests */ +typedef struct { + int version; /* Version number of the daemon interface. */ + request_type type; /* Service requested. */ +#if defined(__alpha__) + int64_t key_len; /* Key length is 64bit on Alpha. */ +#else + int32_t key_len; /* Key length, 32bit on most plattforms. */ +#endif +} request_header; + +/* Create a socket connected to a name. */ +static int nscd_open_socket (void) +{ + struct sockaddr_un addr; + int sock; + + sock = socket (PF_UNIX, SOCK_STREAM, 0); + if (sock < 0) + return -1; + + addr.sun_family = AF_UNIX; + assert (sizeof (addr.sun_path) >= sizeof (_PATH_NSCDSOCKET)); + strcpy (addr.sun_path, _PATH_NSCDSOCKET); + if (connect (sock, (struct sockaddr *) &addr, sizeof (addr)) < 0) { + close (sock); + return -1; + } + + return sock; +} + +/* + * nscd_flush_cache - flush specyfied service bufor in nscd cache + */ +int nscd_flush_cache (char *service) +{ + int sock = nscd_open_socket (); + request_header req; + ssize_t nbytes; + + if (sock == -1) + return -1; + + req.version = NSCD_VERSION; + req.type = INVALIDATE; + req.key_len = strlen (service) + 1; + nbytes = write (sock, &req, sizeof (request_header)); + if (nbytes != sizeof (request_header)) { + close (sock); + return -1; + } + + nbytes = write (sock, (void *) service, req.key_len); + + close (sock); + return (nbytes != req.key_len ? (-1) : 0); +} diff --git a/lib/nscd.h b/lib/nscd.h new file mode 100644 index 00000000..27e818af --- /dev/null +++ b/lib/nscd.h @@ -0,0 +1,12 @@ +/* Copyright (c) 1999 SuSE GmbH Nuerenberg, Germany + Author: Thorsten Kukuk */ + +#ifndef _FAILURE_H_ +#define _FAILURE_H_ + +/* + * nscd_flush_cache - flush specyfied service bufor in nscd cache + */ +extern int nscd_flush_cache (char *service); + +#endif diff --git a/lib/prototypes.h b/lib/prototypes.h index 20436dcf..0358a2bd 100644 --- a/lib/prototypes.h +++ b/lib/prototypes.h @@ -6,7 +6,7 @@ * Juha Virtanen, ; November 1995 */ /* - * $Id: prototypes.h,v 1.14 2000/08/26 18:27:17 marekm Exp $ + * $Id: prototypes.h,v 1.15 2003/04/25 21:33:47 kloczek Exp $ * * Added a macro to work around ancient (non-ANSI) compilers, just in case * someone ever tries to compile this with SunOS cc... --marekm @@ -16,7 +16,11 @@ #define _PROTOTYPES_H #include +#if HAVE_UTMPX_H +#include +#else #include +#endif #include #include diff --git a/lib/pwauth.c b/lib/pwauth.c index bce32f22..6b1ae525 100644 --- a/lib/pwauth.c +++ b/lib/pwauth.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: pwauth.c,v 1.11 2000/08/26 18:27:17 marekm Exp $") +RCSID("$Id: pwauth.c,v 1.14 2003/05/12 04:58:56 kloczek Exp $") #include #include @@ -59,42 +59,19 @@ static const char *PROMPT = gettext_noop("%s's Password: "); extern char *getpass(); extern char *getpass_with_echo(); -#ifdef AUTH_METHODS -/* - * Look-up table for bound-in methods. Put the name that the - * method is known by in the password field as "name" and a - * pointer to the function - */ - -struct method { - char *name; - int (*func)(const char *, int, const char *); -}; - -#ifdef PAD_AUTH -int pad_auth(); -#endif -static struct method methods[] = { -#ifdef PAD_AUTH - { "pad", pad_auth }, -#endif - { "", 0 } -}; -#endif /* AUTH_METHODS */ - int wipe_clear_pass = 1; char *clear_pass = NULL; /* - * _old_auth - perform getpass/crypt authentication + * pw_auth - perform getpass/crypt authentication * - * _old_auth gets the user's cleartext password and encrypts it - * using the salt in the encrypted password. The results are + * pw_auth gets the user's cleartext password and encrypts it + * using the salt in the encrypted password. The results are * compared. */ -static int -_old_auth(const char *cipher, const char *user, int reason, const char *input) +int +pw_auth(const char *cipher, const char *user, int reason, const char *input) { char prompt[1024]; char *clear = NULL; @@ -283,12 +260,8 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input) if (retval && use_skey) { int passcheck = -1; -#if 0 /* some skey libs don't have skey_passcheck. --marekm */ - passcheck = skey_passcheck(user, input); -#else if (skeyverify(&skey, input) == 0) passcheck = skey.n; -#endif /* if 0 */ if (passcheck > 0) retval = 0; } @@ -313,266 +286,3 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input) strzero(clear); return retval; } - -#ifdef AUTH_METHODS -/* - * _pw_auth - perform alternate password authentication - * - * pw_auth executes the alternate password authentication method - * described in the user's password entry. _pw_auth does the real - * work, pw_auth splits the authentication string into individual - * command names. - */ - -static int -_pw_auth(const char *command, const char *user, int reason, const char *input) -{ - RETSIGTYPE (*sigint)(); - RETSIGTYPE (*sigquit)(); -#ifdef SIGTSTP - RETSIGTYPE (*sigtstp)(); -#endif - int pid; - int status; - int i; - char * const argv[5]; - int argc = 0; - int pipes[2]; - char *empty_env = NULL; - int use_pipe; - - /* - * Start with a quick sanity check. ALL command names must - * be fully-qualified path names. - */ - - if (command[0] != '/') - return -1; - - /* - * Set the keyboard signals to be ignored. When the user kills - * the child we don't want the parent dying as well. - */ - - sigint = signal (SIGINT, SIG_IGN); - sigquit = signal (SIGQUIT, SIG_IGN); -#ifdef SIGTSTP - sigtstp = signal (SIGTSTP, SIG_IGN); -#endif - - /* - * FTP and REXEC reasons don't give the program direct access - * to the user. This means that the program can only get input - * from this function. So we set up a pipe for that purpose. - */ - - use_pipe = (reason == PW_FTP || reason == PW_REXEC); - if (use_pipe) - if (pipe (pipes)) - return -1; - - /* - * The program will be forked off with the parent process waiting - * on the child to tell it how successful it was. - */ - - switch (pid = fork ()) { - - /* - * The fork() failed completely. Clean up as needed and - * return to the caller. - */ - case -1: - if (use_pipe) { - close (pipes[0]); - close (pipes[1]); - } - return -1; - case 0: - - /* - * Let the child catch the SIGINT and SIGQUIT - * signals. The parent, however, will continue - * to ignore them. - */ - signal (SIGINT, SIG_DFL); - signal (SIGQUIT, SIG_DFL); - - /* - * Set up the command line. The first argument is - * the name of the command being executed. The - * second is the command line option for the reason, - * and the third is the user name. - */ - argv[argc++] = command; - switch (reason) { - case PW_SU: argv[argc++] = "-s"; break; - case PW_LOGIN: argv[argc++] = "-l"; break; - case PW_ADD: argv[argc++] = "-a"; break; - case PW_CHANGE: argv[argc++] = "-c"; break; - case PW_DELETE: argv[argc++] = "-d"; break; - case PW_TELNET: argv[argc++] = "-t"; break; - case PW_RLOGIN: argv[argc++] = "-r"; break; - case PW_FTP: argv[argc++] = "-f"; break; - case PW_REXEC: argv[argc++] = "-x"; break; - } - if (reason == PW_CHANGE && input) - argv[argc++] = input; - - argv[argc++] = user; - argv[argc] = (char *) 0; - - /* - * The FTP and REXEC reasons use a pipe to communicate - * with the parent. The other standard I/O descriptors - * are closed and re-opened as /dev/null. - */ - if (use_pipe) { - close (0); - close (1); - close (2); - - if (dup (pipes[0]) != 0) - exit (1); - - close (pipes[0]); - close (pipes[1]); - - if (open ("/dev/null", O_WRONLY) != 1) - exit (1); - - if (open ("/dev/null", O_WRONLY) != 2) - exit (1); - } - - /* - * Now we execute the command directly. - * Do it with empty environment for safety. --marekm - */ - execve(command, argv, &empty_env); - _exit((errno == ENOENT) ? 127 : 126); - /*NOTREACHED*/ - default: - /* - * FTP and REXEC cause a single line of text to be - * sent to the child over a pipe that was set up - * earlier. - */ - if (use_pipe) { - close (pipes[0]); - - if (input) - write (pipes[1], input, strlen (input)); - - write (pipes[1], "\n", 1); - close (pipes[1]); - } - - /* - * Wait on the child to die. When it does you will - * get the exit status and use that to determine if - * the authentication program was successful. - */ - while ((i = wait (&status)) != pid && i != -1) - ; - - /* - * Re-set the signals to their earlier values. - */ - signal (SIGINT, sigint); - signal (SIGQUIT, sigquit); -#ifdef SIGTSTP - signal (SIGTSTP, sigtstp); -#endif - - /* - * Make sure we found the right process! - */ - if (i == -1) - return -1; - - if (status == 0) - return 0; - else - return -1; - } - /*NOTREACHED*/ -} - -/* - * _builtin_auth - lookup routine in table and execute - */ - -static int -_builtin_auth(const char *command, const char *user, int reason, const char *input) -{ - int i; - - /* - * Scan the table, looking for a match. If we fall off - * the end, it must mean that this method isn't supported, - * so we fail the authentication. - */ - - for (i = 0;methods[i].name[0];i++) { - if (! strcmp (command, methods[i].name)) - break; - } - if (methods[i].name[0] == '\0') - return -1; - - /* - * Call the pointed to function with the other three - * arguments. - */ - - return (methods[i].func) (user, reason, input); -} -#endif /* AUTH_METHODS */ - -/* - * This function does the real work. It splits the list of program names - * up into individual programs and executes them one at a time. - */ - -int -pw_auth(const char *command, const char *user, int reason, const char *input) -{ -#ifdef AUTH_METHODS - char buf[256]; - char *cmd, *end; - int rc; - - /* - * Quick little sanity check ... - */ - - if (strlen (command) >= sizeof buf) - return -1; - - strcpy(buf, command); /* safe (because of the above check) --marekm */ - - /* - * Find each command and make sure it is NUL-terminated. Then - * invoke _pw_auth to actually run the program. The first - * failing program ends the whole mess. - */ - - for (cmd = buf;cmd;cmd = end) { - if ((end = strchr (cmd, ';'))) - *end++ = '\0'; - - if (cmd[0] != '@') - rc = _old_auth (cmd, user, reason, input); - else if (cmd[1] == '/') - rc = _pw_auth (cmd + 1, user, reason, input); - else - rc = _builtin_auth (cmd + 1, user, reason, input); - if (rc) - return -1; - } - return 0; -#else - return _old_auth(command, user, reason, input); -#endif -} diff --git a/lib/pwauth.h b/lib/pwauth.h index ab6017b4..a6aa77fe 100644 --- a/lib/pwauth.h +++ b/lib/pwauth.h @@ -26,14 +26,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pwauth.h,v 1.2 1997/05/01 23:14:44 marekm Exp $ + * $Id: pwauth.h,v 1.3 2003/05/12 06:08:31 kloczek Exp $ */ -#if __STDC__ -int pw_auth(const char *program,const char *user,int flag,const char *input); -#else -int pw_auth (); -#endif +int pw_auth(const char *cipher,const char *user,int flag,const char *input); /* * Local access diff --git a/lib/pwio.c b/lib/pwio.c index a0f2d3ad..6d5a300f 100644 --- a/lib/pwio.c +++ b/lib/pwio.c @@ -2,7 +2,7 @@ #include #include "rcsid.h" -RCSID("$Id: pwio.c,v 1.12 2001/08/14 21:10:36 malekith Exp $") +RCSID("$Id: pwio.c,v 1.13 2003/05/03 16:14:23 kloczek Exp $") #include "prototypes.h" #include "defines.h" @@ -27,14 +27,6 @@ __pw_dup(const struct passwd *pwent) return NULL; if (!(pw->pw_passwd = strdup(pwent->pw_passwd))) return NULL; -#ifdef ATT_AGE - if (!(pw->pw_age = strdup(pwent->pw_age))) - return NULL; -#endif -#ifdef ATT_COMMENT - if (!(pw->pw_comment = strdup(pwent->pw_comment))) - return NULL; -#endif if (!(pw->pw_gecos = strdup(pwent->pw_gecos))) return NULL; if (!(pw->pw_dir = strdup(pwent->pw_dir))) @@ -58,12 +50,6 @@ passwd_free(void *ent) free(pw->pw_name); free(pw->pw_passwd); -#ifdef ATT_AGE - free(pw->pw_age); -#endif -#ifdef ATT_COMMENT - free(pw->pw_comment); -#endif free(pw->pw_gecos); free(pw->pw_dir); free(pw->pw_shell); diff --git a/lib/pwpack.c b/lib/pwpack.c index 67053baf..a08640c0 100644 --- a/lib/pwpack.c +++ b/lib/pwpack.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: pwpack.c,v 1.4 1998/04/16 19:57:42 marekm Exp $") +RCSID("$Id: pwpack.c,v 1.6 2003/12/17 01:33:28 kloczek Exp $") #include #include "defines.h" @@ -53,12 +53,6 @@ pw_pack(const struct passwd *passwd, char *buf) cp += strlen (cp) + 1; strcpy (cp, passwd->pw_passwd); -#ifdef ATT_AGE - if (passwd->pw_age[0]) { - *cp++ = ','; - strcat (cp, passwd->pw_age); - } -#endif cp += strlen (cp) + 1; memcpy (cp, (const char *) &passwd->pw_uid, sizeof passwd->pw_uid); @@ -66,17 +60,7 @@ pw_pack(const struct passwd *passwd, char *buf) memcpy (cp, (const char *) &passwd->pw_gid, sizeof passwd->pw_gid); cp += sizeof passwd->pw_gid; -#ifdef BSD_QUOTA - memcpy (cp, (const char *) &passwd->pw_quota, sizeof passwd->pw_quota); - cp += sizeof passwd->pw_quota; -#endif -#ifdef ATT_COMMENT - if (passwd->pw_comment) { - strcpy (cp, passwd->pw_comment); - cp += strlen (cp) + 1; - } else - *cp++ = '\0'; -#endif + strcpy (cp, passwd->pw_gecos); cp += strlen (cp) + 1; @@ -97,9 +81,6 @@ int pw_unpack(char *buf, int len, struct passwd *passwd) { char *org = buf; -#ifdef ATT_AGE - char *cp; -#endif memzero(passwd, sizeof *passwd); @@ -113,14 +94,6 @@ pw_unpack(char *buf, int len, struct passwd *passwd) if (buf - org > len) return -1; -#ifdef ATT_AGE - if (cp = strchr (passwd->pw_passwd, ',')) { - *cp++ = '\0'; - passwd->pw_age = cp; - } else - passwd->pw_age = ""; -#endif - memcpy ((void *) &passwd->pw_uid, (void *) buf, sizeof passwd->pw_uid); buf += sizeof passwd->pw_uid; if (buf - org > len) @@ -131,19 +104,6 @@ pw_unpack(char *buf, int len, struct passwd *passwd) if (buf - org > len) return -1; -#ifdef BSD_QUOTA - memcpy ((void *) &passwd->pw_quota, (void *) buf, - sizeof passwd->pw_quota); - buf += sizeof passwd->pw_quota; - if (buf - org > len) - return -1; -#endif -#ifdef ATT_COMMENT - passwd->pw_comment = buf; - buf += strlen (buf) + 1; - if (buf - org > len) - return -1; -#endif passwd->pw_gecos = buf; buf += strlen (buf) + 1; if (buf - org > len) diff --git a/lib/sgetpwent.c b/lib/sgetpwent.c index 993f3c97..b3aa54b7 100644 --- a/lib/sgetpwent.c +++ b/lib/sgetpwent.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: sgetpwent.c,v 1.5 1998/04/02 21:51:46 marekm Exp $") +RCSID("$Id: sgetpwent.c,v 1.6 2003/05/03 16:14:23 kloczek Exp $") #include #include "defines.h" @@ -112,23 +112,7 @@ sgetpwent(const char *buf) ((pwent.pw_gid = strtol (fields[3], &ep, 10)) == 0 && *ep)) { return 0; } -#ifdef ATT_AGE - cp = pwent.pw_passwd; - while (*cp && *cp != ',') - ++cp; - - if (*cp) { - *cp++ = '\0'; - pwent.pw_age = cp; - } else { - cp = 0; - pwent.pw_age = ""; - } -#endif pwent.pw_gecos = fields[4]; -#ifdef ATT_COMMENT - pwent.pw_comment = ""; -#endif pwent.pw_dir = fields[5]; pwent.pw_shell = fields[6]; diff --git a/lib/shadow.c b/lib/shadow.c index 76179d3a..2b21e23f 100644 --- a/lib/shadow.c +++ b/lib/shadow.c @@ -33,7 +33,7 @@ #if defined(SHADOWPWD) && !defined(HAVE_GETSPNAM) /*{*/ #include "rcsid.h" -RCSID("$Id: shadow.c,v 1.6 1998/01/29 23:22:32 marekm Exp $") +RCSID("$Id: shadow.c,v 1.7 2003/05/03 16:14:24 kloczek Exp $") #include #include "prototypes.h" @@ -199,12 +199,6 @@ my_sgetspent(const char *string) *cp++ = '\0'; } - /* - * It is acceptable for the last SVR4 field to be blank. This - * results in the loop being terminated early. In which case, - * we just make the last field be blank and be done with it. - */ - if (i == (FIELDS-1)) fields[i++] = cp; @@ -280,23 +274,12 @@ my_sgetspent(const char *string) * formatted file), initialize the other field members to -1. */ -#if 0 /* SVR4 */ - if (i == OFIELDS) - return 0; -#else if (i == OFIELDS) { spwd.sp_warn = spwd.sp_inact = spwd.sp_expire = spwd.sp_flag = -1; return &spwd; } -#endif - - /* - * The rest of the fields are mandatory for SVR4, but optional - * for anything else. However, if one is present the others - * must be as well. - */ /* * Get the number of days of password expiry warning. diff --git a/lib/tcfsio.c b/lib/tcfsio.c deleted file mode 100644 index 2649e0be..00000000 --- a/lib/tcfsio.c +++ /dev/null @@ -1,90 +0,0 @@ - -#include - -#ifdef HAVE_TCFS - -#include "prototypes.h" -#include "defines.h" - -#ifdef TCFS_GDBM_SUPPORT -#undef GDBM_SUPPORT -#define GDBM_SUPPORT -#endif - -#include -#include - -#include "commonio.h" -#include "tcfsio.h" - -static struct commonio_db tcfs_db = { - TCFSPWDFILE, /* filename */ - NULL, /* ops */ - NULL, - NULL, - NULL, - NULL, - 0, - 0, - 0, - 0, - 1 -}; - -int -tcfs_file_present(void) -{ - return commonio_present(&tcfs_db); -} - -int -tcfs_lock(void) -{ - return commonio_lock(&tcfs_db); -} - -int -tcfs_open(int mode) -{ - return 1; -/* return tcfs_open(); */ -} - -tcfspwdb * -tcfs_locate(char *name) -{ - return tcfs_getpwnam(name, NULL); -} - -int -tcfs_update(char *user, struct tcfspwd *tcfspword) -{ - char *o, *p; - - o=(char*)calloc(128,sizeof(char)); - p=(char*)calloc(128,sizeof(char)); - strcpy (o, tcfspword->tcfsorig); - strcpy (p, tcfspword->tcfspass); - return tcfs_chgkey(user,o,p); -} - -int -tcfs_remove(char *name) -{ - return tcfs_putpwnam(name, NULL, U_DEL); -} - -int -tcfs_close(void) -{ - return 1; -/* return tcfs_close(&shadow_db); */ -} - -int -tcfs_unlock(void) -{ - return commonio_unlock(&tcfs_db); -} - -#endif diff --git a/lib/tcfsio.h b/lib/tcfsio.h deleted file mode 100644 index 3f53fca5..00000000 --- a/lib/tcfsio.h +++ /dev/null @@ -1,14 +0,0 @@ -struct tcfspwd { - char tcfspass[200]; /* new password */ - char tcfsorig[200]; /* old password */ -}; - -extern int tcfs_close(void); -extern int tcfs_file_present(void); -extern tcfspwdb *tcfs_locate(char *); -extern int tcfs_lock(void); -extern int tcfs_name(char *); -extern int tcfs_open(int); -extern int tcfs_remove(char *); -extern int tcfs_unlock(void); -extern int tcfs_update(char *, struct tcfspwd *); diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am index dc9f3195..d8fb1cdc 100644 --- a/libmisc/Makefile.am +++ b/libmisc/Makefile.am @@ -3,7 +3,7 @@ EXTRA_DOST = .indent.pro DEFS = -DHAVE_CONFIG_H -INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/lib +INCLUDES = -I$(top_srcdir)/lib lib_LTLIBRARIES = libmisc.la @@ -36,7 +36,6 @@ libmisc_la_SOURCES = \ mail.c \ motd.c \ myname.c \ - nscd.c \ obscure.c \ pam_pass.c \ pwd2spwd.c \ diff --git a/libmisc/Makefile.in b/libmisc/Makefile.in index 30ea10a0..3bec25ab 100644 --- a/libmisc/Makefile.in +++ b/libmisc/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,105 +14,148 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ + +DEFS = -DHAVE_CONFIG_H DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ EXTRA_DOST = .indent.pro -DEFS = -DHAVE_CONFIG_H - -INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/lib +INCLUDES = -I$(top_srcdir)/lib lib_LTLIBRARIES = libmisc.la @@ -144,7 +188,6 @@ libmisc_la_SOURCES = \ mail.c \ motd.c \ myname.c \ - nscd.c \ obscure.c \ pam_pass.c \ pwd2spwd.c \ @@ -169,6 +212,7 @@ libmisc_la_SOURCES = \ libmisc_la_LIBADD = $(LIBCRACK) subdir = libmisc +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -181,40 +225,39 @@ am_libmisc_la_OBJECTS = addgrps.lo age.lo basename.lo chkname.lo \ entry.lo env.lo failure.lo fields.lo getdate.lo hushed.lo \ isexpired.lo limits.lo list.lo log.lo login_access.lo \ login_desrpc.lo login_krb.lo loginprompt.lo mail.lo motd.lo \ - myname.lo nscd.lo obscure.lo pam_pass.lo pwd2spwd.lo \ - pwdcheck.lo pwd_init.lo rlogin.lo salt.lo setugid.lo setup.lo \ - setupenv.lo shell.lo strtoday.lo sub.lo sulog.lo ttytype.lo \ - tz.lo ulimit.lo utmp.lo valid.lo xmalloc.lo + myname.lo obscure.lo pam_pass.lo pwd2spwd.lo pwdcheck.lo \ + pwd_init.lo rlogin.lo salt.lo setugid.lo setup.lo setupenv.lo \ + shell.lo strtoday.lo sub.lo sulog.lo ttytype.lo tz.lo ulimit.lo \ + utmp.lo valid.lo xmalloc.lo libmisc_la_OBJECTS = $(am_libmisc_la_OBJECTS) + DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/depcomp -@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/addgrps.Plo $(DEPDIR)/age.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/basename.Plo $(DEPDIR)/chkname.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/chkshell.Plo $(DEPDIR)/chowndir.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/chowntty.Plo $(DEPDIR)/console.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/copydir.Plo $(DEPDIR)/entry.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/env.Plo $(DEPDIR)/failure.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/fields.Plo $(DEPDIR)/getdate.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/hushed.Plo $(DEPDIR)/isexpired.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/limits.Plo $(DEPDIR)/list.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/log.Plo $(DEPDIR)/login_access.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/login_desrpc.Plo $(DEPDIR)/login_krb.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/loginprompt.Plo $(DEPDIR)/mail.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/motd.Plo $(DEPDIR)/myname.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/nscd.Plo $(DEPDIR)/obscure.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/pam_pass.Plo $(DEPDIR)/pwd2spwd.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/pwd_init.Plo $(DEPDIR)/pwdcheck.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/rlogin.Plo $(DEPDIR)/salt.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/setugid.Plo $(DEPDIR)/setup.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/setupenv.Plo $(DEPDIR)/shell.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/strtoday.Plo $(DEPDIR)/sub.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/sulog.Plo $(DEPDIR)/ttytype.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/tz.Plo $(DEPDIR)/ulimit.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/utmp.Plo $(DEPDIR)/valid.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/xmalloc.Plo +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/addgrps.Plo ./$(DEPDIR)/age.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/basename.Plo ./$(DEPDIR)/chkname.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/chkshell.Plo ./$(DEPDIR)/chowndir.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/chowntty.Plo ./$(DEPDIR)/console.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/copydir.Plo ./$(DEPDIR)/entry.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/env.Plo ./$(DEPDIR)/failure.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/fields.Plo ./$(DEPDIR)/getdate.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/hushed.Plo ./$(DEPDIR)/isexpired.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/limits.Plo ./$(DEPDIR)/list.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/log.Plo ./$(DEPDIR)/login_access.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/login_desrpc.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/login_krb.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/loginprompt.Plo ./$(DEPDIR)/mail.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/motd.Plo ./$(DEPDIR)/myname.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/obscure.Plo ./$(DEPDIR)/pam_pass.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/pwd2spwd.Plo ./$(DEPDIR)/pwd_init.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/pwdcheck.Plo ./$(DEPDIR)/rlogin.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/salt.Plo ./$(DEPDIR)/setugid.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/setup.Plo ./$(DEPDIR)/setupenv.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/shell.Plo ./$(DEPDIR)/strtoday.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/sub.Plo ./$(DEPDIR)/sulog.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/ttytype.Plo ./$(DEPDIR)/tz.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/ulimit.Plo ./$(DEPDIR)/utmp.Plo \ +@AMDEP_TRUE@ ./$(DEPDIR)/valid.Plo ./$(DEPDIR)/xmalloc.Plo COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ @@ -222,52 +265,49 @@ LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ CCLD = $(CC) LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -CFLAGS = @CFLAGS@ YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS) DIST_SOURCES = $(libmisc_la_SOURCES) -DIST_COMMON = Makefile.am Makefile.in getdate.c +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am getdate.c SOURCES = $(libmisc_la_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj .y - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu libmisc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +libLTLIBRARIES_INSTALL = $(INSTALL) install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(libdir) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p="`echo $$p | sed -e 's|^.*/||'`"; \ echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" = "$$p" && dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done libmisc.la: $(libmisc_la_OBJECTS) $(libmisc_la_DEPENDENCIES) $(LINK) -rpath $(libdir) $(libmisc_la_LDFLAGS) $(libmisc_la_OBJECTS) $(libmisc_la_LIBADD) $(LIBS) @@ -277,134 +317,195 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/addgrps.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/age.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/basename.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chkname.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chkshell.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chowndir.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chowntty.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/console.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/copydir.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/entry.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/env.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/failure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fields.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getdate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hushed.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/isexpired.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/limits.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/list.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/log.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/login_access.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/login_desrpc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/login_krb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/loginprompt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mail.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/motd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/myname.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/nscd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/obscure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pam_pass.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwd2spwd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwd_init.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwdcheck.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rlogin.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/salt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setugid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setup.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setupenv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/shell.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoday.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sub.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sulog.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ttytype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tz.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ulimit.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/utmp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/valid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xmalloc.Plo@am__quote@ - -distclean-depend: - -rm -rf $(DEPDIR) +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkshell.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowntty.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/console.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copydir.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/failure.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fields.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hushed.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isexpired.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/limits.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_access.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_desrpc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_krb.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loginprompt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mail.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/myname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obscure.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_pass.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd2spwd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd_init.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwdcheck.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlogin.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/salt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setugid.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setupenv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoday.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sulog.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttytype.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tz.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ulimit.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valid.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Plo@am__quote@ .c.o: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< .c.obj: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `cygpath -w $<` +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` .c.lo: -@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< -CCDEPMODE = @CCDEPMODE@ +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .y.c: - $(YACCCOMPILE) $< && mv y.tab.c $@ + $(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$< if test -f y.tab.h; then \ - if cmp -s y.tab.h $*.h; then \ - rm -f y.tab.h; \ + to=`echo "$*_H" | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ + sed "/^#/ s/Y_TAB_H/$$to/g" y.tab.h >$*.ht; \ + rm -f y.tab.h; \ + if cmp -s $*.ht $*.h; then \ + rm -f $*.ht ;\ else \ - mv y.tab.h $*.h; \ + mv $*.ht $*.h; \ fi; \ fi + if test -f y.output; then \ + mv y.output $*.output; \ + fi + sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ + rm -f y.tab.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool uninstall-info-am: +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) + mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ + here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -417,7 +518,6 @@ all-am: Makefile $(LTLIBRARIES) installdirs: $(mkinstalldirs) $(DESTDIR)$(libdir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -429,6 +529,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -436,20 +537,22 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -rm -f getdate.c clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags dvi: dvi-am @@ -470,7 +573,8 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -rf ./$(DEPDIR) + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am @@ -478,19 +582,28 @@ mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES -.PHONY: GTAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool distclean distclean-compile \ - distclean-depend distclean-generic distclean-libtool \ +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am info info-am install \ install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am \ install-libLTLIBRARIES install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool tags uninstall \ - uninstall-am uninstall-info-am uninstall-libLTLIBRARIES + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-info-am \ + uninstall-libLTLIBRARIES # 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. diff --git a/libmisc/addgrps.c b/libmisc/addgrps.c index 3a57d5c6..c505d382 100644 --- a/libmisc/addgrps.c +++ b/libmisc/addgrps.c @@ -10,18 +10,14 @@ #include #include "rcsid.h" -RCSID("$Id: addgrps.c,v 1.5 2001/09/01 04:19:15 kloczek Exp $") - +RCSID ("$Id: addgrps.c,v 1.6 2003/04/22 10:59:21 kloczek Exp $") #define SEP ",:" - /* * Add groups with names from LIST (separated by commas or colons) * to the supplementary group set. Silently ignore groups which are * already there. Warning: uses strtok(). */ - -int -add_groups(const char *list) +int add_groups (const char *list) { GETGROUPS_T *grouplist, *tmp; int i, ngroups, added; @@ -29,51 +25,54 @@ add_groups(const char *list) char *token; char buf[1024]; - if (strlen(list) >= sizeof(buf)) { + if (strlen (list) >= sizeof (buf)) { errno = EINVAL; return -1; } - strcpy(buf, list); + strcpy (buf, list); i = 16; for (;;) { - grouplist = malloc(i * sizeof(GETGROUPS_T)); + grouplist = malloc (i * sizeof (GETGROUPS_T)); if (!grouplist) return -1; - ngroups = getgroups(i, grouplist); + ngroups = getgroups (i, grouplist); if (i > ngroups) break; /* not enough room, so try allocating a larger buffer */ - free(grouplist); + free (grouplist); i *= 2; } if (ngroups < 0) { - free(grouplist); + free (grouplist); return -1; } added = 0; - for (token = strtok(buf, SEP); token; token = strtok(NULL, SEP)) { + for (token = strtok (buf, SEP); token; token = strtok (NULL, SEP)) { - grp = getgrnam(token); + grp = getgrnam (token); if (!grp) { - fprintf(stderr, _("Warning: unknown group %s\n"), token); + fprintf (stderr, _("Warning: unknown group %s\n"), + token); continue; } - for (i = 0; i < ngroups && grouplist[i] != grp->gr_gid; i++) - ; + for (i = 0; i < ngroups && grouplist[i] != grp->gr_gid; + i++); if (i < ngroups) continue; - if (ngroups >= sysconf(_SC_NGROUPS_MAX)) { - fprintf(stderr, _("Warning: too many groups\n")); + if (ngroups >= sysconf (_SC_NGROUPS_MAX)) { + fprintf (stderr, _("Warning: too many groups\n")); break; } - tmp = realloc(grouplist, (ngroups + 1) * sizeof(GETGROUPS_T)); + tmp = + realloc (grouplist, + (ngroups + 1) * sizeof (GETGROUPS_T)); if (!tmp) { - free(grouplist); + free (grouplist); return -1; } tmp[ngroups++] = grp->gr_gid; @@ -82,7 +81,7 @@ add_groups(const char *list) } if (added) - return setgroups(ngroups, grouplist); + return setgroups (ngroups, grouplist); return 0; } diff --git a/libmisc/age.c b/libmisc/age.c index 01846066..2c55a57c 100644 --- a/libmisc/age.c +++ b/libmisc/age.c @@ -41,27 +41,23 @@ #if defined(SHADOWPWD) #include "rcsid.h" -RCSID("$Id: age.c,v 1.7 2001/12/22 06:59:30 kloczek Exp $") - +RCSID ("$Id: age.c,v 1.8 2003/04/22 10:59:21 kloczek Exp $") #ifndef PASSWD_PROGRAM #define PASSWD_PROGRAM "/bin/passwd" #endif - /* * expire - force password change if password expired * * expire() calls /bin/passwd to change the user's password * if it has expired. */ - -int -expire(const struct passwd *pw, const struct spwd *sp) +int expire (const struct passwd *pw, const struct spwd *sp) { - int status; - int child; - int pid; + int status; + int child; + int pid; - if (! sp) + if (!sp) sp = pwd_to_spwd (pw); /* @@ -69,19 +65,18 @@ expire(const struct passwd *pw, const struct spwd *sp) * force them to change their password. */ - switch (status = isexpired (pw, sp)) - { - case 0: - return 0; - case 1: - printf(_("Your password has expired.")); - break; - case 2: - printf(_("Your password is inactive.")); - break; - case 3: - printf(_("Your login has expired.")); - break; + switch (status = isexpired (pw, sp)) { + case 0: + return 0; + case 1: + printf (_("Your password has expired.")); + break; + case 2: + printf (_("Your password is inactive.")); + break; + case 3: + printf (_("Your login has expired.")); + break; } /* @@ -91,12 +86,11 @@ expire(const struct passwd *pw, const struct spwd *sp) * change that password. */ - if (status > 1 || sp->sp_max < sp->sp_min) - { - puts(_(" Contact the system administrator.\n")); - exit(1); + if (status > 1 || sp->sp_max < sp->sp_min) { + puts (_(" Contact the system administrator.\n")); + exit (1); } - puts(_(" Choose a new password.\n")); + puts (_(" Choose a new password.\n")); fflush (stdout); /* @@ -125,26 +119,25 @@ expire(const struct passwd *pw, const struct spwd *sp) * passwd to work just like it would had they executed * it from the command line while logged in. */ - if (setup_uid_gid(pw, 0)) - _exit(126); + if (setup_uid_gid (pw, 0)) + _exit (126); - execl(PASSWD_PROGRAM, PASSWD_PROGRAM, pw->pw_name, (char *)0); + execl (PASSWD_PROGRAM, PASSWD_PROGRAM, pw->pw_name, + (char *) 0); err = errno; - perror("Can't execute " PASSWD_PROGRAM); - _exit((err == ENOENT) ? 127 : 126); + perror ("Can't execute " PASSWD_PROGRAM); + _exit ((err == ENOENT) ? 127 : 126); } else if (pid == -1) { - perror("fork"); - exit(1); + perror ("fork"); + exit (1); } - while ((child = wait (&status)) != pid && child != -1) - ; + while ((child = wait (&status)) != pid && child != -1); if (child == pid && status == 0) return 1; exit (1); - /*NOTREACHED*/ -} + /*NOTREACHED*/} /* * agecheck - see if warning is needed for password expiration @@ -153,13 +146,12 @@ expire(const struct passwd *pw, const struct spwd *sp) * to expire and warns the user of the pending password expiration. */ -void -agecheck(const struct passwd *pw, const struct spwd *sp) +void agecheck (const struct passwd *pw, const struct spwd *sp) { - long now = time ((long *) 0) / SCALE; - long remain; + long now = time ((long *) 0) / SCALE; + long remain; - if (! sp) + if (!sp) sp = pwd_to_spwd (pw); /* @@ -169,15 +161,17 @@ agecheck(const struct passwd *pw, const struct spwd *sp) if (sp->sp_lstchg == -1 || sp->sp_max == -1 || sp->sp_warn == -1) return; - if ((remain = (sp->sp_lstchg + sp->sp_max) - now) <= sp->sp_warn) - { - remain /= DAY/SCALE; + if ((remain = (sp->sp_lstchg + sp->sp_max) - now) <= sp->sp_warn) { + remain /= DAY / SCALE; if (remain > 1) - printf(_("Your password will expire in %ld days.\n"), remain); + printf (_ + ("Your password will expire in %ld days.\n"), + remain); else if (remain == 1) - printf(_("Your password will expire tomorrow.\n")); + printf (_ + ("Your password will expire tomorrow.\n")); else if (remain == 0) - printf(_("Your password will expire today.\n")); + printf (_("Your password will expire today.\n")); } } -#endif /* SHADOWPWD */ +#endif /* SHADOWPWD */ diff --git a/libmisc/basename.c b/libmisc/basename.c index caf3ccdd..ae8432f6 100644 --- a/libmisc/basename.c +++ b/libmisc/basename.c @@ -8,15 +8,12 @@ #include #include "rcsid.h" -RCSID("$Id: basename.c,v 1.2 1997/12/07 23:27:00 marekm Exp $") - +RCSID ("$Id: basename.c,v 1.3 2003/04/22 10:59:21 kloczek Exp $") #include "defines.h" #include "prototypes.h" - -char * -Basename(char *str) +char *Basename (char *str) { - char *cp = strrchr(str, '/'); + char *cp = strrchr (str, '/'); - return cp ? cp+1 : str; + return cp ? cp + 1 : str; } diff --git a/libmisc/chkname.c b/libmisc/chkname.c index 4c35a00c..1d6f90d9 100644 --- a/libmisc/chkname.c +++ b/libmisc/chkname.c @@ -6,20 +6,16 @@ #include #include "rcsid.h" -RCSID("$Id: chkname.c,v 1.6 2002/01/10 13:04:34 kloczek Exp $") - +RCSID ("$Id: chkname.c,v 1.8 2003/05/12 05:29:14 kloczek Exp $") #include #include "defines.h" #include "chkname.h" - #if HAVE_UTMPX_H #include #else #include #endif - -static int -good_name(const char *name) +static int good_name (const char *name) { /* * User/group names must match [a-z_][a-z0-9_-]* @@ -29,17 +25,16 @@ good_name(const char *name) while (*++name) { if (!((*name >= 'a' && *name <= 'z') || - (*name >= '0' && *name <= '9') || - *name == '_' || *name == '-' || - (*name == '$' && *(name+1) == NULL))) + (*name >= '0' && *name <= '9') || + *name == '_' || *name == '-' || + (*name == '$' && *(name + 1) == '\0'))) return 0; } return 1; } -int -check_user_name(const char *name) +int check_user_name (const char *name) { #if HAVE_UTMPX_H struct utmpx ut; @@ -51,21 +46,20 @@ check_user_name(const char *name) * User names are limited by whatever utmp can * handle (usually max 8 characters). */ - if (strlen(name) > sizeof(ut.ut_user)) + if (strlen (name) > sizeof (ut.ut_user)) return 0; - return good_name(name); + return good_name (name); } -int -check_group_name(const char *name) +int check_group_name (const char *name) { /* * Arbitrary limit for group names - max 16 * characters (same as on HP-UX 10). */ - if (strlen(name) > 16) + if (strlen (name) > 16) return 0; - return good_name(name); + return good_name (name); } diff --git a/libmisc/chkshell.c b/libmisc/chkshell.c index d2a45d6f..da8c60e8 100644 --- a/libmisc/chkshell.c +++ b/libmisc/chkshell.c @@ -30,18 +30,15 @@ #include #include "rcsid.h" -RCSID("$Id: chkshell.c,v 1.1 1997/12/07 23:27:00 marekm Exp $") - +RCSID ("$Id: chkshell.c,v 1.2 2003/04/22 10:59:21 kloczek Exp $") #include #include #include #include "prototypes.h" #include "defines.h" - #ifndef SHELLS_FILE #define SHELLS_FILE "/etc/shells" #endif - /* * check_shell - see if the user's login shell is listed in /etc/shells * @@ -52,35 +49,34 @@ RCSID("$Id: chkshell.c,v 1.1 1997/12/07 23:27:00 marekm Exp $") * If getusershell() is available (Linux, *BSD, possibly others), use it * instead of re-implementing it. */ - -int -check_shell(const char *sh) +int check_shell (const char *sh) { - char *cp; + char *cp; int found = 0; + #ifndef HAVE_GETUSERSHELL - char buf[BUFSIZ]; - FILE *fp; + char buf[BUFSIZ]; + FILE *fp; #endif #ifdef HAVE_GETUSERSHELL - setusershell(); - while ((cp = getusershell())) { + setusershell (); + while ((cp = getusershell ())) { if (*cp == '#') continue; - if (strcmp(cp, sh) == 0) { + if (strcmp (cp, sh) == 0) { found = 1; break; } } - endusershell(); + endusershell (); #else if ((fp = fopen (SHELLS_FILE, "r")) == (FILE *) 0) return 0; - while (fgets (buf, sizeof(buf), fp)) { - if ((cp = strrchr(buf, '\n'))) + while (fgets (buf, sizeof (buf), fp)) { + if ((cp = strrchr (buf, '\n'))) *cp = '\0'; if (buf[0] == '#') @@ -95,4 +91,3 @@ check_shell(const char *sh) #endif return found; } - diff --git a/libmisc/chowndir.c b/libmisc/chowndir.c index b89c5973..7ed1cf61 100644 --- a/libmisc/chowndir.c +++ b/libmisc/chowndir.c @@ -30,38 +30,35 @@ #include #include "rcsid.h" -RCSID("$Id: chowndir.c,v 1.6 2000/08/26 18:27:17 marekm Exp $") - +RCSID ("$Id: chowndir.c,v 1.7 2003/04/22 10:59:21 kloczek Exp $") #include #include #include "prototypes.h" #include "defines.h" - #include #include - /* * chown_tree - change ownership of files in a directory tree * * chown_dir() walks a directory tree and changes the ownership * of all files owned by the provided user ID. */ - int -chown_tree(const char *root, uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t new_gid) +chown_tree (const char *root, uid_t old_uid, uid_t new_uid, gid_t old_gid, + gid_t new_gid) { - char new_name[1024]; - int rc = 0; - struct DIRECT *ent; - struct stat sb; - DIR *dir; + char new_name[1024]; + int rc = 0; + struct DIRECT *ent; + struct stat sb; + DIR *dir; /* * Make certain the directory exists. This routine is called * directory by the invoker, or recursively. */ - if (access(root, F_OK) != 0) + if (access (root, F_OK) != 0) return -1; /* @@ -71,7 +68,7 @@ chown_tree(const char *root, uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t * old user ID. */ - if (! (dir = opendir (root))) + if (!(dir = opendir (root))) return -1; while ((ent = readdir (dir))) { @@ -81,7 +78,7 @@ chown_tree(const char *root, uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t */ if (strcmp (ent->d_name, ".") == 0 || - strcmp (ent->d_name, "..") == 0) + strcmp (ent->d_name, "..") == 0) continue; /* @@ -89,16 +86,18 @@ chown_tree(const char *root, uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t * destination files. */ - if (strlen (root) + strlen (ent->d_name) + 2 > sizeof new_name) + if (strlen (root) + strlen (ent->d_name) + 2 > + sizeof new_name) break; - snprintf(new_name, sizeof new_name, "%s/%s", root, ent->d_name); + snprintf (new_name, sizeof new_name, "%s/%s", root, + ent->d_name); /* Don't follow symbolic links! */ - if (LSTAT(new_name, &sb) == -1) + if (LSTAT (new_name, &sb) == -1) continue; - if (S_ISDIR(sb.st_mode) && !S_ISLNK(sb.st_mode)) { + if (S_ISDIR (sb.st_mode) && !S_ISLNK (sb.st_mode)) { /* * Do the entire subdirectory. @@ -110,12 +109,13 @@ chown_tree(const char *root, uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t } #ifndef HAVE_LCHOWN /* don't use chown (follows symbolic links!) */ - if (S_ISLNK(sb.st_mode)) + if (S_ISLNK (sb.st_mode)) continue; #endif if (sb.st_uid == old_uid) - LCHOWN(new_name, new_uid, - sb.st_gid == old_gid ? new_gid:sb.st_gid); + LCHOWN (new_name, new_uid, + sb.st_gid == + old_gid ? new_gid : sb.st_gid); } closedir (dir); @@ -123,10 +123,11 @@ chown_tree(const char *root, uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t * Now do the root of the tree */ - if (! stat (root, &sb)) { + if (!stat (root, &sb)) { if (sb.st_uid == old_uid) - LCHOWN(root, new_uid, - sb.st_gid == old_gid ? new_gid:sb.st_gid); + LCHOWN (root, new_uid, + sb.st_gid == + old_gid ? new_gid : sb.st_gid); } return rc; } diff --git a/libmisc/chowntty.c b/libmisc/chowntty.c index 05598138..74765d26 100644 --- a/libmisc/chowntty.c +++ b/libmisc/chowntty.c @@ -30,28 +30,22 @@ #include #include "rcsid.h" -RCSID("$Id: chowntty.c,v 1.9 2001/06/23 11:09:02 marekm Exp $") - +RCSID ("$Id: chowntty.c,v 1.10 2003/04/22 10:59:21 kloczek Exp $") #include #include - #include #include #include - #include "prototypes.h" #include "defines.h" #include #include "getdef.h" - /* * is_my_tty -- determine if "tty" is the same as TTY stdin is using */ - -static int -is_my_tty(const char *tty) +static int is_my_tty (const char *tty) { - struct stat by_name, by_fd; + struct stat by_name, by_fd; if (stat (tty, &by_name) || fstat (0, &by_fd)) return 0; @@ -67,12 +61,11 @@ is_my_tty(const char *tty) * with TTYPERM modes */ -void -chown_tty(const char *tty, const struct passwd *info) +void chown_tty (const char *tty, const struct passwd *info) { char buf[200], full_tty[200]; - char *group; /* TTY group name or number */ - struct group *grent; + char *group; /* TTY group name or number */ + struct group *grent; gid_t gid; /* @@ -80,7 +73,7 @@ chown_tty(const char *tty, const struct passwd *info) * ID. Otherwise, use the user's primary group ID. */ - if (! (group = getdef_str ("TTYGROUP"))) + if (!(group = getdef_str ("TTYGROUP"))) gid = info->pw_gid; else if (group[0] >= '0' && group[0] <= '9') gid = atoi (group); @@ -95,31 +88,32 @@ chown_tty(const char *tty, const struct passwd *info) */ if (*tty != '/') { - snprintf(full_tty, sizeof full_tty, "/dev/%s", tty); + snprintf (full_tty, sizeof full_tty, "/dev/%s", tty); tty = full_tty; } - if (! is_my_tty (tty)) { - SYSLOG((LOG_WARN, "unable to determine TTY name, got %s\n", - tty)); - closelog(); + if (!is_my_tty (tty)) { + SYSLOG ((LOG_WARN, + "unable to determine TTY name, got %s\n", tty)); + closelog (); exit (1); } - - if (chown(tty, info->pw_uid, gid) || - chmod(tty, getdef_num("TTYPERM", 0600))) { + + if (chown (tty, info->pw_uid, gid) || + chmod (tty, getdef_num ("TTYPERM", 0600))) { int err = errno; - snprintf(buf, sizeof buf, _("Unable to change tty %s"), tty); - perror(buf); - SYSLOG((LOG_WARN, "unable to change tty `%s' for user `%s'\n", - tty, info->pw_name)); - closelog(); + snprintf (buf, sizeof buf, _("Unable to change tty %s"), + tty); + perror (buf); + SYSLOG ((LOG_WARN, + "unable to change tty `%s' for user `%s'\n", tty, + info->pw_name)); + closelog (); if (!(err == EROFS && info->pw_uid == 0)) - exit(1); + exit (1); } - #ifdef __linux__ /* * Please don't add code to chown /dev/vcs* to the user logging in - diff --git a/libmisc/console.c b/libmisc/console.c index 75e69074..d73b423e 100644 --- a/libmisc/console.c +++ b/libmisc/console.c @@ -33,15 +33,14 @@ #include "getdef.h" #include "rcsid.h" -RCSID("$Id: console.c,v 1.5 1998/12/28 20:34:44 marekm Exp $") +RCSID ("$Id: console.c,v 1.6 2003/04/22 10:59:21 kloczek Exp $") /* * This is now rather generic function which decides if "tty" is listed * under "cfgin" in config (directly or indirectly). Fallback to default if * something is bad. */ -int -is_listed(const char *cfgin, const char *tty, int def) +int is_listed (const char *cfgin, const char *tty, int def) { FILE *fp; char buf[200], *cons, *s; @@ -51,7 +50,7 @@ is_listed(const char *cfgin, const char *tty, int def) * fallback to default. */ - if ((cons = getdef_str(cfgin)) == NULL) + if ((cons = getdef_str (cfgin)) == NULL) return def; /* @@ -60,9 +59,9 @@ is_listed(const char *cfgin, const char *tty, int def) */ if (*cons != '/') { - cons = strcpy(buf, cons); - while ((s = strtok(cons, ":")) != NULL) { - if (strcmp(s, tty) == 0) + cons = strcpy (buf, cons); + while ((s = strtok (cons, ":")) != NULL) { + if (strcmp (s, tty) == 0) return 1; cons = NULL; @@ -75,17 +74,17 @@ is_listed(const char *cfgin, const char *tty, int def) * console - otherwise root will never be allowed to login. */ - if ((fp = fopen(cons, "r")) == NULL) + if ((fp = fopen (cons, "r")) == NULL) return def; /* * See if this tty is listed in the console file. */ - while (fgets(buf, sizeof(buf), fp) != NULL) { - buf[strlen(buf) - 1] = '\0'; - if (strcmp(buf, tty) == 0) { - (void) fclose(fp); + while (fgets (buf, sizeof (buf), fp) != NULL) { + buf[strlen (buf) - 1] = '\0'; + if (strcmp (buf, tty) == 0) { + (void) fclose (fp); return 1; } } @@ -94,7 +93,7 @@ is_listed(const char *cfgin, const char *tty, int def) * This tty isn't a console. */ - (void) fclose(fp); + (void) fclose (fp); return 0; } @@ -108,8 +107,7 @@ is_listed(const char *cfgin, const char *tty, int def) * that would allow an unauthorized root login. */ -int -console(const char *tty) +int console (const char *tty) { - return is_listed("CONSOLE", tty, 1); + return is_listed ("CONSOLE", tty, 1); } diff --git a/libmisc/copydir.c b/libmisc/copydir.c index abbb9a03..3cf83076 100644 --- a/libmisc/copydir.c +++ b/libmisc/copydir.c @@ -30,36 +30,31 @@ #include #include "rcsid.h" -RCSID("$Id: copydir.c,v 1.8 2001/06/28 18:27:29 marekm Exp $") - +RCSID ("$Id: copydir.c,v 1.9 2003/04/22 10:59:21 kloczek Exp $") #include - #include #include #include - #include "prototypes.h" #include "defines.h" - static const char *src_orig; static const char *dst_orig; -struct link_name { - dev_t ln_dev; - ino_t ln_ino; - int ln_count; - char *ln_name; - struct link_name *ln_next; +struct link_name { + dev_t ln_dev; + ino_t ln_ino; + int ln_count; + char *ln_name; + struct link_name *ln_next; }; -static struct link_name *links; +static struct link_name *links; /* * remove_link - delete a link from the link list */ -static void -remove_link(struct link_name *ln) +static void remove_link (struct link_name *ln) { struct link_name *lp; @@ -69,11 +64,11 @@ remove_link(struct link_name *ln) free (ln); return; } - for (lp = links;lp;lp = lp->ln_next) + for (lp = links; lp; lp = lp->ln_next) if (lp->ln_next == ln) break; - if (! lp) + if (!lp) return; lp->ln_next = lp->ln_next->ln_next; @@ -85,16 +80,16 @@ remove_link(struct link_name *ln) * check_link - see if a file is really a link */ -static struct link_name * -check_link(const char *name, const struct stat *sb) +static struct link_name *check_link (const char *name, + const struct stat *sb) { - struct link_name *lp; - int src_len; - int dst_len; - int name_len; + struct link_name *lp; + int src_len; + int dst_len; + int name_len; int len; - for (lp = links;lp;lp = lp->ln_next) + for (lp = links; lp; lp = lp->ln_next) if (lp->ln_dev == sb->st_dev && lp->ln_ino == sb->st_ino) return lp; @@ -109,8 +104,8 @@ check_link(const char *name, const struct stat *sb) lp->ln_ino = sb->st_ino; lp->ln_count = sb->st_nlink; len = name_len - src_len + dst_len + 1; - lp->ln_name = xmalloc(len); - snprintf(lp->ln_name, len, "%s%s", dst_orig, name + src_len); + lp->ln_name = xmalloc (len); + snprintf (lp->ln_name, len, "%s%s", dst_orig, name + src_len); lp->ln_next = links; links = lp; @@ -125,20 +120,21 @@ check_link(const char *name, const struct stat *sb) */ int -copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) +copy_tree (const char *src_root, const char *dst_root, uid_t uid, + gid_t gid) { - char src_name[1024]; - char dst_name[1024]; - char buf[1024]; - int ifd; - int ofd; - int err = 0; - int cnt; - int set_orig = 0; - struct DIRECT *ent; - struct stat sb; - struct link_name *lp; - DIR *dir; + char src_name[1024]; + char dst_name[1024]; + char buf[1024]; + int ifd; + int ofd; + int err = 0; + int cnt; + int set_orig = 0; + struct DIRECT *ent; + struct stat sb; + struct link_name *lp; + DIR *dir; /* * Make certain both directories exist. This routine is called @@ -146,7 +142,7 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * target is created. It assumes the target directory exists. */ - if (access(src_root, F_OK) != 0 || access(dst_root, F_OK) != 0) + if (access (src_root, F_OK) != 0 || access (dst_root, F_OK) != 0) return -1; /* @@ -157,7 +153,7 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * is made set-ID. */ - if (! (dir = opendir (src_root))) + if (!(dir = opendir (src_root))) return -1; if (src_orig == 0) { @@ -172,7 +168,7 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) */ if (strcmp (ent->d_name, ".") == 0 || - strcmp (ent->d_name, "..") == 0) + strcmp (ent->d_name, "..") == 0) continue; /* @@ -180,22 +176,26 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * destination files. */ - if (strlen (src_root) + strlen (ent->d_name) + 2 > sizeof src_name) { + if (strlen (src_root) + strlen (ent->d_name) + 2 > + sizeof src_name) { err++; break; } - snprintf(src_name, sizeof src_name, "%s/%s", src_root, ent->d_name); + snprintf (src_name, sizeof src_name, "%s/%s", src_root, + ent->d_name); - if (strlen (dst_root) + strlen (ent->d_name) + 2 > sizeof dst_name) { + if (strlen (dst_root) + strlen (ent->d_name) + 2 > + sizeof dst_name) { err++; break; } - snprintf(dst_name, sizeof dst_name, "%s/%s", dst_root, ent->d_name); + snprintf (dst_name, sizeof dst_name, "%s/%s", dst_root, + ent->d_name); - if (LSTAT(src_name, &sb) == -1) + if (LSTAT (src_name, &sb) == -1) continue; - if (S_ISDIR(sb.st_mode)) { + if (S_ISDIR (sb.st_mode)) { /* * Create a new target directory, make it owned by @@ -203,8 +203,9 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) */ mkdir (dst_name, sb.st_mode & 0777); - chown (dst_name, uid == (uid_t) -1 ? sb.st_uid:uid, - gid == (gid_t) -1 ? sb.st_gid:gid); + chown (dst_name, + uid == (uid_t) - 1 ? sb.st_uid : uid, + gid == (gid_t) - 1 ? sb.st_gid : gid); if (copy_tree (src_name, dst_name, uid, gid)) { err++; @@ -217,10 +218,10 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * Copy any symbolic links */ - if (S_ISLNK(sb.st_mode)) { - char oldlink[1024]; - char dummy[1024]; - int len; + if (S_ISLNK (sb.st_mode)) { + char oldlink[1024]; + char dummy[1024]; + int len; /* * Get the name of the file which the link points @@ -230,17 +231,21 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * destinateion directory name. */ - if ((len = readlink(src_name, oldlink, sizeof(oldlink) - 1)) < 0) { + if ((len = + readlink (src_name, oldlink, + sizeof (oldlink) - 1)) < 0) { err++; break; } - oldlink[len] = '\0'; /* readlink() does not NUL-terminate */ - if (!strncmp(oldlink, src_orig, strlen(src_orig))) { - snprintf(dummy, sizeof dummy, "%s%s", - dst_orig, oldlink + strlen(src_orig)); - strcpy(oldlink, dummy); + oldlink[len] = '\0'; /* readlink() does not NUL-terminate */ + if (!strncmp + (oldlink, src_orig, strlen (src_orig))) { + snprintf (dummy, sizeof dummy, "%s%s", + dst_orig, + oldlink + strlen (src_orig)); + strcpy (oldlink, dummy); } - if (symlink(oldlink, dst_name)) { + if (symlink (oldlink, dst_name)) { err++; break; } @@ -273,11 +278,13 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * would be nice to copy everything ... */ - if (!S_ISREG(sb.st_mode)) { - if (mknod (dst_name, sb.st_mode & ~07777, sb.st_rdev) || - chown (dst_name, uid == (uid_t) -1 ? sb.st_uid:uid, - gid == (gid_t) -1 ? sb.st_gid:gid) || - chmod (dst_name, sb.st_mode & 07777)) { + if (!S_ISREG (sb.st_mode)) { + if (mknod + (dst_name, sb.st_mode & ~07777, sb.st_rdev) + || chown (dst_name, + uid == (uid_t) - 1 ? sb.st_uid : uid, + gid == (gid_t) - 1 ? sb.st_gid : gid) + || chmod (dst_name, sb.st_mode & 07777)) { err++; break; } @@ -293,10 +300,12 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) err++; break; } - if ((ofd = open (dst_name, O_WRONLY|O_CREAT|O_TRUNC, 0)) < 0 || - chown (dst_name, uid == (uid_t) -1 ? sb.st_uid:uid, - gid == (gid_t) -1 ? sb.st_gid:gid) || - chmod (dst_name, sb.st_mode & 07777)) { + if ((ofd = + open (dst_name, O_WRONLY | O_CREAT | O_TRUNC, 0)) < 0 + || chown (dst_name, + uid == (uid_t) - 1 ? sb.st_uid : uid, + gid == (gid_t) - 1 ? sb.st_gid : gid) + || chmod (dst_name, sb.st_mode & 07777)) { close (ifd); err++; break; @@ -321,7 +330,7 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) src_orig = 0; dst_orig = 0; } - return err ? -1:0; + return err ? -1 : 0; } /* @@ -331,20 +340,19 @@ copy_tree(const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * and directories. */ -int -remove_tree(const char *root) +int remove_tree (const char *root) { - char new_name[1024]; - int err = 0; - struct DIRECT *ent; - struct stat sb; - DIR *dir; + char new_name[1024]; + int err = 0; + struct DIRECT *ent; + struct stat sb; + DIR *dir; /* * Make certain the directory exists. */ - if (access(root, F_OK) != 0) + if (access (root, F_OK) != 0) return -1; /* @@ -364,22 +372,24 @@ remove_tree(const char *root) */ if (strcmp (ent->d_name, ".") == 0 || - strcmp (ent->d_name, "..") == 0) + strcmp (ent->d_name, "..") == 0) continue; /* * Make the filename for the current entry. */ - if (strlen (root) + strlen (ent->d_name) + 2 > sizeof new_name) { + if (strlen (root) + strlen (ent->d_name) + 2 > + sizeof new_name) { err++; break; } - snprintf(new_name, sizeof new_name, "%s/%s", root, ent->d_name); - if (LSTAT(new_name, &sb) == -1) + snprintf (new_name, sizeof new_name, "%s/%s", root, + ent->d_name); + if (LSTAT (new_name, &sb) == -1) continue; - if (S_ISDIR(sb.st_mode)) { + if (S_ISDIR (sb.st_mode)) { /* * Recursively delete this directory. @@ -399,5 +409,5 @@ remove_tree(const char *root) } closedir (dir); - return err ? -1:0; + return err ? -1 : 0; } diff --git a/libmisc/entry.c b/libmisc/entry.c index 746dfb0a..435c2fbe 100644 --- a/libmisc/entry.c +++ b/libmisc/entry.c @@ -30,38 +30,29 @@ #include #include "rcsid.h" -RCSID("$Id: entry.c,v 1.4 2000/08/26 18:27:17 marekm Exp $") - +RCSID ("$Id: entry.c,v 1.6 2003/05/03 16:14:33 kloczek Exp $") #include #include #include "prototypes.h" #include "defines.h" #include +extern struct passwd *fgetpwent (); -extern struct passwd *fgetpwent (); - -void -pw_entry(const char *name, struct passwd *pwent) +void pw_entry (const char *name, struct passwd *pwent) { - struct passwd *passwd; + struct passwd *passwd; + #ifdef SHADOWPWD - struct spwd *spwd; -#ifdef ATT_AGE - char *l64a (); - char *cp; -#endif + struct spwd *spwd; #endif - if (! (passwd = getpwnam (name))) { + if (!(passwd = getpwnam (name))) { pwent->pw_name = (char *) 0; return; - } else { + } else { pwent->pw_name = xstrdup (passwd->pw_name); pwent->pw_uid = passwd->pw_uid; pwent->pw_gid = passwd->pw_gid; -#ifdef ATT_COMMENT - pwent->pw_comment = xstrdup (passwd->pw_comment); -#endif pwent->pw_gecos = xstrdup (passwd->pw_gecos); pwent->pw_dir = xstrdup (passwd->pw_dir); pwent->pw_shell = xstrdup (passwd->pw_shell); @@ -69,31 +60,11 @@ pw_entry(const char *name, struct passwd *pwent) setspent (); if ((spwd = getspnam (name))) { pwent->pw_passwd = xstrdup (spwd->sp_pwdp); -#ifdef ATT_AGE - pwent->pw_age = (char *) xmalloc (5); - - if (spwd->sp_max > (63*7)) - spwd->sp_max = (63*7); - if (spwd->sp_min > (63*7)) - spwd->sp_min = (63*7); - - pwent->pw_age[0] = i64c (spwd->sp_max / 7); - pwent->pw_age[1] = i64c (spwd->sp_min / 7); - - cp = l64a (spwd->sp_lstchg / 7); - pwent->pw_age[2] = cp[0]; - pwent->pw_age[3] = cp[1]; - - pwent->pw_age[4] = '\0'; -#endif endspent (); return; } endspent (); #endif pwent->pw_passwd = xstrdup (passwd->pw_passwd); -#ifdef ATT_AGE - pwent->pw_age = xstrdup (passwd->pw_age); -#endif } } diff --git a/libmisc/env.c b/libmisc/env.c index 8d7b2a11..e4d9270b 100644 --- a/libmisc/env.c +++ b/libmisc/env.c @@ -30,33 +30,30 @@ #include #include "rcsid.h" -RCSID("$Id: env.c,v 1.9 1999/03/07 19:14:38 marekm Exp $") - +RCSID ("$Id: env.c,v 1.10 2003/04/22 10:59:22 kloczek Exp $") #include #include #include #include "prototypes.h" #include "defines.h" - /* * NEWENVP_STEP must be a power of two. This is the number * of (char *) pointers to allocate at a time, to avoid using * realloc() too often. - */ + */ #define NEWENVP_STEP 16 - size_t newenvc = 0; char **newenvp = NULL; extern char **environ; static const char *forbid[] = { "_RLD_=", - "BASH_ENV=", /* GNU creeping featurism strikes again... */ + "BASH_ENV=", /* GNU creeping featurism strikes again... */ "ENV=", "HOME=", "IFS=", "KRB_CONF=", - "LD_", /* anything with the LD_ prefix */ + "LD_", /* anything with the LD_ prefix */ "LIBPATH=", "MAIL=", "NLSPATH=", @@ -71,33 +68,31 @@ static const char *forbid[] = { static const char *noslash[] = { "LANG=", "LANGUAGE=", - "LC_", /* anything with the LC_ prefix */ + "LC_", /* anything with the LC_ prefix */ (char *) 0 }; /* * initenv() must be called once before using addenv(). */ -void -initenv(void) +void initenv (void) { - newenvp = (char **)xmalloc(NEWENVP_STEP * sizeof(char *)); + newenvp = (char **) xmalloc (NEWENVP_STEP * sizeof (char *)); *newenvp = NULL; } -void -addenv(const char *string, const char *value) +void addenv (const char *string, const char *value) { char *cp, *newstring; size_t i; size_t n; if (value) { - newstring = xmalloc(strlen(string) + strlen(value) + 2); - sprintf(newstring, "%s=%s", string, value); + newstring = xmalloc (strlen (string) + strlen (value) + 2); + sprintf (newstring, "%s=%s", string, value); } else { - newstring = xstrdup(string); + newstring = xstrdup (string); } /* @@ -105,22 +100,22 @@ addenv(const char *string, const char *value) * just ignore the whole string. */ - cp = strchr(newstring, '='); + cp = strchr (newstring, '='); if (!cp) { - free(newstring); + free (newstring); return; } - n = (size_t)(cp - newstring); + n = (size_t) (cp - newstring); for (i = 0; i < newenvc; i++) { - if (strncmp(newstring, newenvp[i], n) == 0 && + if (strncmp (newstring, newenvp[i], n) == 0 && (newenvp[i][n] == '=' || newenvp[i][n] == '\0')) break; } if (i < newenvc) { - free(newenvp[i]); + free (newenvp[i]); newenvp[i] = newstring; return; } @@ -144,8 +139,8 @@ addenv(const char *string, const char *value) * happily go on, else print a message. */ - newsize = (newenvc + NEWENVP_STEP) * sizeof(char *); - __newenvp = (char **)realloc(newenvp, newsize); + newsize = (newenvc + NEWENVP_STEP) * sizeof (char *); + __newenvp = (char **) realloc (newenvp, newsize); if (__newenvp) { /* @@ -157,8 +152,8 @@ addenv(const char *string, const char *value) environ = __newenvp; newenvp = __newenvp; } else { - fprintf(stderr, _("Environment overflow\n")); - free(newenvp[--newenvc]); + fprintf (stderr, _("Environment overflow\n")); + free (newenvp[--newenvc]); } } @@ -173,35 +168,36 @@ addenv(const char *string, const char *value) /* * set_env - copy command line arguments into the environment */ -void -set_env(int argc, char * const *argv) +void set_env (int argc, char *const *argv) { - int noname = 1; - char variable[1024]; - char *cp; + int noname = 1; + char variable[1024]; + char *cp; - for ( ; argc > 0; argc--, argv++) { - if (strlen(*argv) >= sizeof variable) + for (; argc > 0; argc--, argv++) { + if (strlen (*argv) >= sizeof variable) continue; /* ignore long entries */ - if (! (cp = strchr (*argv, '='))) { - snprintf(variable, sizeof variable, "L%d", noname++); - addenv(variable, *argv); + if (!(cp = strchr (*argv, '='))) { + snprintf (variable, sizeof variable, "L%d", + noname++); + addenv (variable, *argv); } else { const char **p; for (p = forbid; *p; p++) - if (strncmp(*argv, *p, strlen(*p)) == 0) + if (strncmp (*argv, *p, strlen (*p)) == 0) break; if (*p) { - strncpy(variable, *argv, cp - *argv); + strncpy (variable, *argv, cp - *argv); variable[cp - *argv] = '\0'; - printf(_("You may not change $%s\n"), variable); + printf (_("You may not change $%s\n"), + variable); continue; } - addenv(*argv, NULL); + addenv (*argv, NULL); } } } @@ -215,8 +211,7 @@ set_env(int argc, char * const *argv) * but... I feel better with that silly precaution. -j. */ -void -sanitize_env(void) +void sanitize_env (void) { char **envp = environ; const char **bad; @@ -225,7 +220,7 @@ sanitize_env(void) for (cur = envp; *cur; cur++) { for (bad = forbid; *bad; bad++) { - if (strncmp(*cur, *bad, strlen(*bad)) == 0) { + if (strncmp (*cur, *bad, strlen (*bad)) == 0) { for (move = cur; *move; move++) *move = *(move + 1); cur--; @@ -236,10 +231,10 @@ sanitize_env(void) for (cur = envp; *cur; cur++) { for (bad = noslash; *bad; bad++) { - if (strncmp(*cur, *bad, strlen(*bad)) != 0) + if (strncmp (*cur, *bad, strlen (*bad)) != 0) continue; - if (!strchr(*cur, '/')) - continue; /* OK */ + if (!strchr (*cur, '/')) + continue; /* OK */ for (move = cur; *move; move++) *move = *(move + 1); cur--; @@ -247,4 +242,3 @@ sanitize_env(void) } } } - diff --git a/libmisc/failure.c b/libmisc/failure.c index 6f62ef1f..7bfde829 100644 --- a/libmisc/failure.c +++ b/libmisc/failure.c @@ -30,8 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: failure.c,v 1.6 1998/12/28 20:34:46 marekm Exp $") - +RCSID ("$Id: failure.c,v 1.9 2003/04/25 21:11:08 kloczek Exp $") #include #include #include "defines.h" @@ -39,19 +38,14 @@ RCSID("$Id: failure.c,v 1.6 1998/12/28 20:34:46 marekm Exp $") #include "getdef.h" #include "failure.h" -#include - #define YEAR (365L*DAY) - /* * failure - make failure entry * * failure() creates a new (struct faillog) entry or updates an * existing one with the current failed login information. */ - -void -failure(uid_t uid, const char *tty, struct faillog *fl) +void failure (uid_t uid, const char *tty, struct faillog *fl) { int fd; @@ -59,7 +53,7 @@ failure(uid_t uid, const char *tty, struct faillog *fl) * Don't do anything if failure logging isn't set up. */ - if ((fd = open(FAILLOG_FILE, O_RDWR)) < 0) + if ((fd = open (FAILLOG_FILE, O_RDWR)) < 0) return; /* @@ -68,9 +62,9 @@ failure(uid_t uid, const char *tty, struct faillog *fl) * share just about everything else ... */ - lseek(fd, (off_t) (sizeof *fl) * uid, SEEK_SET); - if (read(fd, (char *) fl, sizeof *fl) != sizeof *fl) - memzero(fl, sizeof *fl); + lseek (fd, (off_t) (sizeof *fl) * uid, SEEK_SET); + if (read (fd, (char *) fl, sizeof *fl) != sizeof *fl) + memzero (fl, sizeof *fl); /* * Update the record. We increment the failure count to log the @@ -82,8 +76,8 @@ failure(uid_t uid, const char *tty, struct faillog *fl) if (fl->fail_cnt + 1 > 0) fl->fail_cnt++; - strncpy(fl->fail_line, tty, sizeof fl->fail_line); - time(&fl->fail_time); + strncpy (fl->fail_line, tty, sizeof fl->fail_line); + time (&fl->fail_time); /* * Seek back to the correct position in the file and write the @@ -92,13 +86,12 @@ failure(uid_t uid, const char *tty, struct faillog *fl) * seem that great. */ - lseek(fd, (off_t) (sizeof *fl) * uid, SEEK_SET); - write(fd, (char *) fl, sizeof *fl); - close(fd); + lseek (fd, (off_t) (sizeof *fl) * uid, SEEK_SET); + write (fd, (char *) fl, sizeof *fl); + close (fd); } -static int -too_many_failures(const struct faillog *fl) +static int too_many_failures (const struct faillog *fl) { time_t now; @@ -106,11 +99,11 @@ too_many_failures(const struct faillog *fl) return 0; if (fl->fail_locktime == 0) - return 1; /* locked until reset manually */ + return 1; /* locked until reset manually */ - time(&now); - if (fl->fail_time + fl->fail_locktime > now) - return 0; /* enough time since last failure */ + time (&now); + if (fl->fail_time + fl->fail_locktime < now) + return 0; /* enough time since last failure */ return 1; } @@ -124,17 +117,16 @@ too_many_failures(const struct faillog *fl) * the password is valid. */ -int -failcheck(uid_t uid, struct faillog *fl, int failed) +int failcheck (uid_t uid, struct faillog *fl, int failed) { - int fd; - struct faillog fail; + int fd; + struct faillog fail; /* * Suppress the check if the log file isn't there. */ - if ((fd = open(FAILLOG_FILE, O_RDWR)) < 0) + if ((fd = open (FAILLOG_FILE, O_RDWR)) < 0) return 1; /* @@ -150,13 +142,13 @@ failcheck(uid_t uid, struct faillog *fl, int failed) */ lseek (fd, (off_t) (sizeof *fl) * uid, SEEK_SET); - if (read(fd, (char *) fl, sizeof *fl) != sizeof *fl) { - close(fd); + if (read (fd, (char *) fl, sizeof *fl) != sizeof *fl) { + close (fd); return 1; } - if (too_many_failures(fl)) { - close(fd); + if (too_many_failures (fl)) { + close (fd); return 0; } @@ -185,16 +177,16 @@ failcheck(uid_t uid, struct faillog *fl, int failed) * message which is displayed at login time. */ -void -failprint(const struct faillog *fail) +void failprint (const struct faillog *fail) { - struct tm *tp; + struct tm *tp; + #if HAVE_STRFTIME - char lasttimeb[256]; - char *lasttime = lasttimeb; + char lasttimeb[256]; + char *lasttime = lasttimeb; const char *fmt; #else - char *lasttime; + char *lasttime; #endif time_t NOW; @@ -202,7 +194,7 @@ failprint(const struct faillog *fail) return; tp = localtime (&(fail->fail_time)); - time(&NOW); + time (&NOW); #if HAVE_STRFTIME /* @@ -216,7 +208,7 @@ failprint(const struct faillog *fail) fmt = "%A %T"; else fmt = "%T"; - strftime(lasttimeb, sizeof lasttimeb, fmt, tp); + strftime (lasttimeb, sizeof lasttimeb, fmt, tp); #else /* @@ -236,7 +228,8 @@ failprint(const struct faillog *fail) lasttime++; #endif printf (_("%d %s since last login. Last was %s on %s.\n"), - fail->fail_cnt, fail->fail_cnt > 1 ? _("failures"):_("failure"), + fail->fail_cnt, + fail->fail_cnt > 1 ? _("failures") : _("failure"), lasttime, fail->fail_line); } @@ -247,8 +240,7 @@ failprint(const struct faillog *fail) * maintains a record of all login failures. */ -void -failtmp(const struct utmp *failent) +void failtmp (const struct utmp *failent) { char *ftmp; int fd; @@ -258,7 +250,7 @@ failtmp(const struct utmp *failent) * in login.defs, don't do this. */ - if (!(ftmp = getdef_str("FTMP_FILE"))) + if (!(ftmp = getdef_str ("FTMP_FILE"))) return; /* @@ -266,13 +258,13 @@ failtmp(const struct utmp *failent) * feature to be used. */ - if ((fd = open(ftmp, O_WRONLY|O_APPEND)) == -1) + if ((fd = open (ftmp, O_WRONLY | O_APPEND)) == -1) return; /* * Output the new failure record and close the log file. */ - write(fd, (const char *) failent, sizeof *failent); - close(fd); + write (fd, (const char *) failent, sizeof *failent); + close (fd); } diff --git a/libmisc/fields.c b/libmisc/fields.c index a645ec59..16b044b5 100644 --- a/libmisc/fields.c +++ b/libmisc/fields.c @@ -30,13 +30,11 @@ #include #include "rcsid.h" -RCSID("$Id: fields.c,v 1.5 1997/12/07 23:27:04 marekm Exp $") - +RCSID ("$Id: fields.c,v 1.6 2003/04/22 10:59:22 kloczek Exp $") #include #include #include #include "prototypes.h" - /* * valid_field - insure that a field contains all legal characters * @@ -44,14 +42,12 @@ RCSID("$Id: fields.c,v 1.5 1997/12/07 23:27:04 marekm Exp $") * characters. If any illegal characters are found, valid_field * returns -1. Zero is returned for success. */ - -int -valid_field(const char *field, const char *illegal) +int valid_field (const char *field, const char *illegal) { const char *cp; - for (cp = field; *cp && isprint(*cp & 0x7F) && !strchr(illegal, *cp); cp++) - ; + for (cp = field; + *cp && isprint (*cp & 0x7F) && !strchr (illegal, *cp); cp++); if (*cp) return -1; @@ -66,20 +62,19 @@ valid_field(const char *field, const char *illegal) * current value. */ -void -change_field(char *buf, size_t maxsize, const char *prompt) +void change_field (char *buf, size_t maxsize, const char *prompt) { char newf[200]; char *cp; - if (maxsize > sizeof(newf)) - maxsize = sizeof(newf); + if (maxsize > sizeof (newf)) + maxsize = sizeof (newf); printf ("\t%s [%s]: ", prompt, buf); - if (fgets(newf, maxsize, stdin) != newf) + if (fgets (newf, maxsize, stdin) != newf) return; - if (!(cp = strchr(newf, '\n'))) + if (!(cp = strchr (newf, '\n'))) return; *cp = '\0'; @@ -90,15 +85,14 @@ change_field(char *buf, size_t maxsize, const char *prompt) * entering a space. --marekm */ - while (--cp >= newf && isspace(*cp)) - ; + while (--cp >= newf && isspace (*cp)); *++cp = '\0'; cp = newf; - while (*cp && isspace(*cp)) + while (*cp && isspace (*cp)) cp++; - strncpy(buf, cp, maxsize - 1); + strncpy (buf, cp, maxsize - 1); buf[maxsize - 1] = '\0'; } } diff --git a/libmisc/getdate.c b/libmisc/getdate.c index 559add3a..fd9ab632 100644 --- a/libmisc/getdate.c +++ b/libmisc/getdate.c @@ -1,26 +1,24 @@ - -/* A Bison parser, made from getdate.y - by GNU Bison version 1.25 - */ +/* A Bison parser, made from getdate.y + by GNU bison 1.35. */ #define YYBISON 1 /* Identify Bison output. */ -#define tAGO 258 -#define tDAY 259 -#define tDAY_UNIT 260 -#define tDAYZONE 261 -#define tDST 262 -#define tHOUR_UNIT 263 -#define tID 264 -#define tMERIDIAN 265 -#define tMINUTE_UNIT 266 -#define tMONTH 267 -#define tMONTH_UNIT 268 -#define tSEC_UNIT 269 -#define tSNUMBER 270 -#define tUNUMBER 271 -#define tYEAR_UNIT 272 -#define tZONE 273 +# define tAGO 257 +# define tDAY 258 +# define tDAY_UNIT 259 +# define tDAYZONE 260 +# define tDST 261 +# define tHOUR_UNIT 262 +# define tID 263 +# define tMERIDIAN 264 +# define tMINUTE_UNIT 265 +# define tMONTH 266 +# define tMONTH_UNIT 267 +# define tSEC_UNIT 268 +# define tSNUMBER 269 +# define tUNUMBER 270 +# define tYEAR_UNIT 271 +# define tZONE 272 #line 1 "getdate.y" @@ -197,16 +195,16 @@ static int yyRelYear; #line 175 "getdate.y" +#ifndef YYSTYPE typedef union { int Number; enum _MERIDIAN Meridian; -} YYSTYPE; -#include - -#ifndef __cplusplus -#ifndef __STDC__ -#define const +} yystype; +# define YYSTYPE yystype +# define YYSTYPE_IS_TRIVIAL 1 #endif +#ifndef YYDEBUG +# define YYDEBUG 0 #endif @@ -215,159 +213,187 @@ typedef union { #define YYFLAG -32768 #define YYNTBASE 22 -#define YYTRANSLATE(x) ((unsigned)(x) <= 273 ? yytranslate[x] : 32) +/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ +#define YYTRANSLATE(x) ((unsigned)(x) <= 272 ? yytranslate[x] : 32) -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 20, 2, 2, 21, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 19, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18 +/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ +static const char yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 20, 2, 2, 21, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 19, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18 }; -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 1, 4, 6, 8, 10, 12, 14, 16, 19, - 24, 29, 36, 43, 45, 47, 50, 52, 55, 58, - 62, 68, 72, 76, 79, 84, 87, 91, 94, 96, - 99, 102, 104, 107, 110, 112, 115, 118, 120, 123, - 126, 128, 131, 134, 136, 139, 142, 144, 146, 147 +#if YYDEBUG +static const short yyprhs[] = +{ + 0, 0, 1, 4, 6, 8, 10, 12, 14, 16, + 19, 24, 29, 36, 43, 45, 47, 50, 52, 55, + 58, 62, 68, 72, 76, 79, 84, 87, 91, 94, + 96, 99, 102, 104, 107, 110, 112, 115, 118, 120, + 123, 126, 128, 131, 134, 136, 139, 142, 144, 146, + 147 }; - -static const short yyrhs[] = { -1, - 22, 23, 0, 24, 0, 25, 0, 27, 0, 26, - 0, 28, 0, 30, 0, 16, 10, 0, 16, 19, - 16, 31, 0, 16, 19, 16, 15, 0, 16, 19, - 16, 19, 16, 31, 0, 16, 19, 16, 19, 16, - 15, 0, 18, 0, 6, 0, 18, 7, 0, 4, - 0, 4, 20, 0, 16, 4, 0, 16, 21, 16, - 0, 16, 21, 16, 21, 16, 0, 16, 15, 15, - 0, 16, 12, 15, 0, 12, 16, 0, 12, 16, - 20, 16, 0, 16, 12, 0, 16, 12, 16, 0, - 29, 3, 0, 29, 0, 16, 17, 0, 15, 17, - 0, 17, 0, 16, 13, 0, 15, 13, 0, 13, - 0, 16, 5, 0, 15, 5, 0, 5, 0, 16, - 8, 0, 15, 8, 0, 8, 0, 16, 11, 0, - 15, 11, 0, 11, 0, 16, 14, 0, 15, 14, - 0, 14, 0, 16, 0, 0, 10, 0 +static const short yyrhs[] = +{ + -1, 22, 23, 0, 24, 0, 25, 0, 27, 0, + 26, 0, 28, 0, 30, 0, 16, 10, 0, 16, + 19, 16, 31, 0, 16, 19, 16, 15, 0, 16, + 19, 16, 19, 16, 31, 0, 16, 19, 16, 19, + 16, 15, 0, 18, 0, 6, 0, 18, 7, 0, + 4, 0, 4, 20, 0, 16, 4, 0, 16, 21, + 16, 0, 16, 21, 16, 21, 16, 0, 16, 15, + 15, 0, 16, 12, 15, 0, 12, 16, 0, 12, + 16, 20, 16, 0, 16, 12, 0, 16, 12, 16, + 0, 29, 3, 0, 29, 0, 16, 17, 0, 15, + 17, 0, 17, 0, 16, 13, 0, 15, 13, 0, + 13, 0, 16, 5, 0, 15, 5, 0, 5, 0, + 16, 8, 0, 15, 8, 0, 8, 0, 16, 11, + 0, 15, 11, 0, 11, 0, 16, 14, 0, 15, + 14, 0, 14, 0, 16, 0, 0, 10, 0 }; #endif -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 191, 192, 195, 198, 201, 204, 207, 210, 213, 219, - 225, 234, 240, 252, 255, 258, 264, 268, 272, 278, - 282, 300, 306, 312, 316, 321, 325, 332, 340, 343, - 346, 349, 352, 355, 358, 361, 364, 367, 370, 373, - 376, 379, 382, 385, 388, 391, 394, 399, 432, 436 +#if YYDEBUG +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const short yyrline[] = +{ + 0, 191, 192, 195, 198, 201, 204, 207, 210, 213, + 219, 225, 234, 240, 252, 255, 258, 264, 268, 272, + 278, 282, 300, 306, 312, 316, 321, 325, 332, 340, + 343, 346, 349, 352, 355, 358, 361, 364, 367, 370, + 373, 376, 379, 382, 385, 388, 391, 394, 399, 432, + 436 }; #endif -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) +#if (YYDEBUG) || defined YYERROR_VERBOSE -static const char * const yytname[] = { "$","error","$undefined.","tAGO","tDAY", -"tDAY_UNIT","tDAYZONE","tDST","tHOUR_UNIT","tID","tMERIDIAN","tMINUTE_UNIT", -"tMONTH","tMONTH_UNIT","tSEC_UNIT","tSNUMBER","tUNUMBER","tYEAR_UNIT","tZONE", -"':'","','","'/'","spec","item","time","zone","day","date","rel","relunit","number", -"o_merid", NULL +/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ +static const char *const yytname[] = +{ + "$", "error", "$undefined.", "tAGO", "tDAY", "tDAY_UNIT", "tDAYZONE", + "tDST", "tHOUR_UNIT", "tID", "tMERIDIAN", "tMINUTE_UNIT", "tMONTH", + "tMONTH_UNIT", "tSEC_UNIT", "tSNUMBER", "tUNUMBER", "tYEAR_UNIT", + "tZONE", "':'", "','", "'/'", "spec", "item", "time", "zone", "day", + "date", "rel", "relunit", "number", "o_merid", 0 }; #endif -static const short yyr1[] = { 0, - 22, 22, 23, 23, 23, 23, 23, 23, 24, 24, - 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, - 27, 27, 27, 27, 27, 27, 27, 28, 28, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 30, 31, 31 +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const short yyr1[] = +{ + 0, 22, 22, 23, 23, 23, 23, 23, 23, 24, + 24, 24, 24, 24, 25, 25, 25, 26, 26, 26, + 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 30, 31, + 31 }; -static const short yyr2[] = { 0, - 0, 2, 1, 1, 1, 1, 1, 1, 2, 4, - 4, 6, 6, 1, 1, 2, 1, 2, 2, 3, - 5, 3, 3, 2, 4, 2, 3, 2, 1, 2, - 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, - 1, 2, 2, 1, 2, 2, 1, 1, 0, 1 +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const short yyr2[] = +{ + 0, 0, 2, 1, 1, 1, 1, 1, 1, 2, + 4, 4, 6, 6, 1, 1, 2, 1, 2, 2, + 3, 5, 3, 3, 2, 4, 2, 3, 2, 1, + 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, + 2, 1, 2, 2, 1, 2, 2, 1, 1, 0, + 1 }; -static const short yydefact[] = { 1, - 0, 17, 38, 15, 41, 44, 0, 35, 47, 0, - 48, 32, 14, 2, 3, 4, 6, 5, 7, 29, - 8, 18, 24, 37, 40, 43, 34, 46, 31, 19, - 36, 39, 9, 42, 26, 33, 45, 0, 30, 0, - 0, 16, 28, 0, 23, 27, 22, 49, 20, 25, - 50, 11, 0, 10, 0, 49, 21, 13, 12, 0, - 0 +/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE + doesn't specify something else to do. Zero means the default is an + error. */ +static const short yydefact[] = +{ + 1, 0, 17, 38, 15, 41, 44, 0, 35, 47, + 0, 48, 32, 14, 2, 3, 4, 6, 5, 7, + 29, 8, 18, 24, 37, 40, 43, 34, 46, 31, + 19, 36, 39, 9, 42, 26, 33, 45, 0, 30, + 0, 0, 16, 28, 0, 23, 27, 22, 49, 20, + 25, 50, 11, 0, 10, 0, 49, 21, 13, 12, + 0, 0 }; -static const short yydefgoto[] = { 1, - 14, 15, 16, 17, 18, 19, 20, 21, 54 +static const short yydefgoto[] = +{ + 1, 14, 15, 16, 17, 18, 19, 20, 21, 54 }; -static const short yypact[] = {-32768, - 0, -19,-32768,-32768,-32768,-32768, -13,-32768,-32768, 30, - 15,-32768, 14,-32768,-32768,-32768,-32768,-32768,-32768, 19, --32768,-32768, 4,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, -6,-32768,-32768, 16,-32768, 17, - 23,-32768,-32768, 24,-32768,-32768,-32768, 27, 28,-32768, --32768,-32768, 29,-32768, 32, -8,-32768,-32768,-32768, 50, --32768 +static const short yypact[] = +{ + -32768, 0, -19,-32768,-32768,-32768,-32768, -13,-32768,-32768, + 30, 15,-32768, 14,-32768,-32768,-32768,-32768,-32768,-32768, + 19,-32768,-32768, 4,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, -6,-32768,-32768, 16,-32768, + 17, 23,-32768,-32768, 24,-32768,-32768,-32768, 27, 28, + -32768,-32768,-32768, 29,-32768, 32, -8,-32768,-32768,-32768, + 50,-32768 }; -static const short yypgoto[] = {-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -5 +static const short yypgoto[] = +{ + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -5 }; #define YYLAST 51 -static const short yytable[] = { 60, - 22, 51, 23, 2, 3, 4, 58, 5, 45, 46, - 6, 7, 8, 9, 10, 11, 12, 13, 30, 31, - 42, 43, 32, 44, 33, 34, 35, 36, 37, 38, - 47, 39, 48, 40, 24, 41, 51, 25, 49, 50, - 26, 52, 27, 28, 56, 53, 29, 57, 55, 61, - 59 +static const short yytable[] = +{ + 60, 22, 51, 23, 2, 3, 4, 58, 5, 45, + 46, 6, 7, 8, 9, 10, 11, 12, 13, 30, + 31, 42, 43, 32, 44, 33, 34, 35, 36, 37, + 38, 47, 39, 48, 40, 24, 41, 51, 25, 49, + 50, 26, 52, 27, 28, 56, 53, 29, 57, 55, + 61, 59 }; -static const short yycheck[] = { 0, - 20, 10, 16, 4, 5, 6, 15, 8, 15, 16, - 11, 12, 13, 14, 15, 16, 17, 18, 4, 5, - 7, 3, 8, 20, 10, 11, 12, 13, 14, 15, - 15, 17, 16, 19, 5, 21, 10, 8, 16, 16, - 11, 15, 13, 14, 16, 19, 17, 16, 21, 0, - 56 +static const short yycheck[] = +{ + 0, 20, 10, 16, 4, 5, 6, 15, 8, 15, + 16, 11, 12, 13, 14, 15, 16, 17, 18, 4, + 5, 7, 3, 8, 20, 10, 11, 12, 13, 14, + 15, 15, 17, 16, 19, 5, 21, 10, 8, 16, + 16, 11, 15, 13, 14, 16, 19, 17, 16, 21, + 0, 56 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/bison.simple" +#line 3 "/usr/share/misc/bison.simple" /* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software + Foundation, Inc. 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 @@ -381,183 +407,302 @@ static const short yycheck[] = { 0, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); +/* This is the parser code that is written into each bison parser when + the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# else +# ifndef YYSTACK_USE_ALLOCA +# if defined (alloca) || defined (_ALLOCA_H) +# define YYSTACK_ALLOC alloca +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# else +# if defined (__STDC__) || defined (__cplusplus) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +# define YYSTACK_ALLOC malloc +# define YYSTACK_FREE free +# endif +#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ + + +#if (! defined (yyoverflow) \ + && (! defined (__cplusplus) \ + || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + short yyss; + YYSTYPE yyvs; +# if YYLSP_NEEDED + YYLTYPE yyls; +# endif }; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# if YYLSP_NEEDED +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + + 2 * YYSTACK_GAP_MAX) +# else +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAX) +# endif + +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + register YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (0) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + + +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) +# define YYSIZE_T __SIZE_TYPE__ +#endif +#if ! defined (YYSIZE_T) && defined (size_t) +# define YYSIZE_T size_t +#endif +#if ! defined (YYSIZE_T) +# if defined (__STDC__) || defined (__cplusplus) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +#endif +#if ! defined (YYSIZE_T) +# define YYSIZE_T unsigned int +#endif #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. +/* Like YYERROR except do call yyerror. This remains here temporarily + to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ +#define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ + { \ + yychar = (Token); \ + yylval = (Value); \ yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ + { \ + yyerror ("syntax error: cannot back up"); \ + YYERROR; \ + } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 -#ifndef YYPURE -#define YYLEX yylex() + +/* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). + + When YYLLOC_DEFAULT is run, CURRENT is set the location of the + first token. By default, to implement support for ranges, extend + its range to the last symbol. */ + +#ifndef YYLLOC_DEFAULT +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + Current.last_line = Rhs[N].last_line; \ + Current.last_column = Rhs[N].last_column; #endif -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif -/* If nonreentrant, generate the variables here */ +/* YYLEX -- calling `yylex' with the right arguments. */ -#ifndef YYPURE +#if YYPURE +# if YYLSP_NEEDED +# ifdef YYLEX_PARAM +# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) +# else +# define YYLEX yylex (&yylval, &yylloc) +# endif +# else /* !YYLSP_NEEDED */ +# ifdef YYLEX_PARAM +# define YYLEX yylex (&yylval, YYLEX_PARAM) +# else +# define YYLEX yylex (&yylval) +# endif +# endif /* !YYLSP_NEEDED */ +#else /* !YYPURE */ +# define YYLEX yylex () +#endif /* !YYPURE */ -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif +/* Enable debugging if requested. */ +#if YYDEBUG -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +#endif /* !YYDEBUG */ +/* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH -#define YYINITDEPTH 200 +# define YYINITDEPTH 200 #endif -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ #if YYMAXDEPTH == 0 -#undef YYMAXDEPTH +# undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); +# define YYMAXDEPTH 10000 #endif -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus +#ifdef YYERROR_VERBOSE -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - int count; +# ifndef yystrlen +# if defined (__GLIBC__) && defined (_STRING_H) +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +# if defined (__STDC__) || defined (__cplusplus) +yystrlen (const char *yystr) +# else +yystrlen (yystr) + const char *yystr; +# endif { - register char *f = from; - register char *t = to; - register int i = count; + register const char *yys = yystr; - while (i-- > 0) - *t++ = *f++; + while (*yys++ != '\0') + continue; + + return yys - yystr - 1; } +# endif +# endif -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, int count) +# ifndef yystpcpy +# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +# if defined (__STDC__) || defined (__cplusplus) +yystpcpy (char *yydest, const char *yysrc) +# else +yystpcpy (yydest, yysrc) + char *yydest; + const char *yysrc; +# endif { - register char *f = from; - register char *t = to; - register int i = count; + register char *yyd = yydest; + register const char *yys = yysrc; - while (i-- > 0) - *t++ = *f++; + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; } - -#endif +# endif +# endif #endif -#line 196 "/usr/share/bison.simple" +#line 315 "/usr/share/misc/bison.simple" + /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -566,66 +711,121 @@ __yy_memcpy (char *to, char *from, int count) to the proper pointer type. */ #ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ +# if defined (__STDC__) || defined (__cplusplus) +# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +# define YYPARSE_PARAM_DECL +# else +# define YYPARSE_PARAM_ARG YYPARSE_PARAM +# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +# endif +#else /* !YYPARSE_PARAM */ +# define YYPARSE_PARAM_ARG +# define YYPARSE_PARAM_DECL +#endif /* !YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +# ifdef YYPARSE_PARAM +int yyparse (void *); +# else +int yyparse (void); +# endif +#endif + +/* YY_DECL_VARIABLES -- depending whether we use a pure parser, + variables are global, or local to YYPARSE. */ + +#define YY_DECL_NON_LSP_VARIABLES \ +/* The lookahead symbol. */ \ +int yychar; \ + \ +/* The semantic value of the lookahead symbol. */ \ +YYSTYPE yylval; \ + \ +/* Number of parse errors so far. */ \ +int yynerrs; + +#if YYLSP_NEEDED +# define YY_DECL_VARIABLES \ +YY_DECL_NON_LSP_VARIABLES \ + \ +/* Location data for the lookahead symbol. */ \ +YYLTYPE yylloc; +#else +# define YY_DECL_VARIABLES \ +YY_DECL_NON_LSP_VARIABLES +#endif + + +/* If nonreentrant, generate the variables here. */ + +#if !YYPURE +YY_DECL_VARIABLES +#endif /* !YYPURE */ int -yyparse(YYPARSE_PARAM_ARG) +yyparse (YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL { + /* If reentrant, generate the variables here. */ +#if YYPURE + YY_DECL_VARIABLES +#endif /* !YYPURE */ + register int yystate; register int yyn; + int yyresult; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + /* Lookahead token as an internal (translated) token number. */ + int yychar1 = 0; + + /* Three stacks and their tools: + `yyss': related to states, + `yyvs': related to semantic values, + `yyls': related to locations. + + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + short yyssa[YYINITDEPTH]; + short *yyss = yyssa; register short *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ +#if YYLSP_NEEDED + /* The location stack. */ + YYLTYPE yylsa[YYINITDEPTH]; YYLTYPE *yyls = yylsa; YYLTYPE *yylsp; +#endif -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) +#if YYLSP_NEEDED +# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) #else -#define YYPOPSTACK (yyvsp--, yyssp--) +# define YYPOPSTACK (yyvsp--, yyssp--) #endif - int yystacksize = YYINITDEPTH; + YYSIZE_T yystacksize = YYINITDEPTH; -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif + + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; +#if YYLSP_NEEDED + YYLTYPE yyloc; #endif - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - + /* When reducing, the number of symbols on the RHS of the reduced + rule. */ int yylen; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; @@ -637,96 +837,110 @@ yyparse(YYPARSE_PARAM_ARG) so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss - 1; + yyssp = yyss; yyvsp = yyvs; -#ifdef YYLSP_NEEDED +#if YYLSP_NEEDED yylsp = yyls; #endif + goto yysetstate; -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. + */ + yyssp++; - *++yyssp = yystate; + yysetstate: + *yyssp = yystate; if (yyssp >= yyss + yystacksize - 1) { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; + YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. */ +# if YYLSP_NEEDED + YYLTYPE *yyls1 = yyls; + /* This used to be a conditional around just the two extra args, + but that might be undefined if yyoverflow is a macro. */ + yyoverflow ("parser stack overflow", + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yyls1, yysize * sizeof (*yylsp), + &yystacksize); + yyls = yyls1; +# else + yyoverflow ("parser stack overflow", + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); +# endif + yyss = yyss1; + yyvs = yyvs1; + } #else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyoverflowlab; +# else /* Extend the stack our own way. */ if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - return 2; - } + goto yyoverflowlab; yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); -#endif + + { + short *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyoverflowlab; + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); +# if YYLSP_NEEDED + YYSTACK_RELOCATE (yyls); +# endif +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif #endif /* no yyoverflow */ - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; +#if YYLSP_NEEDED + yylsp = yyls + yysize - 1; #endif -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); if (yyssp >= yyss + yystacksize - 1) YYABORT; } -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; - yybackup: + + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ @@ -745,10 +959,7 @@ yynewstate: if (yychar == YYEMPTY) { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif + YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } @@ -759,25 +970,25 @@ yynewstate: yychar1 = 0; yychar = YYEOF; /* Don't call YYLEX any more */ -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif + YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yychar1 = YYTRANSLATE(yychar); + yychar1 = YYTRANSLATE (yychar); -#if YYDEBUG != 0 +#if YYDEBUG + /* We have to keep this `#if YYDEBUG', since we use variables + which are defined only if `YYDEBUG' is set. */ if (yydebug) { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT + YYFPRINTF (stderr, "Next token is %d (%s", + yychar, yytname[yychar1]); + /* Give the individual parser a way to print the precise + meaning of a token, for further debugging info. */ +# ifdef YYPRINT YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); +# endif + YYFPRINTF (stderr, ")\n"); } #endif } @@ -809,55 +1020,77 @@ yynewstate: YYACCEPT; /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif + YYDPRINTF ((stderr, "Shifting token %d (%s), ", + yychar, yytname[yychar1])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; -#ifdef YYLSP_NEEDED +#if YYLSP_NEEDED *++yylsp = yylloc; #endif - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; yystate = yyn; goto yynewstate; -/* Do the default action for the current state. */ -yydefault: +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; + goto yyreduce; -/* Do a reduction. yyn is the number of a rule to reduce with. */ + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ yyreduce: + /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ -#if YYDEBUG != 0 - if (yydebug) - { - int i; + /* If YYLEN is nonzero, implement the default value of the action: + `$$ = $1'. - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); + Otherwise, the following line sets YYVAL to the semantic value of + the lookahead token. This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } +#if YYLSP_NEEDED + /* Similarly for the default location. Let the user run additional + commands if for instance locations are ranges. */ + yyloc = yylsp[1-yylen]; + YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); #endif +#if YYDEBUG + /* We have to keep this `#if YYDEBUG', since we use variables which + are defined only if `YYDEBUG' is set. */ + if (yydebug) + { + int yyi; + + YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", + yyn, yyrline[yyn]); + + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) + YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); + YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); + } +#endif switch (yyn) { @@ -865,32 +1098,32 @@ case 3: #line 195 "getdate.y" { yyHaveTime++; - ; - break;} + } + break; case 4: #line 198 "getdate.y" { yyHaveZone++; - ; - break;} + } + break; case 5: #line 201 "getdate.y" { yyHaveDate++; - ; - break;} + } + break; case 6: #line 204 "getdate.y" { yyHaveDay++; - ; - break;} + } + break; case 7: #line 207 "getdate.y" { yyHaveRel++; - ; - break;} + } + break; case 9: #line 213 "getdate.y" { @@ -898,8 +1131,8 @@ case 9: yyMinutes = 0; yySeconds = 0; yyMeridian = yyvsp[0].Meridian; - ; - break;} + } + break; case 10: #line 219 "getdate.y" { @@ -907,8 +1140,8 @@ case 10: yyMinutes = yyvsp[-1].Number; yySeconds = 0; yyMeridian = yyvsp[0].Meridian; - ; - break;} + } + break; case 11: #line 225 "getdate.y" { @@ -919,8 +1152,8 @@ case 11: yyTimezone = (yyvsp[0].Number < 0 ? -yyvsp[0].Number % 100 + (-yyvsp[0].Number / 100) * 60 : - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60)); - ; - break;} + } + break; case 12: #line 234 "getdate.y" { @@ -928,8 +1161,8 @@ case 12: yyMinutes = yyvsp[-3].Number; yySeconds = yyvsp[-1].Number; yyMeridian = yyvsp[0].Meridian; - ; - break;} + } + break; case 13: #line 240 "getdate.y" { @@ -941,54 +1174,54 @@ case 13: yyTimezone = (yyvsp[0].Number < 0 ? -yyvsp[0].Number % 100 + (-yyvsp[0].Number / 100) * 60 : - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60)); - ; - break;} + } + break; case 14: #line 252 "getdate.y" { yyTimezone = yyvsp[0].Number; - ; - break;} + } + break; case 15: #line 255 "getdate.y" { yyTimezone = yyvsp[0].Number - 60; - ; - break;} + } + break; case 16: #line 259 "getdate.y" { yyTimezone = yyvsp[-1].Number - 60; - ; - break;} + } + break; case 17: #line 264 "getdate.y" { yyDayOrdinal = 1; yyDayNumber = yyvsp[0].Number; - ; - break;} + } + break; case 18: #line 268 "getdate.y" { yyDayOrdinal = 1; yyDayNumber = yyvsp[-1].Number; - ; - break;} + } + break; case 19: #line 272 "getdate.y" { yyDayOrdinal = yyvsp[-1].Number; yyDayNumber = yyvsp[0].Number; - ; - break;} + } + break; case 20: #line 278 "getdate.y" { yyMonth = yyvsp[-2].Number; yyDay = yyvsp[0].Number; - ; - break;} + } + break; case 21: #line 282 "getdate.y" { @@ -1008,8 +1241,8 @@ case 21: yyDay = yyvsp[-2].Number; yyYear = yyvsp[0].Number; } - ; - break;} + } + break; case 22: #line 300 "getdate.y" { @@ -1017,8 +1250,8 @@ case 22: yyYear = yyvsp[-2].Number; yyMonth = -yyvsp[-1].Number; yyDay = -yyvsp[0].Number; - ; - break;} + } + break; case 23: #line 306 "getdate.y" { @@ -1026,38 +1259,38 @@ case 23: yyDay = yyvsp[-2].Number; yyMonth = yyvsp[-1].Number; yyYear = -yyvsp[0].Number; - ; - break;} + } + break; case 24: #line 312 "getdate.y" { yyMonth = yyvsp[-1].Number; yyDay = yyvsp[0].Number; - ; - break;} + } + break; case 25: #line 316 "getdate.y" { yyMonth = yyvsp[-3].Number; yyDay = yyvsp[-2].Number; yyYear = yyvsp[0].Number; - ; - break;} + } + break; case 26: #line 321 "getdate.y" { yyMonth = yyvsp[0].Number; yyDay = yyvsp[-1].Number; - ; - break;} + } + break; case 27: #line 325 "getdate.y" { yyMonth = yyvsp[-1].Number; yyDay = yyvsp[-2].Number; yyYear = yyvsp[0].Number; - ; - break;} + } + break; case 28: #line 332 "getdate.y" { @@ -1067,116 +1300,116 @@ case 28: yyRelDay = -yyRelDay; yyRelMonth = -yyRelMonth; yyRelYear = -yyRelYear; - ; - break;} + } + break; case 30: #line 343 "getdate.y" { yyRelYear += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 31: #line 346 "getdate.y" { yyRelYear += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 32: #line 349 "getdate.y" { yyRelYear++; - ; - break;} + } + break; case 33: #line 352 "getdate.y" { yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 34: #line 355 "getdate.y" { yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 35: #line 358 "getdate.y" { yyRelMonth++; - ; - break;} + } + break; case 36: #line 361 "getdate.y" { yyRelDay += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 37: #line 364 "getdate.y" { yyRelDay += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 38: #line 367 "getdate.y" { yyRelDay++; - ; - break;} + } + break; case 39: #line 370 "getdate.y" { yyRelHour += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 40: #line 373 "getdate.y" { yyRelHour += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 41: #line 376 "getdate.y" { yyRelHour++; - ; - break;} + } + break; case 42: #line 379 "getdate.y" { yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 43: #line 382 "getdate.y" { yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 44: #line 385 "getdate.y" { yyRelMinutes++; - ; - break;} + } + break; case 45: #line 388 "getdate.y" { yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 46: #line 391 "getdate.y" { yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} + } + break; case 47: #line 394 "getdate.y" { yyRelSeconds++; - ; - break;} + } + break; case 48: #line 400 "getdate.y" { @@ -1208,64 +1441,50 @@ case 48: yyMeridian = MER24; } } - ; - break;} + } + break; case 49: #line 433 "getdate.y" { yyval.Meridian = MER24; - ; - break;} + } + break; case 50: #line 437 "getdate.y" { yyval.Meridian = yyvsp[0].Meridian; - ; - break;} + } + break; } - /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/share/bison.simple" + +#line 705 "/usr/share/misc/bison.simple" + yyvsp -= yylen; yyssp -= yylen; -#ifdef YYLSP_NEEDED +#if YYLSP_NEEDED yylsp -= yylen; #endif -#if YYDEBUG != 0 +#if YYDEBUG if (yydebug) { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); + short *yyssp1 = yyss - 1; + YYFPRINTF (stderr, "state stack now"); + while (yyssp1 != yyssp) + YYFPRINTF (stderr, " %d", *++yyssp1); + YYFPRINTF (stderr, "\n"); } #endif *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } +#if YYLSP_NEEDED + *++yylsp = yyloc; #endif - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ + /* Now `shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ yyn = yyr1[yyn]; @@ -1277,10 +1496,13 @@ case 50: goto yynewstate; -yyerrlab: /* here on detecting error */ - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ +/*------------------------------------. +| yyerrlab -- here on detecting error | +`------------------------------------*/ +yyerrlab: + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) { ++yynerrs; @@ -1289,102 +1511,121 @@ yyerrlab: /* here on detecting error */ if (yyn > YYFLAG && yyn < YYLAST) { - int size = 0; - char *msg; - int x, count; + YYSIZE_T yysize = 0; + char *yymsg; + int yyx, yycount; - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) + yycount = 0; + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + for (yyx = yyn < 0 ? -yyn : 0; + yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) + if (yycheck[yyx + yyn] == yyx) + yysize += yystrlen (yytname[yyx]) + 15, yycount++; + yysize += yystrlen ("parse error, unexpected ") + 1; + yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); + yymsg = (char *) YYSTACK_ALLOC (yysize); + if (yymsg != 0) { - strcpy(msg, "parse error"); + char *yyp = yystpcpy (yymsg, "parse error, unexpected "); + yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); - if (count < 5) + if (yycount < 5) { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) + yycount = 0; + for (yyx = yyn < 0 ? -yyn : 0; + yyx < (int) (sizeof (yytname) / sizeof (char *)); + yyx++) + if (yycheck[yyx + yyn] == yyx) { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; + const char *yyq = ! yycount ? ", expecting " : " or "; + yyp = yystpcpy (yyp, yyq); + yyp = yystpcpy (yyp, yytname[yyx]); + yycount++; } } - yyerror(msg); - free(msg); + yyerror (yymsg); + YYSTACK_FREE (yymsg); } else - yyerror ("parse error; also virtual memory exceeded"); + yyerror ("parse error; also virtual memory exhausted"); } else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); +#endif /* defined (YYERROR_VERBOSE) */ + yyerror ("parse error"); } - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ + +/*--------------------------------------------------. +| yyerrlab1 -- error raised explicitly by an action | +`--------------------------------------------------*/ +yyerrlab1: if (yyerrstatus == 3) { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ /* return failure if at end of input */ if (yychar == YYEOF) YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - + YYDPRINTF ((stderr, "Discarding token %d (%s).\n", + yychar, yytname[yychar1])); yychar = YYEMPTY; } - /* Else will try to reuse lookahead token - after shifting the error token. */ + /* Else will try to reuse lookahead token after shifting the error + token. */ yyerrstatus = 3; /* Each real token shifted decrements this */ goto yyerrhandle; -yyerrdefault: /* current state does not do anything special for the error token. */ +/*-------------------------------------------------------------------. +| yyerrdefault -- current state does not do anything special for the | +| error token. | +`-------------------------------------------------------------------*/ +yyerrdefault: #if 0 /* This is wrong; only states that explicitly want error tokens should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; + + /* If its default is to accept any token, ok. Otherwise pop it. */ + yyn = yydefact[yystate]; + if (yyn) + goto yydefault; #endif -yyerrpop: /* pop the current state because it cannot handle the error token */ - if (yyssp == yyss) YYABORT; +/*---------------------------------------------------------------. +| yyerrpop -- pop the current state because it cannot handle the | +| error token | +`---------------------------------------------------------------*/ +yyerrpop: + if (yyssp == yyss) + YYABORT; yyvsp--; yystate = *--yyssp; -#ifdef YYLSP_NEEDED +#if YYLSP_NEEDED yylsp--; #endif -#if YYDEBUG != 0 +#if YYDEBUG if (yydebug) { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); + short *yyssp1 = yyss - 1; + YYFPRINTF (stderr, "Error: state stack now"); + while (yyssp1 != yyssp) + YYFPRINTF (stderr, " %d", *++yyssp1); + YYFPRINTF (stderr, "\n"); } #endif +/*--------------. +| yyerrhandle. | +`--------------*/ yyerrhandle: - yyn = yypact[yystate]; if (yyn == YYFLAG) goto yyerrdefault; @@ -1407,18 +1648,45 @@ yyerrhandle: if (yyn == YYFINAL) YYACCEPT; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif + YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; -#ifdef YYLSP_NEEDED +#if YYLSP_NEEDED *++yylsp = yylloc; #endif yystate = yyn; goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +/*---------------------------------------------. +| yyoverflowab -- parser overflow comes here. | +`---------------------------------------------*/ +yyoverflowlab: + yyerror ("parser stack overflow"); + yyresult = 2; + /* Fall through. */ + +yyreturn: +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif + return yyresult; } #line 442 "getdate.y" @@ -1501,17 +1769,6 @@ static TABLE const TimezoneTable[] = { { "bst", tDAYZONE, HOUR ( 0) }, /* British Summer */ { "wat", tZONE, HOUR ( 1) }, /* West Africa */ { "at", tZONE, HOUR ( 2) }, /* Azores */ -#if 0 - /* For completeness. BST is also British Summer, and GST is - * also Guam Standard. */ - { "bst", tZONE, HOUR ( 3) }, /* Brazil Standard */ - { "gst", tZONE, HOUR ( 3) }, /* Greenland Standard */ -#endif -#if 0 - { "nft", tZONE, HOUR (3.5) }, /* Newfoundland */ - { "nst", tZONE, HOUR (3.5) }, /* Newfoundland Standard */ - { "ndt", tDAYZONE, HOUR (3.5) }, /* Newfoundland Daylight */ -#endif { "ast", tZONE, HOUR ( 4) }, /* Atlantic Standard */ { "adt", tDAYZONE, HOUR ( 4) }, /* Atlantic Daylight */ { "est", tZONE, HOUR ( 5) }, /* Eastern Standard */ @@ -1541,32 +1798,13 @@ static TABLE const TimezoneTable[] = { { "fst", tDAYZONE, -HOUR (1) }, /* French Summer */ { "eet", tZONE, -HOUR (2) }, /* Eastern Europe, USSR Zone 1 */ { "bt", tZONE, -HOUR (3) }, /* Baghdad, USSR Zone 2 */ -#if 0 - { "it", tZONE, -HOUR (3.5) },/* Iran */ -#endif { "zp4", tZONE, -HOUR (4) }, /* USSR Zone 3 */ { "zp5", tZONE, -HOUR (5) }, /* USSR Zone 4 */ -#if 0 - { "ist", tZONE, -HOUR (5.5) },/* Indian Standard */ -#endif { "zp6", tZONE, -HOUR (6) }, /* USSR Zone 5 */ -#if 0 - /* For completeness. NST is also Newfoundland Standard, and SST is - * also Swedish Summer. */ - { "nst", tZONE, -HOUR (6.5) },/* North Sumatra */ - { "sst", tZONE, -HOUR (7) }, /* South Sumatra, USSR Zone 6 */ -#endif /* 0 */ { "wast", tZONE, -HOUR (7) }, /* West Australian Standard */ { "wadt", tDAYZONE, -HOUR (7) }, /* West Australian Daylight */ -#if 0 - { "jt", tZONE, -HOUR (7.5) },/* Java (3pm in Cronusland!) */ -#endif { "cct", tZONE, -HOUR (8) }, /* China Coast, USSR Zone 7 */ { "jst", tZONE, -HOUR (9) }, /* Japan Standard, USSR Zone 8 */ -#if 0 - { "cast", tZONE, -HOUR (9.5) },/* Central Australian Standard */ - { "cadt", tDAYZONE, -HOUR (9.5) },/* Central Australian Daylight */ -#endif { "east", tZONE, -HOUR (10) }, /* Eastern Australian Standard */ { "eadt", tDAYZONE, -HOUR (10) }, /* Eastern Australian Daylight */ { "gst", tZONE, -HOUR (10) }, /* Guam Standard, USSR Zone 9 */ diff --git a/libmisc/getdate.y b/libmisc/getdate.y index d33fa063..637bb15d 100644 --- a/libmisc/getdate.y +++ b/libmisc/getdate.y @@ -519,17 +519,6 @@ static TABLE const TimezoneTable[] = { { "bst", tDAYZONE, HOUR ( 0) }, /* British Summer */ { "wat", tZONE, HOUR ( 1) }, /* West Africa */ { "at", tZONE, HOUR ( 2) }, /* Azores */ -#if 0 - /* For completeness. BST is also British Summer, and GST is - * also Guam Standard. */ - { "bst", tZONE, HOUR ( 3) }, /* Brazil Standard */ - { "gst", tZONE, HOUR ( 3) }, /* Greenland Standard */ -#endif -#if 0 - { "nft", tZONE, HOUR (3.5) }, /* Newfoundland */ - { "nst", tZONE, HOUR (3.5) }, /* Newfoundland Standard */ - { "ndt", tDAYZONE, HOUR (3.5) }, /* Newfoundland Daylight */ -#endif { "ast", tZONE, HOUR ( 4) }, /* Atlantic Standard */ { "adt", tDAYZONE, HOUR ( 4) }, /* Atlantic Daylight */ { "est", tZONE, HOUR ( 5) }, /* Eastern Standard */ @@ -559,32 +548,13 @@ static TABLE const TimezoneTable[] = { { "fst", tDAYZONE, -HOUR (1) }, /* French Summer */ { "eet", tZONE, -HOUR (2) }, /* Eastern Europe, USSR Zone 1 */ { "bt", tZONE, -HOUR (3) }, /* Baghdad, USSR Zone 2 */ -#if 0 - { "it", tZONE, -HOUR (3.5) },/* Iran */ -#endif { "zp4", tZONE, -HOUR (4) }, /* USSR Zone 3 */ { "zp5", tZONE, -HOUR (5) }, /* USSR Zone 4 */ -#if 0 - { "ist", tZONE, -HOUR (5.5) },/* Indian Standard */ -#endif { "zp6", tZONE, -HOUR (6) }, /* USSR Zone 5 */ -#if 0 - /* For completeness. NST is also Newfoundland Standard, and SST is - * also Swedish Summer. */ - { "nst", tZONE, -HOUR (6.5) },/* North Sumatra */ - { "sst", tZONE, -HOUR (7) }, /* South Sumatra, USSR Zone 6 */ -#endif /* 0 */ { "wast", tZONE, -HOUR (7) }, /* West Australian Standard */ { "wadt", tDAYZONE, -HOUR (7) }, /* West Australian Daylight */ -#if 0 - { "jt", tZONE, -HOUR (7.5) },/* Java (3pm in Cronusland!) */ -#endif { "cct", tZONE, -HOUR (8) }, /* China Coast, USSR Zone 7 */ { "jst", tZONE, -HOUR (9) }, /* Japan Standard, USSR Zone 8 */ -#if 0 - { "cast", tZONE, -HOUR (9.5) },/* Central Australian Standard */ - { "cadt", tDAYZONE, -HOUR (9.5) },/* Central Australian Daylight */ -#endif { "east", tZONE, -HOUR (10) }, /* Eastern Australian Standard */ { "eadt", tDAYZONE, -HOUR (10) }, /* Eastern Australian Daylight */ { "gst", tZONE, -HOUR (10) }, /* Guam Standard, USSR Zone 9 */ diff --git a/libmisc/hushed.c b/libmisc/hushed.c index fbc7a19d..eca1d709 100644 --- a/libmisc/hushed.c +++ b/libmisc/hushed.c @@ -30,24 +30,20 @@ #include #include "rcsid.h" -RCSID("$Id: hushed.c,v 1.4 2000/08/26 18:27:17 marekm Exp $") - +RCSID ("$Id: hushed.c,v 1.5 2003/04/22 10:59:22 kloczek Exp $") #include #include #include "defines.h" #include "prototypes.h" #include "getdef.h" #include - /* * hushed - determine if a user receives login messages * * Look in the hushed-logins file (or user's home directory) to see * if the user is to receive the login-time messages. */ - -int -hushed(const struct passwd *pw) +int hushed (const struct passwd *pw) { char *hushfile; char buf[BUFSIZ]; @@ -59,7 +55,7 @@ hushed(const struct passwd *pw) * defined, default to a noisy login. */ - if ( (hushfile=getdef_str("HUSHLOGIN_FILE")) == NULL ) + if ((hushfile = getdef_str ("HUSHLOGIN_FILE")) == NULL) return 0; /* @@ -68,8 +64,9 @@ hushed(const struct passwd *pw) */ if (hushfile[0] != '/') { - snprintf(buf, sizeof(buf), "%s/%s", pw->pw_dir, hushfile); - return (access(buf, F_OK) == 0); + snprintf (buf, sizeof (buf), "%s/%s", pw->pw_dir, + hushfile); + return (access (buf, F_OK) == 0); } /* @@ -77,14 +74,15 @@ hushed(const struct passwd *pw) * and see if this user is in there. */ - if ((fp = fopen(hushfile, "r")) == NULL) + if ((fp = fopen (hushfile, "r")) == NULL) return 0; - for (found = 0;! found && fgets (buf, sizeof buf, fp);) { + for (found = 0; !found && fgets (buf, sizeof buf, fp);) { buf[strlen (buf) - 1] = '\0'; - found = ! strcmp (buf, - buf[0] == '/' ? pw->pw_shell:pw->pw_name); + found = !strcmp (buf, + buf[0] == + '/' ? pw->pw_shell : pw->pw_name); } - (void) fclose(fp); + (void) fclose (fp); return found; } diff --git a/libmisc/isexpired.c b/libmisc/isexpired.c index 4894dc8a..ad79467c 100644 --- a/libmisc/isexpired.c +++ b/libmisc/isexpired.c @@ -41,7 +41,7 @@ #include #include "rcsid.h" -RCSID("$Id: isexpired.c,v 1.9 2002/01/06 14:02:39 kloczek Exp $") +RCSID ("$Id: isexpired.c,v 1.11 2003/05/03 16:14:33 kloczek Exp $") /* * isexpired - determine if account is expired yet @@ -49,18 +49,16 @@ RCSID("$Id: isexpired.c,v 1.9 2002/01/06 14:02:39 kloczek Exp $") * isexpired calculates the expiration date based on the * password expiration criteria. */ - -/*ARGSUSED*/ - + /*ARGSUSED*/ #ifdef SHADOWPWD -int -isexpired(const struct passwd *pw, const struct spwd *sp) +int isexpired (const struct passwd *pw, const struct spwd *sp) { - long now; + long now; + now = time ((time_t *) 0) / SCALE; if (!sp) - sp = pwd_to_spwd(pw); + sp = pwd_to_spwd (pw); /* * Quick and easy - there is an expired account field @@ -79,11 +77,12 @@ isexpired(const struct passwd *pw, const struct spwd *sp) * if /etc/shadow doesn't exist, getspnam() still succeeds and * returns sp_lstchg==0 (must change password) instead of -1! */ - if (sp->sp_lstchg == 0 && !strcmp(pw->pw_passwd, SHADOW_PASSWD_STRING)) + if (sp->sp_lstchg == 0 + && !strcmp (pw->pw_passwd, SHADOW_PASSWD_STRING)) return 1; if (sp->sp_lstchg > 0 && sp->sp_max >= 0 && sp->sp_inact >= 0 && - now >= sp->sp_lstchg + sp->sp_max + sp->sp_inact) + now >= sp->sp_lstchg + sp->sp_max + sp->sp_inact) return 2; /* @@ -93,12 +92,8 @@ isexpired(const struct passwd *pw, const struct spwd *sp) */ if (sp->sp_lstchg == -1 || - sp->sp_max == -1 || sp->sp_max >= (10000L*DAY/SCALE)) + sp->sp_max == -1 || sp->sp_max >= (10000L * DAY / SCALE)) return 0; -#ifdef ATT_AGE - if (pw->pw_age[0] == '\0' || pw->pw_age[0] == '/') - return 0; -#endif /* * Calculate today's day and the day on which the password @@ -108,10 +103,6 @@ isexpired(const struct passwd *pw, const struct spwd *sp) if (now >= sp->sp_lstchg + sp->sp_max) return 1; -#ifdef ATT_AGE - if (a64l (pw->pw_age + 2) + c64i (pw->pw_age[1]) < now / 7) - return 1; -#endif return 0; } -#endif /* SHADOWPWD */ +#endif /* SHADOWPWD */ diff --git a/libmisc/limits.c b/libmisc/limits.c index e17817ea..458d92b1 100644 --- a/libmisc/limits.c +++ b/libmisc/limits.c @@ -35,32 +35,24 @@ #include #include "rcsid.h" -RCSID("$Id: limits.c,v 1.10 1999/08/27 19:02:51 marekm Exp $") - +RCSID ("$Id: limits.c,v 1.14 2003/05/05 21:44:15 kloczek Exp $") #include #include - #include - #include "prototypes.h" #include "defines.h" #include #include "getdef.h" - #ifdef HAVE_SYS_RESOURCE_H #include #define LIMITS #endif - #ifdef LIMITS - #ifndef LIMITS_FILE #define LIMITS_FILE "/etc/limits" #endif - #define LOGIN_ERROR_RLIMIT 1 #define LOGIN_ERROR_LOGIN 2 - /* Set a limit on a resource */ /* * rlimit - RLIMIT_XXXX @@ -68,94 +60,105 @@ RCSID("$Id: limits.c,v 1.10 1999/08/27 19:02:51 marekm Exp $") * multiplier - value*multiplier is the actual limit */ static int -setrlimit_value(unsigned int rlimit, const char *value, unsigned int multiplier) +setrlimit_value (unsigned int rlimit, const char *value, + unsigned int multiplier) { struct rlimit rlim; long limit; char **endptr = (char **) &value; const char *value_orig = value; - limit = strtol(value, endptr, 10); - if (limit == 0 && value_orig == *endptr) /* no chars read */ + limit = strtol (value, endptr, 10); + if (limit == 0 && value_orig == *endptr) /* no chars read */ return 0; limit *= multiplier; rlim.rlim_cur = limit; rlim.rlim_max = limit; - if (setrlimit(rlimit, &rlim)) + if (setrlimit (rlimit, &rlim)) return LOGIN_ERROR_RLIMIT; return 0; } -static int -set_prio(const char *value) +static int set_prio (const char *value) { int prio; char **endptr = (char **) &value; - prio = strtol(value, endptr, 10); + prio = strtol (value, endptr, 10); if ((prio == 0) && (value == *endptr)) return 0; - if (setpriority(PRIO_PROCESS, 0, prio)) + if (setpriority (PRIO_PROCESS, 0, prio)) return LOGIN_ERROR_RLIMIT; return 0; } -static int -set_umask(const char *value) +static int set_umask (const char *value) { mode_t mask; char **endptr = (char **) &value; - mask = strtol(value, endptr, 8) & 0777; + mask = strtol (value, endptr, 8) & 0777; if ((mask == 0) && (value == *endptr)) return 0; - umask(mask); + umask (mask); return 0; } /* Counts the number of user logins and check against the limit */ -static int -check_logins(const char *name, const char *maxlogins) +static int check_logins (const char *name, const char *maxlogins) { +#if HAVE_UTMPX_H + struct utmpx *ut; +#else struct utmp *ut; +#endif unsigned int limit, count; char **endptr = (char **) &maxlogins; const char *ml_orig = maxlogins; - limit = strtol(maxlogins, endptr, 10); - if (limit == 0 && ml_orig == *endptr) /* no chars read */ + limit = strtol (maxlogins, endptr, 10); + if (limit == 0 && ml_orig == *endptr) /* no chars read */ return 0; - if (limit == 0) /* maximum 0 logins ? */ { - SYSLOG((LOG_WARN, "No logins allowed for `%s'\n", name)); + if (limit == 0) { /* maximum 0 logins ? */ + SYSLOG ((LOG_WARN, "No logins allowed for `%s'\n", name)); return LOGIN_ERROR_LOGIN; } - setutent(); count = 0; - while ((ut = getutent())) { +#if HAVE_UTMPX_H + setutxent (); + while ((ut = getutxent ())) { +#else + setutent (); + while ((ut = getutent ())) { +#endif #ifdef USER_PROCESS if (ut->ut_type != USER_PROCESS) continue; #endif if (ut->ut_user[0] == '\0') continue; - if (strncmp(name, ut->ut_user, sizeof(ut->ut_user)) != 0) + if (strncmp (name, ut->ut_user, sizeof (ut->ut_user)) != 0) continue; if (++count > limit) break; } - endutent(); +#if HAVE_UTMPX_H + endutxent (); +#else + endutent (); +#endif /* * This is called after setutmp(), so the number of logins counted * includes the user who is currently trying to log in. */ if (count > limit) { - SYSLOG((LOG_WARN, "Too many logins (max %d) for %s\n", - limit, name)); + SYSLOG ((LOG_WARN, "Too many logins (max %d) for %s\n", + limit, name)); return LOGIN_ERROR_LOGIN; } return 0; @@ -191,103 +194,103 @@ check_logins(const char *name, const char *maxlogins) * buf - the limits string * name - the username */ -static int -do_user_limits(const char *buf, const char *name) +static int do_user_limits (const char *buf, const char *name) { const char *pp; int retval = 0; pp = buf; - while (*pp != '\0') switch(*pp++) { + while (*pp != '\0') + switch (*pp++) { #ifdef RLIMIT_AS case 'a': case 'A': /* RLIMIT_AS - max address space (KB) */ - retval |= setrlimit_value(RLIMIT_AS, pp, 1024); + retval |= setrlimit_value (RLIMIT_AS, pp, 1024); #endif #ifdef RLIMIT_CPU case 't': case 'T': /* RLIMIT_CPU - max CPU time (MIN) */ - retval |= setrlimit_value(RLIMIT_CPU, pp, 60); + retval |= setrlimit_value (RLIMIT_CPU, pp, 60); break; #endif #ifdef RLIMIT_DATA case 'd': case 'D': /* RLIMIT_DATA - max data size (KB) */ - retval |= setrlimit_value(RLIMIT_DATA, pp, 1024); + retval |= setrlimit_value (RLIMIT_DATA, pp, 1024); break; #endif #ifdef RLIMIT_FSIZE case 'f': case 'F': /* RLIMIT_FSIZE - Maximum filesize (KB) */ - retval |= setrlimit_value(RLIMIT_FSIZE, pp, 1024); + retval |= setrlimit_value (RLIMIT_FSIZE, pp, 1024); break; #endif #ifdef RLIMIT_NPROC case 'u': case 'U': /* RLIMIT_NPROC - max number of processes */ - retval |= setrlimit_value(RLIMIT_NPROC, pp, 1); + retval |= setrlimit_value (RLIMIT_NPROC, pp, 1); break; #endif #ifdef RLIMIT_CORE case 'c': case 'C': /* RLIMIT_CORE - max core file size (KB) */ - retval |= setrlimit_value(RLIMIT_CORE, pp, 1024); + retval |= setrlimit_value (RLIMIT_CORE, pp, 1024); break; #endif #ifdef RLIMIT_MEMLOCK case 'm': case 'M': - /* RLIMIT_MEMLOCK - max locked-in-memory address space (KB) */ - retval |= setrlimit_value(RLIMIT_MEMLOCK, pp, 1024); + /* RLIMIT_MEMLOCK - max locked-in-memory address space (KB) */ + retval |= + setrlimit_value (RLIMIT_MEMLOCK, pp, 1024); break; #endif #ifdef RLIMIT_NOFILE case 'n': case 'N': /* RLIMIT_NOFILE - max number of open files */ - retval |= setrlimit_value(RLIMIT_NOFILE, pp, 1); + retval |= setrlimit_value (RLIMIT_NOFILE, pp, 1); break; #endif #ifdef RLIMIT_RSS case 'r': case 'R': /* RLIMIT_RSS - max resident set size (KB) */ - retval |= setrlimit_value(RLIMIT_RSS, pp, 1024); + retval |= setrlimit_value (RLIMIT_RSS, pp, 1024); break; #endif #ifdef RLIMIT_STACK case 's': case 'S': /* RLIMIT_STACK - max stack size (KB) */ - retval |= setrlimit_value(RLIMIT_STACK, pp, 1024); + retval |= setrlimit_value (RLIMIT_STACK, pp, 1024); break; #endif case 'k': case 'K': - retval |= set_umask(pp); + retval |= set_umask (pp); break; case 'l': case 'L': /* LIMIT the number of concurent logins */ - retval |= check_logins(name, pp); + retval |= check_logins (name, pp); break; case 'p': case 'P': - retval |= set_prio(pp); + retval |= set_prio (pp); break; - } + } return retval; } -static int -setup_user_limits(const char *uname) +static int setup_user_limits (const char *uname) { /* TODO: allow and use @group syntax --cristiang */ FILE *fil; @@ -298,28 +301,25 @@ setup_user_limits(const char *uname) char tempbuf[1024]; /* init things */ - memzero(buf, sizeof(buf)); - memzero(name, sizeof(name)); - memzero(limits, sizeof(limits)); - memzero(deflimits, sizeof(deflimits)); - memzero(tempbuf, sizeof(tempbuf)); + memzero (buf, sizeof (buf)); + memzero (name, sizeof (name)); + memzero (limits, sizeof (limits)); + memzero (deflimits, sizeof (deflimits)); + memzero (tempbuf, sizeof (tempbuf)); /* start the checks */ - fil = fopen(LIMITS_FILE, "r"); + fil = fopen (LIMITS_FILE, "r"); if (fil == NULL) { -#if 0 /* no limits file is ok, not everyone is a BOFH :-). --marekm */ - SYSLOG((LOG_WARN, NO_LIMITS, uname, LIMITS_FILE)); -#endif return 0; } /* The limits file have the following format: * - '#' (comment) chars only as first chars on a line; * - username must start on first column * A better (smarter) checking should be done --cristiang */ - while (fgets(buf, 1024, fil) != NULL) { - if (buf[0]=='#' || buf[0]=='\n') + while (fgets (buf, 1024, fil) != NULL) { + if (buf[0] == '#' || buf[0] == '\n') continue; - memzero(tempbuf, sizeof(tempbuf)); + memzero (tempbuf, sizeof (tempbuf)); /* a valid line should have a username, then spaces, * then limits * we allow the format: @@ -328,30 +328,29 @@ setup_user_limits(const char *uname) * Imposing a limit should be done with care, so a wrong * entry means no care anyway :-). A '-' as a limits * strings means no limits --cristiang */ - if (sscanf(buf, "%s%[ACDFMNRSTULPacdfmnrstulp0-9 \t-]", - name, tempbuf) == 2) { - if (strcmp(name, uname) == 0) { - strcpy(limits, tempbuf); + if (sscanf (buf, "%s%[ACDFMNRSTULPacdfmnrstulp0-9 \t-]", + name, tempbuf) == 2) { + if (strcmp (name, uname) == 0) { + strcpy (limits, tempbuf); break; - } else if (strcmp(name, "*") == 0) { - strcpy(deflimits, tempbuf); + } else if (strcmp (name, "*") == 0) { + strcpy (deflimits, tempbuf); } } } - fclose(fil); + fclose (fil); if (limits[0] == '\0') { /* no user specific limits */ - if (deflimits[0] == '\0') /* no default limits */ + if (deflimits[0] == '\0') /* no default limits */ return 0; - strcpy(limits, deflimits); /* use the default limits */ + strcpy (limits, deflimits); /* use the default limits */ } - return do_user_limits(limits, uname); + return do_user_limits (limits, uname); } -#endif /* LIMITS */ +#endif /* LIMITS */ -static void -setup_usergroups(const struct passwd *info) +static void setup_usergroups (const struct passwd *info) { const struct group *grp; mode_t oldmask; @@ -362,10 +361,10 @@ setup_usergroups(const struct passwd *info) * (examples: 022 -> 002, 077 -> 007). */ if (info->pw_uid != 0 && info->pw_uid == info->pw_gid) { - grp = getgrgid(info->pw_gid); - if (grp && (strcmp(info->pw_name, grp->gr_name) == 0)) { - oldmask = umask(0777); - umask((oldmask & ~070) | ((oldmask >> 3) & 070)); + grp = getgrgid (info->pw_gid); + if (grp && (strcmp (info->pw_name, grp->gr_name) == 0)) { + oldmask = umask (0777); + umask ((oldmask & ~070) | ((oldmask >> 3) & 070)); } } } @@ -374,15 +373,14 @@ setup_usergroups(const struct passwd *info) * set the process nice, ulimit, and umask from the password file entry */ -void -setup_limits(const struct passwd *info) +void setup_limits (const struct passwd *info) { - char *cp; - int i; - long l; + char *cp; + int i; + long l; - if (getdef_bool("USERGROUPS_ENAB")) - setup_usergroups(info); + if (getdef_bool ("USERGROUPS_ENAB")) + setup_usergroups (info); /* * See if the GECOS field contains values for NICE, UMASK or ULIMIT. @@ -390,16 +388,18 @@ setup_limits(const struct passwd *info) * values the defaults for this login session. */ - if (getdef_bool("QUOTAS_ENAB")) { + if (getdef_bool ("QUOTAS_ENAB")) { #ifdef LIMITS if (info->pw_uid != 0) - if (setup_user_limits(info->pw_name) & LOGIN_ERROR_LOGIN) { - fprintf(stderr, _("Too many logins.\n")); - sleep(2); - exit(1); - } + if (setup_user_limits (info->pw_name) & + LOGIN_ERROR_LOGIN) { + fprintf (stderr, _("Too many logins.\n")); + sleep (2); + exit (1); + } #endif - for (cp = info->pw_gecos ; cp != NULL ; cp = strchr (cp, ',')) { + for (cp = info->pw_gecos; cp != NULL; + cp = strchr (cp, ',')) { if (*cp == ',') cp++; @@ -412,7 +412,7 @@ setup_limits(const struct passwd *info) } if (strncmp (cp, "ulimit=", 7) == 0) { l = strtol (cp + 7, (char **) 0, 10); - set_filesize_limit(l); + set_filesize_limit (l); continue; } if (strncmp (cp, "umask=", 6) == 0) { diff --git a/libmisc/list.c b/libmisc/list.c index db63c8dc..2ba0e4b8 100644 --- a/libmisc/list.c +++ b/libmisc/list.c @@ -33,11 +33,9 @@ #include #include "rcsid.h" -RCSID("$Id: list.c,v 1.3 1997/12/07 23:27:05 marekm Exp $") - +RCSID ("$Id: list.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $") #include "prototypes.h" #include "defines.h" - /* * add_list - add a member to a list of group members * @@ -45,19 +43,17 @@ RCSID("$Id: list.c,v 1.3 1997/12/07 23:27:05 marekm Exp $") * name, and if not present it is added to a freshly allocated * list of users. */ - -char ** -add_list(char **list, const char *member) +char **add_list (char **list, const char *member) { - int i; - char **tmp; + int i; + char **tmp; /* * Scan the list for the new name. Return the original list * pointer if it is present. */ - for (i = 0;list[i] != (char *) 0;i++) + for (i = 0; list[i] != (char *) 0; i++) if (strcmp (list[i], member) == 0) return list; @@ -74,7 +70,7 @@ add_list(char **list, const char *member) * is returned to the invoker. */ - for (i = 0;list[i] != (char *) 0;i++) + for (i = 0; list[i] != (char *) 0; i++) tmp[i] = list[i]; tmp[i++] = xstrdup (member); @@ -91,18 +87,17 @@ add_list(char **list, const char *member) * list of users. */ -char ** -del_list(char **list, const char *member) +char **del_list (char **list, const char *member) { - int i, j; - char **tmp; + int i, j; + char **tmp; /* * Scan the list for the old name. Return the original list * pointer if it is not present. */ - for (i = j = 0;list[i] != (char *) 0;i++) + for (i = j = 0; list[i] != (char *) 0; i++) if (strcmp (list[i], member)) j++; @@ -122,7 +117,7 @@ del_list(char **list, const char *member) * is returned to the invoker. */ - for (i = j = 0;list[i] != (char *) 0;i++) + for (i = j = 0; list[i] != (char *) 0; i++) if (strcmp (list[i], member)) tmp[j++] = list[i]; @@ -131,30 +126,27 @@ del_list(char **list, const char *member) return tmp; } -char ** -dup_list(char * const *list) +char **dup_list (char *const *list) { int i; char **tmp; - for (i = 0; list[i]; i++) - ; + for (i = 0; list[i]; i++); - tmp = (char **) xmalloc((i + 1) * sizeof(char *)); + tmp = (char **) xmalloc ((i + 1) * sizeof (char *)); i = 0; while (*list) - tmp[i++] = xstrdup(*list++); + tmp[i++] = xstrdup (*list++); tmp[i] = (char *) 0; return tmp; } -int -is_on_list(char * const *list, const char *member) +int is_on_list (char *const *list, const char *member) { while (*list) { - if (strcmp(*list, member) == 0) + if (strcmp (*list, member) == 0) return 1; list++; } @@ -165,13 +157,12 @@ is_on_list(char * const *list, const char *member) * comma_to_list - convert comma-separated list to (char *) array */ -char ** -comma_to_list(const char *comma) +char **comma_to_list (const char *comma) { - char *members; - char **array; - int i; - char *cp, *cp2; + char *members; + char **array; + int i; + char *cp, *cp2; /* * Make a copy since we are going to be modifying the list @@ -183,7 +174,7 @@ comma_to_list(const char *comma) * Count the number of commas in the list */ - for (cp = members, i = 0;;i++) + for (cp = members, i = 0;; i++) if ((cp2 = strchr (cp, ','))) cp = cp2 + 1; else @@ -215,7 +206,7 @@ comma_to_list(const char *comma) * array of pointers. */ - for (cp = members, i = 0;;i++) { + for (cp = members, i = 0;; i++) { array[i] = cp; if ((cp2 = strchr (cp, ','))) { *cp2++ = '\0'; diff --git a/libmisc/log.c b/libmisc/log.c index a0ee0e1b..1ad2a16c 100644 --- a/libmisc/log.c +++ b/libmisc/log.c @@ -30,8 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: log.c,v 1.5 1998/04/16 19:57:44 marekm Exp $") - +RCSID ("$Id: log.c,v 1.7 2003/12/17 12:52:25 kloczek Exp $") #include #include #include @@ -42,7 +41,6 @@ RCSID("$Id: log.c,v 1.5 1998/04/16 19:57:44 marekm Exp $") #else #include "lastlog_.h" #endif - /* * dolastlog - create lastlog entry * @@ -50,19 +48,20 @@ RCSID("$Id: log.c,v 1.5 1998/04/16 19:57:44 marekm Exp $") * UID is extracted from the global (struct passwd) entry and the * TTY information is gotten from the (struct utmp). */ - void -dolastlog(struct lastlog *ll, const struct passwd *pw, const char *line, const char *host) +dolastlog (struct lastlog *ll, const struct passwd *pw, const char *line, + const char *host) { - int fd; - off_t offset; - struct lastlog newlog; + int fd; + off_t offset; + struct lastlog newlog; + time_t ll_time; /* * If the file does not exist, don't create it. */ - if ((fd = open(LASTLOG_FILE, O_RDWR)) == -1) + if ((fd = open (LASTLOG_FILE, O_RDWR)) == -1) return; /* @@ -72,8 +71,8 @@ dolastlog(struct lastlog *ll, const struct passwd *pw, const char *line, const c offset = (unsigned long) pw->pw_uid * sizeof newlog; - if (lseek(fd, offset, SEEK_SET) != offset) { - close(fd); + if (lseek (fd, offset, SEEK_SET) != offset) { + close (fd); return; } @@ -83,18 +82,18 @@ dolastlog(struct lastlog *ll, const struct passwd *pw, const char *line, const c * the way we read the old one in. */ - if (read(fd, (char *) &newlog, sizeof newlog) != sizeof newlog) - memzero(&newlog, sizeof newlog); + if (read (fd, (char *) &newlog, sizeof newlog) != sizeof newlog) + memzero (&newlog, sizeof newlog); if (ll) *ll = newlog; - time(&newlog.ll_time); - strncpy(newlog.ll_line, line, sizeof newlog.ll_line); + ll_time = newlog.ll_time; + time (&ll_time); + strncpy (newlog.ll_line, line, sizeof newlog.ll_line); #if HAVE_LL_HOST - strncpy(newlog.ll_host, host, sizeof newlog.ll_host); + strncpy (newlog.ll_host, host, sizeof newlog.ll_host); #endif - if (lseek(fd, offset, SEEK_SET) == offset) - write(fd, (char *) &newlog, sizeof newlog); - close(fd); + if (lseek (fd, offset, SEEK_SET) == offset) + write (fd, (char *) &newlog, sizeof newlog); + close (fd); } - diff --git a/libmisc/login_access.c b/libmisc/login_access.c index 1d06d3e7..8c26ada7 100644 --- a/libmisc/login_access.c +++ b/libmisc/login_access.c @@ -23,18 +23,16 @@ #ifdef LOGIN_ACCESS #include "rcsid.h" -RCSID("$Id: login_access.c,v 1.6 1998/01/29 23:22:34 marekm Exp $") +RCSID ("$Id: login_access.c,v 1.9 2003/05/05 21:44:15 kloczek Exp $") #include "prototypes.h" - - /* - * This module implements a simple but effective form of login access - * control based on login names and on host (or domain) names, internet - * addresses (or network numbers), or on terminal line names in case of - * non-networked logins. Diagnostics are reported through syslog(3). - * - * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. - */ - + /* + * This module implements a simple but effective form of login access + * control based on login names and on host (or domain) names, internet + * addresses (or network numbers), or on terminal line names in case of + * non-networked logins. Diagnostics are reported through syslog(3). + * + * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. + */ #include #include #include @@ -50,13 +48,9 @@ RCSID("$Id: login_access.c,v 1.6 1998/01/29 23:22:34 marekm Exp $") #include #include #include -#include /* for inet_ntoa() */ - -extern struct group *getgrnam(); -extern int innetgr(); -#if 0 /* should be defined by */ -extern int errno; -#endif +#include /* for inet_ntoa() */ +extern struct group *getgrnam (); +extern int innetgr (); #if !defined(MAXHOSTNAMELEN) || (MAXHOSTNAMELEN < 64) #undef MAXHOSTNAMELEN @@ -71,270 +65,260 @@ extern int errno; /* Delimiters for fields and for lists of users, ttys or hosts. */ -static char fs[] = ":"; /* field separator */ -static char sep[] = ", \t"; /* list-element separator */ +static char fs[] = ":"; /* field separator */ +static char sep[] = ", \t"; /* list-element separator */ /* Constants to be used in assignments only, not in comparisons... */ #define YES 1 #define NO 0 -static int list_match(); -static int user_match(); -static int from_match(); -static int string_match(); +static int list_match (); +static int user_match (); +static int from_match (); +static int string_match (); /* login_access - match username/group and host/tty with access control file */ -int -login_access(const char *user, const char *from) +int login_access (const char *user, const char *from) { - FILE *fp; - char line[BUFSIZ]; - char *perm; /* becomes permission field */ - char *users; /* becomes list of login names */ - char *froms; /* becomes list of terminals or hosts */ - int match = NO; - int end; - int lineno = 0; /* for diagnostics */ + FILE *fp; + char line[BUFSIZ]; + char *perm; /* becomes permission field */ + char *users; /* becomes list of login names */ + char *froms; /* becomes list of terminals or hosts */ + int match = NO; + int end; + int lineno = 0; /* for diagnostics */ - /* - * Process the table one line at a time and stop at the first match. - * Blank lines and lines that begin with a '#' character are ignored. - * Non-comment lines are broken at the ':' character. All fields are - * mandatory. The first field should be a "+" or "-" character. A - * non-existing table means no access control. - */ + /* + * Process the table one line at a time and stop at the first match. + * Blank lines and lines that begin with a '#' character are ignored. + * Non-comment lines are broken at the ':' character. All fields are + * mandatory. The first field should be a "+" or "-" character. A + * non-existing table means no access control. + */ - if ((fp = fopen(TABLE, "r"))) { - while (!match && fgets(line, sizeof(line), fp)) { - lineno++; - if (line[end = strlen(line) - 1] != '\n') { - syslog(LOG_ERR, "%s: line %d: missing newline or line too long", - TABLE, lineno); - continue; - } - if (line[0] == '#') - continue; /* comment line */ - while (end > 0 && isspace(line[end - 1])) - end--; - line[end] = 0; /* strip trailing whitespace */ - if (line[0] == 0) /* skip blank lines */ - continue; - if (!(perm = strtok(line, fs)) - || !(users = strtok((char *) 0, fs)) - || !(froms = strtok((char *) 0, fs)) - || strtok((char *) 0, fs)) { - syslog(LOG_ERR, "%s: line %d: bad field count", TABLE, lineno); - continue; - } - if (perm[0] != '+' && perm[0] != '-') { - syslog(LOG_ERR, "%s: line %d: bad first field", TABLE, lineno); - continue; - } - match = (list_match(froms, from, from_match) - && list_match(users, user, user_match)); + if ((fp = fopen (TABLE, "r"))) { + while (!match && fgets (line, sizeof (line), fp)) { + lineno++; + if (line[end = strlen (line) - 1] != '\n') { + syslog (LOG_ERR, + "%s: line %d: missing newline or line too long", + TABLE, lineno); + continue; + } + if (line[0] == '#') + continue; /* comment line */ + while (end > 0 && isspace (line[end - 1])) + end--; + line[end] = 0; /* strip trailing whitespace */ + if (line[0] == 0) /* skip blank lines */ + continue; + if (!(perm = strtok (line, fs)) + || !(users = strtok ((char *) 0, fs)) + || !(froms = strtok ((char *) 0, fs)) + || strtok ((char *) 0, fs)) { + syslog (LOG_ERR, + "%s: line %d: bad field count", + TABLE, lineno); + continue; + } + if (perm[0] != '+' && perm[0] != '-') { + syslog (LOG_ERR, + "%s: line %d: bad first field", + TABLE, lineno); + continue; + } + match = (list_match (froms, from, from_match) + && list_match (users, user, user_match)); + } + (void) fclose (fp); + } else if (errno != ENOENT) { + syslog (LOG_ERR, "cannot open %s: %m", TABLE); } - (void) fclose(fp); - } else if (errno != ENOENT) { - syslog(LOG_ERR, "cannot open %s: %m", TABLE); - } - return (match == 0 || (line[0] == '+')); + return (match == 0 || (line[0] == '+')); } /* list_match - match an item against a list of tokens with exceptions */ -static int -list_match(char *list, const char *item, int (*match_fn)()) +static int list_match (char *list, const char *item, int (*match_fn) ()) { - char *tok; - int match = NO; + char *tok; + int match = NO; - /* - * Process tokens one at a time. We have exhausted all possible matches - * when we reach an "EXCEPT" token or the end of the list. If we do find - * a match, look for an "EXCEPT" list and recurse to determine whether - * the match is affected by any exceptions. - */ + /* + * Process tokens one at a time. We have exhausted all possible matches + * when we reach an "EXCEPT" token or the end of the list. If we do find + * a match, look for an "EXCEPT" list and recurse to determine whether + * the match is affected by any exceptions. + */ - for (tok = strtok(list, sep); tok != 0; tok = strtok((char *) 0, sep)) { - if (strcasecmp(tok, "EXCEPT") == 0) /* EXCEPT: give up */ - break; - if ((match = (*match_fn) (tok, item))) /* YES */ - break; - } - /* Process exceptions to matches. */ + for (tok = strtok (list, sep); tok != 0; + tok = strtok ((char *) 0, sep)) { + if (strcasecmp (tok, "EXCEPT") == 0) /* EXCEPT: give up */ + break; + if ((match = (*match_fn) (tok, item))) /* YES */ + break; + } + /* Process exceptions to matches. */ - if (match != NO) { - while ((tok = strtok((char *) 0, sep)) && strcasecmp(tok, "EXCEPT")) - /* VOID */ ; - if (tok == 0 || list_match((char *) 0, item, match_fn) == NO) - return (match); - } - return (NO); + if (match != NO) { + while ((tok = strtok ((char *) 0, sep)) + && strcasecmp (tok, "EXCEPT")) + /* VOID */ ; + if (tok == 0 + || list_match ((char *) 0, item, match_fn) == NO) + return (match); + } + return (NO); } /* myhostname - figure out local machine name */ -static char * -myhostname(void) +static char *myhostname (void) { - static char name[MAXHOSTNAMELEN + 1] = ""; + static char name[MAXHOSTNAMELEN + 1] = ""; - if (name[0] == 0) { - gethostname(name, sizeof(name)); - name[MAXHOSTNAMELEN] = 0; - } - return (name); + if (name[0] == 0) { + gethostname (name, sizeof (name)); + name[MAXHOSTNAMELEN] = 0; + } + return (name); } /* netgroup_match - match group against machine or user */ static int -netgroup_match(const char *group, const char *machine, const char *user) +netgroup_match (const char *group, const char *machine, const char *user) { -#if 0 /* original code */ -#ifdef NIS - static char *mydomain = 0; - - if (mydomain == 0) - yp_get_default_domain(&mydomain); - return (innetgr(group, machine, user, mydomain)); -#else - syslog(LOG_ERR, "NIS netgroup support not configured"); - return (NO); -#endif -#else /* works better with glibc? */ static char *mydomain = 0; if (mydomain == 0) { - static char domain[MAXHOSTNAMELEN+1]; + static char domain[MAXHOSTNAMELEN + 1]; - getdomainname(domain, MAXHOSTNAMELEN); + getdomainname (domain, MAXHOSTNAMELEN); mydomain = domain; } - return innetgr(group, machine, user, mydomain); -#endif + return innetgr (group, machine, user, mydomain); } /* user_match - match a username against one token */ -static int -user_match(const char *tok, const char *string) +static int user_match (const char *tok, const char *string) { - struct group *group; + struct group *group; + #ifdef PRIMARY_GROUP_MATCH - struct passwd *userinf; + struct passwd *userinf; #endif - int i; - char *at; + int i; + char *at; - /* - * If a token has the magic value "ALL" the match always succeeds. - * Otherwise, return YES if the token fully matches the username, or if - * the token is a group that contains the username. - */ - - if ((at = strchr(tok + 1, '@')) != 0) { /* split user@host pattern */ - *at = 0; - return (user_match(tok, string) && from_match(at + 1, myhostname())); - } else if (tok[0] == '@') { /* netgroup */ - return (netgroup_match(tok + 1, (char *) 0, string)); - } else if (string_match(tok, string)) { /* ALL or exact match */ - return (YES); - } else if ((group = getgrnam(tok))) { /* try group membership */ - for (i = 0; group->gr_mem[i]; i++) - if (strcasecmp(string, group->gr_mem[i]) == 0) - return (YES); -#ifdef PRIMARY_GROUP_MATCH /* - * If the sting is an user whose initial GID matches the token, - * accept it. May avoid excessively long lines in /etc/group. - * Radu-Adrian Feurdean - * - * XXX - disabled by default for now. Need to verify that - * getpwnam() doesn't have some nasty side effects. --marekm + * If a token has the magic value "ALL" the match always succeeds. + * Otherwise, return YES if the token fully matches the username, or if + * the token is a group that contains the username. */ - if ((userinf = getpwnam(string))) - if (userinf->pw_gid == group->gr_gid) + + if ((at = strchr (tok + 1, '@')) != 0) { /* split user@host pattern */ + *at = 0; + return (user_match (tok, string) + && from_match (at + 1, myhostname ())); + } else if (tok[0] == '@') { /* netgroup */ + return (netgroup_match (tok + 1, (char *) 0, string)); + } else if (string_match (tok, string)) { /* ALL or exact match */ return (YES); + } else if ((group = getgrnam (tok))) { /* try group membership */ + for (i = 0; group->gr_mem[i]; i++) + if (strcasecmp (string, group->gr_mem[i]) == 0) + return (YES); +#ifdef PRIMARY_GROUP_MATCH + /* + * If the sting is an user whose initial GID matches the token, + * accept it. May avoid excessively long lines in /etc/group. + * Radu-Adrian Feurdean + * + * XXX - disabled by default for now. Need to verify that + * getpwnam() doesn't have some nasty side effects. --marekm + */ + if ((userinf = getpwnam (string))) + if (userinf->pw_gid == group->gr_gid) + return (YES); #endif - } - return (NO); + } + return (NO); } -static char * -resolve_hostname(string) - char *string; +static char *resolve_hostname (string) +char *string; { -#if 1 - /* - * Resolve hostname to numeric IP address, as suggested - * by Dave Hagewood . --marekm - */ - struct hostent *hp; + /* + * Resolve hostname to numeric IP address, as suggested + * by Dave Hagewood . --marekm + */ + struct hostent *hp; - hp = gethostbyname(string); - if (hp) - return inet_ntoa(*((struct in_addr *) *(hp->h_addr_list))); + hp = gethostbyname (string); + if (hp) + return + inet_ntoa (*((struct in_addr *) *(hp->h_addr_list))); - syslog(LOG_ERR, "%s - unknown host", string); -#endif - return string; + syslog (LOG_ERR, "%s - unknown host", string); + return string; } /* from_match - match a host or tty against a list of tokens */ -static int -from_match(const char *tok, const char *string) +static int from_match (const char *tok, const char *string) { - int tok_len; - int str_len; + int tok_len; + int str_len; - /* - * If a token has the magic value "ALL" the match always succeeds. Return - * YES if the token fully matches the string. If the token is a domain - * name, return YES if it matches the last fields of the string. If the - * token has the magic value "LOCAL", return YES if the string does not - * contain a "." character. If the token is a network number, return YES - * if it matches the head of the string. - */ + /* + * If a token has the magic value "ALL" the match always succeeds. Return + * YES if the token fully matches the string. If the token is a domain + * name, return YES if it matches the last fields of the string. If the + * token has the magic value "LOCAL", return YES if the string does not + * contain a "." character. If the token is a network number, return YES + * if it matches the head of the string. + */ - if (tok[0] == '@') { /* netgroup */ - return (netgroup_match(tok + 1, string, (char *) 0)); - } else if (string_match(tok, string)) { /* ALL or exact match */ - return (YES); - } else if (tok[0] == '.') { /* domain: match last fields */ - if ((str_len = strlen(string)) > (tok_len = strlen(tok)) - && strcasecmp(tok, string + str_len - tok_len) == 0) - return (YES); - } else if (strcasecmp(tok, "LOCAL") == 0) { /* local: no dots */ - if (strchr(string, '.') == 0) - return (YES); - } else if (tok[(tok_len = strlen(tok)) - 1] == '.' /* network */ - && strncmp(tok, resolve_hostname(string), tok_len) == 0) { - return (YES); - } - return (NO); + if (tok[0] == '@') { /* netgroup */ + return (netgroup_match (tok + 1, string, (char *) 0)); + } else if (string_match (tok, string)) { /* ALL or exact match */ + return (YES); + } else if (tok[0] == '.') { /* domain: match last fields */ + if ((str_len = strlen (string)) > (tok_len = strlen (tok)) + && strcasecmp (tok, string + str_len - tok_len) == 0) + return (YES); + } else if (strcasecmp (tok, "LOCAL") == 0) { /* local: no dots */ + if (strchr (string, '.') == 0) + return (YES); + } else if (tok[(tok_len = strlen (tok)) - 1] == '.' /* network */ + && strncmp (tok, resolve_hostname (string), + tok_len) == 0) { + return (YES); + } + return (NO); } /* string_match - match a string against one token */ -static int -string_match(const char *tok, const char *string) +static int string_match (const char *tok, const char *string) { - /* - * If the token has the magic value "ALL" the match always succeeds. - * Otherwise, return YES if the token fully matches the string. - */ + /* + * If the token has the magic value "ALL" the match always succeeds. + * Otherwise, return YES if the token fully matches the string. + */ - if (strcasecmp(tok, "ALL") == 0) { /* all: always matches */ - return (YES); - } else if (strcasecmp(tok, string) == 0) { /* try exact match */ - return (YES); - } - return (NO); + if (strcasecmp (tok, "ALL") == 0) { /* all: always matches */ + return (YES); + } else if (strcasecmp (tok, string) == 0) { /* try exact match */ + return (YES); + } + return (NO); } -#endif /* LOGIN_ACCESS */ +#endif /* LOGIN_ACCESS */ diff --git a/libmisc/login_desrpc.c b/libmisc/login_desrpc.c index 9767b406..80411853 100644 --- a/libmisc/login_desrpc.c +++ b/libmisc/login_desrpc.c @@ -23,55 +23,52 @@ #ifdef DES_RPC #include "rcsid.h" -RCSID("$Id: login_desrpc.c,v 1.7 1999/06/07 16:40:44 marekm Exp $") - +RCSID ("$Id: login_desrpc.c,v 1.8 2003/04/22 10:59:22 kloczek Exp $") #include "defines.h" - - /* - * Decrypt the user's secret secure RPC key and stores it into the - * keyserver. Returns 0 if successful, -1 on failure. - * - * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. - */ - + /* + * Decrypt the user's secret secure RPC key and stores it into the + * keyserver. Returns 0 if successful, -1 on failure. + * + * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. + */ #include #include #include - #if !(defined __GLIBC__ && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 0))) /* these don't seem to be in any header file (libc-5.4.33) */ /* but will be in glibc 2.1 and */ -extern int getnetname(char *); -extern int getsecretkey(const char *, char *, const char *); -extern int key_setsecret(const char *); +extern int getnetname (char *); +extern int getsecretkey (const char *, char *, const char *); +extern int key_setsecret (const char *); #endif -int -login_desrpc(const char *passwd) +int login_desrpc (const char *passwd) { char netname[MAXNETNAMELEN + 1]; char secretkey[HEXKEYBYTES + 1]; - if (getnetname(netname) == 0) + if (getnetname (netname) == 0) return -1; - if (getsecretkey(netname, secretkey, passwd) == 0) + if (getsecretkey (netname, secretkey, passwd) == 0) return -1; if (secretkey[0] == 0) { - fprintf(stderr, - _("Password does not decrypt secret key for %s.\n"), - netname); + fprintf (stderr, + _ + ("Password does not decrypt secret key for %s.\n"), + netname); return -1; } - if (key_setsecret(secretkey) < 0) { - fprintf(stderr, - _("Could not set %s's secret key: is the keyserv daemon running?\n"), - netname); + if (key_setsecret (secretkey) < 0) { + fprintf (stderr, + _ + ("Could not set %s's secret key: is the keyserv daemon running?\n"), + netname); return -1; } return 0; } #else -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int errno; /* warning: ANSI C forbids an empty source file */ #endif diff --git a/libmisc/login_krb.c b/libmisc/login_krb.c index 001a2163..93ca578f 100644 --- a/libmisc/login_krb.c +++ b/libmisc/login_krb.c @@ -23,39 +23,36 @@ #ifdef KERBEROS #include "rcsid.h" -RCSID("$Id: login_krb.c,v 1.3 1998/01/29 23:22:34 marekm Exp $") - +RCSID ("$Id: login_krb.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $") #include - - /* - * Do an equivalent to kinit here. We need to do the kinit before trying to - * cd to the home directory, because it might be on a remote filesystem that - * uses Kerberos authentication. We also need to do this after we've - * setuid() to the user, or krb_get_pw_in_tkt() won't know where to put the - * ticket. - * - * We don't really care about whether or not it succeeds; if it fails, we'll - * just carry on bravely. - * - * NB: we assume: local realm, same username and password as supplied to login. - * - * Security note: if pp is NULL, login doesn't have the password. This is - * common when it's called by rlogind. Since this is almost always a remote - * connection, we don't want to risk asking for the password by supplying a - * NULL pp to krb_get_pw_in_tkt(), because somebody could be listening. So - * we'll just forget the whole thing. -jdd - */ - -int -login_kerberos(const char *username, const char *password) + /* + * Do an equivalent to kinit here. We need to do the kinit before trying to + * cd to the home directory, because it might be on a remote filesystem that + * uses Kerberos authentication. We also need to do this after we've + * setuid() to the user, or krb_get_pw_in_tkt() won't know where to put the + * ticket. + * + * We don't really care about whether or not it succeeds; if it fails, we'll + * just carry on bravely. + * + * NB: we assume: local realm, same username and password as supplied to login. + * + * Security note: if pp is NULL, login doesn't have the password. This is + * common when it's called by rlogind. Since this is almost always a remote + * connection, we don't want to risk asking for the password by supplying a + * NULL pp to krb_get_pw_in_tkt(), because somebody could be listening. So + * we'll just forget the whole thing. -jdd + */ +int login_kerberos (const char *username, const char *password) { - char realm[REALM_SZ]; + char realm[REALM_SZ]; - (void) krb_get_lrealm(realm, 1); - if (password != 0) - (void) krb_get_pw_in_tkt(username, "", realm, "krbtgt", - realm, DEFAULT_TKT_LIFE, password); + (void) krb_get_lrealm (realm, 1); + if (password != 0) + (void) krb_get_pw_in_tkt (username, "", realm, "krbtgt", + realm, DEFAULT_TKT_LIFE, + password); } #else -extern int errno; /* warning: ANSI C forbids an empty source file */ -#endif /* KERBEROS */ +extern int errno; /* warning: ANSI C forbids an empty source file */ +#endif /* KERBEROS */ diff --git a/libmisc/loginprompt.c b/libmisc/loginprompt.c index abe81d3a..5863259f 100644 --- a/libmisc/loginprompt.c +++ b/libmisc/loginprompt.c @@ -30,19 +30,16 @@ #include #include "rcsid.h" -RCSID("$Id: loginprompt.c,v 1.6 2000/08/26 18:27:17 marekm Exp $") - +RCSID ("$Id: loginprompt.c,v 1.7 2003/04/22 10:59:22 kloczek Exp $") #include #include #include #include "prototypes.h" #include "defines.h" #include "getdef.h" - -static void -login_exit(int sig) +static void login_exit (int sig) { - exit(1); + exit (1); } /* @@ -52,19 +49,20 @@ login_exit(int sig) * is set in login.defs, this file is displayed before the prompt. */ -void -login_prompt(const char *prompt, char *name, int namesize) +void login_prompt (const char *prompt, char *name, int namesize) { - char buf[1024]; + char buf[1024]; + #define MAX_ENV 32 - char *envp[MAX_ENV]; - int envc; - char *cp; - int i; - FILE *fp; - RETSIGTYPE (*sigquit)(int); + char *envp[MAX_ENV]; + int envc; + char *cp; + int i; + FILE *fp; + + RETSIGTYPE (*sigquit) (int); #ifdef SIGTSTP - RETSIGTYPE (*sigtstp)(int); + RETSIGTYPE (*sigtstp) (int); #endif /* @@ -74,9 +72,9 @@ login_prompt(const char *prompt, char *name, int namesize) * thing for that signal. */ - sigquit = signal(SIGQUIT, login_exit); + sigquit = signal (SIGQUIT, login_exit); #ifdef SIGTSTP - sigtstp = signal(SIGTSTP, login_exit); + sigtstp = signal (SIGTSTP, login_exit); #endif /* @@ -85,16 +83,16 @@ login_prompt(const char *prompt, char *name, int namesize) */ if (prompt) { - cp = getdef_str("ISSUE_FILE"); - if (cp && (fp = fopen(cp, "r"))) { - while ((i = getc(fp)) != EOF) - putc(i, stdout); + cp = getdef_str ("ISSUE_FILE"); + if (cp && (fp = fopen (cp, "r"))) { + while ((i = getc (fp)) != EOF) + putc (i, stdout); - fclose(fp); + fclose (fp); } - gethostname(buf, sizeof buf); - printf(prompt, buf); - fflush(stdout); + gethostname (buf, sizeof buf); + printf (prompt, buf); + fflush (stdout); } /* @@ -102,14 +100,14 @@ login_prompt(const char *prompt, char *name, int namesize) * removed. */ - memzero(buf, sizeof buf); - if (fgets(buf, sizeof buf, stdin) != buf) - exit(1); + memzero (buf, sizeof buf); + if (fgets (buf, sizeof buf, stdin) != buf) + exit (1); - cp = strchr(buf, '\n'); + cp = strchr (buf, '\n'); if (!cp) - exit(1); - *cp = '\0'; /* remove \n [ must be there ] */ + exit (1); + *cp = '\0'; /* remove \n [ must be there ] */ /* * Skip leading whitespace. This makes " username" work right. @@ -117,12 +115,10 @@ login_prompt(const char *prompt, char *name, int namesize) * character into the username. */ - for (cp = buf;*cp == ' ' || *cp == '\t';cp++) - ; + for (cp = buf; *cp == ' ' || *cp == '\t'; cp++); - for (i = 0; i < namesize - 1 && isgraph(*cp); name[i++] = *cp++) - ; - while (isgraph(*cp)) + for (i = 0; i < namesize - 1 && isgraph (*cp); name[i++] = *cp++); + while (isgraph (*cp)) cp++; if (*cp) @@ -136,30 +132,31 @@ login_prompt(const char *prompt, char *name, int namesize) * to do this, and I just take the easy way out. */ - if (*cp != '\0') { /* process new variables */ + if (*cp != '\0') { /* process new variables */ char *nvar; int count = 1; for (envc = 0; envc < MAX_ENV; envc++) { - nvar = strtok(envc ? (char *)0 : cp, " \t,"); + nvar = strtok (envc ? (char *) 0 : cp, " \t,"); if (!nvar) break; - if (strchr(nvar, '=')) { + if (strchr (nvar, '=')) { envp[envc] = nvar; } else { - envp[envc] = xmalloc(strlen(nvar) + 32); - sprintf(envp[envc], "L%d=%s", count++, nvar); + envp[envc] = xmalloc (strlen (nvar) + 32); + sprintf (envp[envc], "L%d=%s", count++, + nvar); } } - set_env(envc, envp); + set_env (envc, envp); } /* * Set the SIGQUIT handler back to its original value */ - signal(SIGQUIT, sigquit); + signal (SIGQUIT, sigquit); #ifdef SIGTSTP - signal(SIGTSTP, sigtstp); + signal (SIGTSTP, sigtstp); #endif } diff --git a/libmisc/mail.c b/libmisc/mail.c index 7b24e974..111752c2 100644 --- a/libmisc/mail.c +++ b/libmisc/mail.c @@ -37,43 +37,41 @@ #include "getdef.h" #include "rcsid.h" -RCSID("$Id: mail.c,v 1.7 1998/12/28 20:34:49 marekm Exp $") +RCSID ("$Id: mail.c,v 1.8 2003/04/22 10:59:22 kloczek Exp $") -void -mailcheck(void) +void mailcheck (void) { struct stat statbuf; char *mailbox; - if (!getdef_bool("MAIL_CHECK_ENAB")) + if (!getdef_bool ("MAIL_CHECK_ENAB")) return; /* * Check incoming mail in Maildir format - J. */ - if ((mailbox = getenv("MAILDIR"))) { + if ((mailbox = getenv ("MAILDIR"))) { char *newmail; - newmail = xmalloc(strlen(mailbox) + 5); - sprintf(newmail, "%s/new", mailbox); - if (stat(newmail, &statbuf) != -1 && statbuf.st_size != 0) { + newmail = xmalloc (strlen (mailbox) + 5); + sprintf (newmail, "%s/new", mailbox); + if (stat (newmail, &statbuf) != -1 && statbuf.st_size != 0) { if (statbuf.st_mtime > statbuf.st_atime) { - free(newmail); - puts(_("You have new mail.")); + free (newmail); + puts (_("You have new mail.")); return; } } - free(newmail); + free (newmail); } - if (!(mailbox = getenv("MAIL"))) + if (!(mailbox = getenv ("MAIL"))) return; - if (stat(mailbox, &statbuf) == -1 || statbuf.st_size == 0) - puts(_("No mail.")); + if (stat (mailbox, &statbuf) == -1 || statbuf.st_size == 0) + puts (_("No mail.")); else if (statbuf.st_atime > statbuf.st_mtime) - puts(_("You have mail.")); + puts (_("You have mail.")); else - puts(_("You have new mail.")); + puts (_("You have new mail.")); } - diff --git a/libmisc/motd.c b/libmisc/motd.c index 0ff6973e..2d47f3b7 100644 --- a/libmisc/motd.c +++ b/libmisc/motd.c @@ -30,13 +30,11 @@ #include #include "rcsid.h" -RCSID("$Id: motd.c,v 1.3 1997/12/07 23:27:07 marekm Exp $") - +RCSID ("$Id: motd.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $") #include #include "prototypes.h" #include "defines.h" #include "getdef.h" - /* * motd -- output the /etc/motd file * @@ -44,22 +42,21 @@ RCSID("$Id: motd.c,v 1.3 1997/12/07 23:27:07 marekm Exp $") * it to the user's terminal at login time. The MOTD_FILE configuration * option is a colon-delimited list of filenames. */ - -void -motd(void) +void motd (void) { - FILE *fp; - char motdlist[BUFSIZ], *motdfile, *mb; - register int c; + FILE *fp; + char motdlist[BUFSIZ], *motdfile, *mb; + register int c; - if ((mb = getdef_str("MOTD_FILE")) == NULL) + if ((mb = getdef_str ("MOTD_FILE")) == NULL) return; - strncpy(motdlist, mb, sizeof(motdlist)); - motdlist[sizeof(motdlist)-1] = '\0'; + strncpy (motdlist, mb, sizeof (motdlist)); + motdlist[sizeof (motdlist) - 1] = '\0'; - for (mb = motdlist ; (motdfile = strtok(mb,":")) != NULL ; mb = NULL) { - if ((fp = fopen(motdfile, "r")) != NULL) { + for (mb = motdlist; (motdfile = strtok (mb, ":")) != NULL; + mb = NULL) { + if ((fp = fopen (motdfile, "r")) != NULL) { while ((c = getc (fp)) != EOF) putchar (c); fclose (fp); diff --git a/libmisc/myname.c b/libmisc/myname.c index 66e80e56..bd6d9caa 100644 --- a/libmisc/myname.c +++ b/libmisc/myname.c @@ -11,18 +11,15 @@ #include #include "rcsid.h" -RCSID("$Id: myname.c,v 1.2 1997/12/07 23:27:07 marekm Exp $") - +RCSID ("$Id: myname.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $") #include "defines.h" #include #include "prototypes.h" - -struct passwd * -get_my_pwent(void) +struct passwd *get_my_pwent (void) { struct passwd *pw; - const char *cp = getlogin(); - uid_t ruid = getuid(); + const char *cp = getlogin (); + uid_t ruid = getuid (); /* * Try getlogin() first - if it fails or returns a non-existent @@ -34,8 +31,8 @@ get_my_pwent(void) * XXX - when running from su, will return the current user (not * the original user, like getlogin() does). Does this matter? */ - if (cp && *cp && (pw = getpwnam(cp)) && pw->pw_uid == ruid) + if (cp && *cp && (pw = getpwnam (cp)) && pw->pw_uid == ruid) return pw; - return getpwuid(ruid); + return getpwuid (ruid); } diff --git a/libmisc/nscd.c b/libmisc/nscd.c deleted file mode 100644 index c6862726..00000000 --- a/libmisc/nscd.c +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright (c) 1999 SuSE GmbH Nuerenberg, Germany - Author: Thorsten Kukuk */ - -#include -#include -#include -#include -#include -#include -#include -#include - -/* Version number of the daemon interface */ -#define NSCD_VERSION 2 -/* Path for the Unix domain socket. */ -#define _PATH_NSCDSOCKET "/var/run/.nscd_socket" - -/* Available services. */ -typedef enum -{ - GETPWBYNAME, - GETPWBYUID, - GETGRBYNAME, - GETGRBYGID, - GETHOSTBYNAME, - GETHOSTBYNAMEv6, - GETHOSTBYADDR, - GETHOSTBYADDRv6, - LASTDBREQ = GETHOSTBYADDRv6, - SHUTDOWN, /* Shut the server down. */ - GETSTAT, /* Get the server statistic. */ - INVALIDATE, /* Invalidate one special cache. */ - LASTREQ -} request_type; - -/* Header common to all requests */ -typedef struct -{ - int version; /* Version number of the daemon interface. */ - request_type type; /* Service requested. */ -#if defined(__alpha__) - int64_t key_len; /* Key length is 64bit on Alpha. */ -#else - int32_t key_len; /* Key length, 32bit on most plattforms. */ -#endif -} request_header; - -/* Create a socket connected to a name. */ -static int -nscd_open_socket (void) -{ - struct sockaddr_un addr; - int sock; - - sock = socket (PF_UNIX, SOCK_STREAM, 0); - if (sock < 0) - return -1; - - addr.sun_family = AF_UNIX; - assert (sizeof (addr.sun_path) >= sizeof (_PATH_NSCDSOCKET)); - strcpy (addr.sun_path, _PATH_NSCDSOCKET); - if (connect (sock, (struct sockaddr *) &addr, sizeof (addr)) < 0) - { - close (sock); - return -1; - } - - return sock; -} - -int -nscd_flush_cache (char *service) -{ - int sock = nscd_open_socket (); - request_header req; - ssize_t nbytes; - - if (sock == -1) - return -1; - - req.version = NSCD_VERSION; - req.type = INVALIDATE; - req.key_len = strlen (service) + 1; - nbytes = write (sock, &req, sizeof (request_header)); - if (nbytes != sizeof (request_header)) - { - close (sock); - return -1; - } - - nbytes = write (sock, (void *)service, req.key_len); - - close (sock); - return (nbytes != req.key_len ? (-1) : 0); -} diff --git a/libmisc/obscure.c b/libmisc/obscure.c index 845bd264..e3f8ee28 100644 --- a/libmisc/obscure.c +++ b/libmisc/obscure.c @@ -30,34 +30,28 @@ #include #include "rcsid.h" -RCSID("$Id: obscure.c,v 1.9 1999/03/07 19:14:40 marekm Exp $") +RCSID ("$Id: obscure.c,v 1.11 2003/05/05 21:44:15 kloczek Exp $") /* * This version of obscure.c contains modifications to support "cracklib" * by Alec Muffet (alec.muffett@uk.sun.com). You must obtain the Cracklib * library source code for this function to operate. */ - #include #include #include "prototypes.h" #include "defines.h" - #include "getdef.h" - /* * can't be a palindrome - like `R A D A R' or `M A D A M' */ - -/*ARGSUSED*/ -static int -palindrome(const char *old, const char *new) + /*ARGSUSED*/ static int palindrome (const char *old, const char *new) { - int i, j; + int i, j; i = strlen (new); - for (j = 0;j < i;j++) + for (j = 0; j < i; j++) if (new[i - j - 1] != new[j]) return 0; @@ -68,9 +62,7 @@ palindrome(const char *old, const char *new) * more than half of the characters are different ones. */ -/*ARGSUSED*/ -static int -similar(const char *old, const char *new) + /*ARGSUSED*/ static int similar (const char *old, const char *new) { int i, j; @@ -80,11 +72,11 @@ similar(const char *old, const char *new) * the new password is long enough. Please feel free to suggest * something better... --marekm */ - if (strlen(new) >= 8) + if (strlen (new) >= 8) return 0; for (i = j = 0; new[i] && old[i]; i++) - if (strchr(new, old[i])) + if (strchr (new, old[i])) j++; if (i >= j * 2) @@ -97,18 +89,16 @@ similar(const char *old, const char *new) * a nice mix of characters. */ -/*ARGSUSED*/ -static int -simple(const char *old, const char *new) + /*ARGSUSED*/ static int simple (const char *old, const char *new) { - int digits = 0; - int uppers = 0; - int lowers = 0; - int others = 0; - int size; - int i; + int digits = 0; + int uppers = 0; + int lowers = 0; + int others = 0; + int size; + int i; - for (i = 0;new[i];i++) { + for (i = 0; new[i]; i++) { if (isdigit (new[i])) digits++; else if (isupper (new[i])) @@ -125,10 +115,14 @@ simple(const char *old, const char *new) */ size = 9; - if (digits) size--; - if (uppers) size--; - if (lowers) size--; - if (others) size--; + if (digits) + size--; + if (uppers) + size--; + if (lowers) + size--; + if (others) + size--; if (size <= i) return 0; @@ -136,52 +130,53 @@ simple(const char *old, const char *new) return 1; } -static char * -str_lower(char *string) +static char *str_lower (char *string) { char *cp; for (cp = string; *cp; cp++) - *cp = tolower(*cp); + *cp = tolower (*cp); return string; } -static const char * -password_check(const char *old, const char *new, const struct passwd *pwdp) +static const char *password_check (const char *old, const char *new, + const struct passwd *pwdp) { const char *msg = NULL; char *oldmono, *newmono, *wrapped; + #ifdef HAVE_LIBCRACK char *dictpath; + #ifdef HAVE_LIBCRACK_PW - char *FascistCheckPw(); + char *FascistCheckPw (); #else - char *FascistCheck(); + char *FascistCheck (); #endif #endif - if (strcmp(new, old) == 0) + if (strcmp (new, old) == 0) return "no change"; - newmono = str_lower(xstrdup(new)); - oldmono = str_lower(xstrdup(old)); - wrapped = xmalloc(strlen(oldmono) * 2 + 1); + newmono = str_lower (xstrdup (new)); + oldmono = str_lower (xstrdup (old)); + wrapped = xmalloc (strlen (oldmono) * 2 + 1); strcpy (wrapped, oldmono); strcat (wrapped, oldmono); - if (palindrome(oldmono, newmono)) + if (palindrome (oldmono, newmono)) msg = "a palindrome"; - if (!msg && strcmp(oldmono, newmono) == 0) + if (!msg && strcmp (oldmono, newmono) == 0) msg = "case changes only"; - if (!msg && similar(oldmono, newmono)) + if (!msg && similar (oldmono, newmono)) msg = "too similar"; - if (!msg && simple(old, new)) + if (!msg && simple (old, new)) msg = "too simple"; - if (!msg && strstr(wrapped, newmono)) + if (!msg && strstr (wrapped, newmono)) msg = "rotated"; #ifdef HAVE_LIBCRACK @@ -189,49 +184,44 @@ password_check(const char *old, const char *new, const struct passwd *pwdp) * Invoke Alec Muffett's cracklib routines. */ - if (!msg && (dictpath = getdef_str("CRACKLIB_DICTPATH"))) + if (!msg && (dictpath = getdef_str ("CRACKLIB_DICTPATH"))) #ifdef HAVE_LIBCRACK_PW - msg = FascistCheckPw(new, dictpath, pwdp); + msg = FascistCheckPw (new, dictpath, pwdp); #else - msg = FascistCheck(new, dictpath); + msg = FascistCheck (new, dictpath); #endif #endif - strzero(newmono); - strzero(oldmono); - strzero(wrapped); - free(newmono); - free(oldmono); - free(wrapped); + strzero (newmono); + strzero (oldmono); + strzero (wrapped); + free (newmono); + free (oldmono); + free (wrapped); return msg; } -/*ARGSUSED*/ -static const char * -obscure_msg(const char *old, const char *new, const struct passwd *pwdp) + /*ARGSUSED*/ + static const char *obscure_msg (const char *old, const char *new, + const struct passwd *pwdp) { int maxlen, oldlen, newlen; char *new1, *old1; const char *msg; - oldlen = strlen(old); - newlen = strlen(new); + oldlen = strlen (old); + newlen = strlen (new); -#if 0 /* why not check the password when set for the first time? --marekm */ - if (old[0] == '\0') - return NULL; -#endif - - if ( newlen < getdef_num("PASS_MIN_LEN", 0) ) + if (newlen < getdef_num ("PASS_MIN_LEN", 0)) return "too short"; /* * Remaining checks are optional. */ - if (!getdef_bool("OBSCURE_CHECKS_ENAB")) + if (!getdef_bool ("OBSCURE_CHECKS_ENAB")) return NULL; - msg = password_check(old, new, pwdp); + msg = password_check (old, new, pwdp); if (msg) return msg; @@ -241,26 +231,26 @@ obscure_msg(const char *old, const char *new, const struct passwd *pwdp) Example: "password$%^&*123". So check it again, this time truncated to the maximum length. Idea from npasswd. --marekm */ - if (getdef_bool("MD5_CRYPT_ENAB")) - return NULL; /* unlimited password length */ + if (getdef_bool ("MD5_CRYPT_ENAB")) + return NULL; /* unlimited password length */ - maxlen = getdef_num("PASS_MAX_LEN", 8); + maxlen = getdef_num ("PASS_MAX_LEN", 8); if (oldlen <= maxlen && newlen <= maxlen) return NULL; - new1 = xstrdup(new); - old1 = xstrdup(old); + new1 = xstrdup (new); + old1 = xstrdup (old); if (newlen > maxlen) new1[maxlen] = '\0'; if (oldlen > maxlen) old1[maxlen] = '\0'; - msg = password_check(old1, new1, pwdp); + msg = password_check (old1, new1, pwdp); - memzero(new1, newlen); - memzero(old1, oldlen); - free(new1); - free(old1); + memzero (new1, newlen); + memzero (old1, oldlen); + free (new1); + free (old1); return msg; } @@ -273,14 +263,13 @@ obscure_msg(const char *old, const char *new, const struct passwd *pwdp) * check passwords. */ -int -obscure(const char *old, const char *new, const struct passwd *pwdp) +int obscure (const char *old, const char *new, const struct passwd *pwdp) { - const char *msg = obscure_msg(old, new, pwdp); + const char *msg = obscure_msg (old, new, pwdp); + if (msg) { - printf(_("Bad password: %s. "), msg); + printf (_("Bad password: %s. "), msg); return 0; } return 1; } - diff --git a/libmisc/pam_pass.c b/libmisc/pam_pass.c index 68297aa4..dfd8bdff 100644 --- a/libmisc/pam_pass.c +++ b/libmisc/pam_pass.c @@ -3,7 +3,7 @@ #ifdef USE_PAM #include "rcsid.h" -RCSID("$Id: pam_pass.c,v 1.7 2001/06/28 20:47:06 kloczek Exp $") +RCSID ("$Id: pam_pass.c,v 1.9 2003/07/29 09:05:39 kloczek Exp $") /* * Change the user's password using PAM. Requires libpam and libpam_misc @@ -11,23 +11,18 @@ RCSID("$Id: pam_pass.c,v 1.7 2001/06/28 20:47:06 kloczek Exp $") * so you may have to port it if you want to use this code on non-Linux * systems with PAM (such as Solaris 2.6). --marekm */ - #include #include #include #include - #include "defines.h" - #include "pam_defs.h" - static const struct pam_conv conv = { misc_conv, NULL }; -void -do_pam_passwd(const char *user, int silent, int change_expired) +void do_pam_passwd (const char *user, int silent, int change_expired) { pam_handle_t *pamh = NULL; int flags = 0, ret; @@ -37,22 +32,24 @@ do_pam_passwd(const char *user, int silent, int change_expired) if (change_expired) flags |= PAM_CHANGE_EXPIRED_AUTHTOK; - ret = pam_start("passwd", user, &conv, &pamh); + ret = pam_start ("passwd", user, &conv, &pamh); if (ret != PAM_SUCCESS) { - fprintf(stderr, _("passwd: pam_start() failed, error %d\n"), - ret); - exit(10); /* XXX */ + fprintf (stderr, + _("passwd: pam_start() failed, error %d\n"), ret); + exit (10); /* XXX */ } - ret = pam_chauthtok(pamh, flags); + ret = pam_chauthtok (pamh, flags); if (ret != PAM_SUCCESS) { - fprintf(stderr, _("passwd: %s\n"), pam_strerror(pamh, ret)); - pam_end(pamh, ret); - exit(10); /* XXX */ + fprintf (stderr, _("passwd: %s\n"), + pam_strerror (pamh, ret)); + pam_end (pamh, ret); + exit (10); /* XXX */ } - pam_end(pamh, PAM_SUCCESS); + fputs(_("passwd: password updated successfully\n"), stderr); + pam_end (pamh, PAM_SUCCESS); } -#else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ -#endif /* !USE_PAM */ +#else /* !USE_PAM */ +extern int errno; /* warning: ANSI C forbids an empty source file */ +#endif /* !USE_PAM */ diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c index e53d96ab..ee1c675d 100644 --- a/libmisc/pwd2spwd.c +++ b/libmisc/pwd2spwd.c @@ -32,14 +32,12 @@ #ifdef SHADOWPWD #include "rcsid.h" -RCSID("$Id: pwd2spwd.c,v 1.3 1997/12/07 23:27:07 marekm Exp $") - +RCSID ("$Id: pwd2spwd.c,v 1.5 2003/05/03 16:14:34 kloczek Exp $") #include #include "prototypes.h" #include "defines.h" #include - -extern time_t time (); +extern time_t time (); /* * pwd_to_spwd - create entries for new spwd structure @@ -48,8 +46,7 @@ extern time_t time (); * information in the pointed-to (struct passwd). */ -struct spwd * -pwd_to_spwd(const struct passwd *pw) +struct spwd *pwd_to_spwd (const struct passwd *pw) { static struct spwd sp; @@ -60,33 +57,13 @@ pwd_to_spwd(const struct passwd *pw) sp.sp_namp = pw->pw_name; sp.sp_pwdp = pw->pw_passwd; -#ifdef ATT_AGE - /* - * AT&T-style password aging maps the sp_min, sp_max, and - * sp_lstchg information from the pw_age field, which appears - * after the encrypted password. - */ - if (pw->pw_age[0]) { - sp.sp_max = (c64i(pw->pw_age[0]) * WEEK) / SCALE; - - if (pw->pw_age[1]) - sp.sp_min = (c64i(pw->pw_age[1]) * WEEK) / SCALE; - else - sp.sp_min = (10000L * DAY) / SCALE; - - if (pw->pw_age[1] && pw->pw_age[2]) - sp.sp_lstchg = (a64l(pw->pw_age + 2) * WEEK) / SCALE; - else - sp.sp_lstchg = time((time_t *) 0) / SCALE; - } else -#endif { /* * Defaults used if there is no pw_age information. */ sp.sp_min = 0; sp.sp_max = (10000L * DAY) / SCALE; - sp.sp_lstchg = time((time_t *) 0) / SCALE; + sp.sp_lstchg = time ((time_t *) 0) / SCALE; } /* @@ -100,4 +77,4 @@ pwd_to_spwd(const struct passwd *pw) return &sp; } -#endif /* SHADOWPWD */ +#endif /* SHADOWPWD */ diff --git a/libmisc/pwd_init.c b/libmisc/pwd_init.c index e09f02bd..6930ae46 100644 --- a/libmisc/pwd_init.c +++ b/libmisc/pwd_init.c @@ -2,72 +2,67 @@ #include #include "rcsid.h" -RCSID("$Id: pwd_init.c,v 1.1 1997/12/07 23:27:07 marekm Exp $") - +RCSID ("$Id: pwd_init.c,v 1.2 2003/04/22 10:59:22 kloczek Exp $") #include "defines.h" #include #include #include - #ifdef HAVE_SYS_RESOURCE_H #include #endif - /* * pwd_init - ignore signals, and set resource limits to safe * values. Call this before modifying password files, so that * it is less likely to fail in the middle of operation. */ -void -pwd_init(void) +void pwd_init (void) { #ifdef HAVE_SYS_RESOURCE_H struct rlimit rlim; #ifdef RLIMIT_CORE rlim.rlim_cur = rlim.rlim_max = 0; - setrlimit(RLIMIT_CORE, &rlim); + setrlimit (RLIMIT_CORE, &rlim); #endif rlim.rlim_cur = rlim.rlim_max = RLIM_INFINITY; #ifdef RLIMIT_AS - setrlimit(RLIMIT_AS, &rlim); + setrlimit (RLIMIT_AS, &rlim); #endif #ifdef RLIMIT_CPU - setrlimit(RLIMIT_CPU, &rlim); + setrlimit (RLIMIT_CPU, &rlim); #endif #ifdef RLIMIT_DATA - setrlimit(RLIMIT_DATA, &rlim); + setrlimit (RLIMIT_DATA, &rlim); #endif #ifdef RLIMIT_FSIZE - setrlimit(RLIMIT_FSIZE, &rlim); + setrlimit (RLIMIT_FSIZE, &rlim); #endif #ifdef RLIMIT_NOFILE - setrlimit(RLIMIT_NOFILE, &rlim); + setrlimit (RLIMIT_NOFILE, &rlim); #endif #ifdef RLIMIT_RSS - setrlimit(RLIMIT_RSS, &rlim); + setrlimit (RLIMIT_RSS, &rlim); #endif #ifdef RLIMIT_STACK - setrlimit(RLIMIT_STACK, &rlim); + setrlimit (RLIMIT_STACK, &rlim); #endif -#else /* !HAVE_SYS_RESOURCE_H */ - set_filesize_limit(30000); +#else /* !HAVE_SYS_RESOURCE_H */ + set_filesize_limit (30000); /* don't know how to set the other limits... */ -#endif /* !HAVE_SYS_RESOURCE_H */ +#endif /* !HAVE_SYS_RESOURCE_H */ - signal(SIGALRM, SIG_IGN); - signal(SIGHUP, SIG_IGN); - signal(SIGINT, SIG_IGN); - signal(SIGPIPE, SIG_IGN); - signal(SIGQUIT, SIG_IGN); - signal(SIGTERM, SIG_IGN); + signal (SIGALRM, SIG_IGN); + signal (SIGHUP, SIG_IGN); + signal (SIGINT, SIG_IGN); + signal (SIGPIPE, SIG_IGN); + signal (SIGQUIT, SIG_IGN); + signal (SIGTERM, SIG_IGN); #ifdef SIGTSTP - signal(SIGTSTP, SIG_IGN); + signal (SIGTSTP, SIG_IGN); #endif #ifdef SIGTTOU - signal(SIGTTOU, SIG_IGN); + signal (SIGTTOU, SIG_IGN); #endif - - umask(077); -} + umask (077); +} diff --git a/libmisc/pwdcheck.c b/libmisc/pwdcheck.c index 1de0125e..e676c30d 100644 --- a/libmisc/pwdcheck.c +++ b/libmisc/pwdcheck.c @@ -1,69 +1,62 @@ #include #include "rcsid.h" -RCSID("$Id: pwdcheck.c,v 1.1 2000/10/15 17:07:26 kloczek Exp $") - +RCSID ("$Id: pwdcheck.c,v 1.2 2003/04/22 10:59:22 kloczek Exp $") #include "prototypes.h" #include "defines.h" - #include #include "pwauth.h" - #ifdef HAVE_SHADOW_H #include #endif - #ifdef USE_PAM #include "pam_defs.h" #endif - #define WRONGPWD2 "incorrect password for `%s'" - void -passwd_check(const char *user, const char *passwd, const char *progname) +passwd_check (const char *user, const char *passwd, const char *progname) { #ifdef USE_PAM pam_handle_t *pamh = NULL; int retcode; struct pam_conv conv = { misc_conv, NULL }; - if (pam_start(progname, user, &conv, &pamh)) { -bailout: - SYSLOG((LOG_WARN, WRONGPWD2, user)); - sleep(1); - fprintf(stderr, _("Incorrect password for %s.\n"), user); - exit(1); + if (pam_start (progname, user, &conv, &pamh)) { + bailout: + SYSLOG ((LOG_WARN, WRONGPWD2, user)); + sleep (1); + fprintf (stderr, _("Incorrect password for %s.\n"), user); + exit (1); } - if (pam_authenticate(pamh, 0)) + if (pam_authenticate (pamh, 0)) goto bailout; - retcode = pam_acct_mgmt(pamh, 0); + retcode = pam_acct_mgmt (pamh, 0); if (retcode == PAM_NEW_AUTHTOK_REQD) { - retcode = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK); + retcode = pam_chauthtok (pamh, PAM_CHANGE_EXPIRED_AUTHTOK); } else if (retcode) goto bailout; - if (pam_setcred(pamh, 0)) + if (pam_setcred (pamh, 0)) goto bailout; /* no need to establish a session; this isn't a session-oriented * activity... */ -#else /* !USE_PAM */ +#else /* !USE_PAM */ #ifdef SHADOWPWD struct spwd *sp; - if ((sp = getspnam(user))) + if ((sp = getspnam (user))) passwd = sp->sp_pwdp; - endspent(); + endspent (); #endif - if (pw_auth(passwd, user, PW_LOGIN, (char *) 0) != 0) { - SYSLOG((LOG_WARN, WRONGPWD2, user)); - sleep(1); - fprintf(stderr, _("Incorrect password for %s.\n"), user); - exit(1); + if (pw_auth (passwd, user, PW_LOGIN, (char *) 0) != 0) { + SYSLOG ((LOG_WARN, WRONGPWD2, user)); + sleep (1); + fprintf (stderr, _("Incorrect password for %s.\n"), user); + exit (1); } -#endif /* !USE_PAM */ +#endif /* !USE_PAM */ } - diff --git a/libmisc/rlogin.c b/libmisc/rlogin.c index d79cc1d9..b266e4f7 100644 --- a/libmisc/rlogin.c +++ b/libmisc/rlogin.c @@ -32,92 +32,105 @@ #ifdef RLOGIN #include "rcsid.h" -RCSID("$Id: rlogin.c,v 1.5 1999/08/27 19:02:51 marekm Exp $") - +RCSID ("$Id: rlogin.c,v 1.6 2003/04/22 10:59:22 kloczek Exp $") #include "prototypes.h" #include "defines.h" - #include #include - -extern int ruserok(); +extern int ruserok (); static struct { - int spd_name; - int spd_baud; -} speed_table [] = { + int spd_name; + int spd_baud; +} speed_table[] = +{ #ifdef B50 - { B50, 50 }, + { + B50, 50}, #endif #ifdef B75 - { B75, 75 }, + { + B75, 75}, #endif #ifdef B110 - { B110, 110 }, + { + B110, 110}, #endif #ifdef B134 - { B134, 134 }, + { + B134, 134}, #endif #ifdef B150 - { B150, 150 }, + { + B150, 150}, #endif #ifdef B200 - { B200, 200 }, + { + B200, 200}, #endif #ifdef B300 - { B300, 300 }, + { + B300, 300}, #endif #ifdef B600 - { B600, 600 }, + { + B600, 600}, #endif #ifdef B1200 - { B1200, 1200 }, + { + B1200, 1200}, #endif #ifdef B1800 - { B1800, 1800 }, + { + B1800, 1800}, #endif #ifdef B2400 - { B2400, 2400 }, + { + B2400, 2400}, #endif #ifdef B4800 - { B4800, 4800 }, + { + B4800, 4800}, #endif #ifdef B9600 - { B9600, 9600 }, + { + B9600, 9600}, #endif #ifdef B19200 - { B19200, 19200 }, + { + B19200, 19200}, #endif #ifdef B38400 - { B38400, 38400 }, + { + B38400, 38400}, #endif - { -1, -1 } + { + -1, -1} }; -static void -get_remote_string(char *buf, int size) +static void get_remote_string (char *buf, int size) { for (;;) { if (read (0, buf, 1) != 1) - exit (1); + exit (1); if (*buf == '\0') return; if (--size > 0) ++buf; } - /*NOTREACHED*/ -} + /*NOTREACHED*/} int -do_rlogin(const char *remote_host, char *name, int namelen, char *term, int termlen) +do_rlogin (const char *remote_host, char *name, int namelen, char *term, + int termlen) { - struct passwd *pwd; - char remote_name[32]; - char *cp; - int remote_speed = 9600; - int speed_name = B9600; - int i; - TERMIO termio; + struct passwd *pwd; + char remote_name[32]; + char *cp; + int remote_speed = 9600; + int speed_name = B9600; + int i; + TERMIO termio; get_remote_string (remote_name, sizeof remote_name); get_remote_string (name, namelen); @@ -126,12 +139,11 @@ do_rlogin(const char *remote_host, char *name, int namelen, char *term, int term if ((cp = strchr (term, '/'))) { *cp++ = '\0'; - if (! (remote_speed = atoi (cp))) + if (!(remote_speed = atoi (cp))) remote_speed = 9600; } - for (i = 0;speed_table[i].spd_baud != remote_speed && - speed_table[i].spd_name != -1;i++) - ; + for (i = 0; speed_table[i].spd_baud != remote_speed && + speed_table[i].spd_name != -1; i++); if (speed_table[i].spd_name != -1) speed_name = speed_table[i].spd_name; @@ -140,18 +152,18 @@ do_rlogin(const char *remote_host, char *name, int namelen, char *term, int term * Put the terminal in cooked mode with echo turned on. */ - GTTY(0, &termio); - termio.c_iflag |= ICRNL|IXON; - termio.c_oflag |= OPOST|ONLCR; - termio.c_lflag |= ICANON|ECHO|ECHOE; + GTTY (0, &termio); + termio.c_iflag |= ICRNL | IXON; + termio.c_oflag |= OPOST | ONLCR; + termio.c_lflag |= ICANON | ECHO | ECHOE; #ifdef CBAUD termio.c_cflag = (termio.c_cflag & ~CBAUD) | speed_name; #else termio.c_cflag = (termio.c_cflag) | speed_name; #endif - STTY(0, &termio); + STTY (0, &termio); - if (! (pwd = getpwnam (name))) + if (!(pwd = getpwnam (name))) return 0; /* @@ -165,7 +177,7 @@ do_rlogin(const char *remote_host, char *name, int namelen, char *term, int term return 0; #else return ruserok (remote_host, pwd->pw_uid == 0, - remote_name, name) == RUSEROK; + remote_name, name) == RUSEROK; #endif } -#endif /* RLOGIN */ +#endif /* RLOGIN */ diff --git a/libmisc/salt.c b/libmisc/salt.c index b5478e45..fafa429e 100644 --- a/libmisc/salt.c +++ b/libmisc/salt.c @@ -8,16 +8,13 @@ #include #include "rcsid.h" -RCSID("$Id: salt.c,v 1.5 1997/12/07 23:27:09 marekm Exp $") - +RCSID ("$Id: salt.c,v 1.6 2003/04/22 10:59:22 kloczek Exp $") #include "prototypes.h" #include "defines.h" #include - #if 1 #include "getdef.h" - -extern char *l64a(); +extern char *l64a (); /* * Generate 8 base64 ASCII characters of random salt. If MD5_CRYPT_ENAB @@ -25,45 +22,42 @@ extern char *l64a(); * (magic) and pw_encrypt() will execute the MD5-based FreeBSD-compatible * version of crypt() instead of the standard one. */ -char * -crypt_make_salt(void) +char *crypt_make_salt (void) { struct timeval tv; static char result[40]; result[0] = '\0'; - if (getdef_bool("MD5_CRYPT_ENAB")) { - strcpy(result, "$1$"); /* magic for the new MD5 crypt() */ + if (getdef_bool ("MD5_CRYPT_ENAB")) { + strcpy (result, "$1$"); /* magic for the new MD5 crypt() */ } /* * Generate 8 chars of salt, the old crypt() will use only first 2. */ - gettimeofday(&tv, (struct timezone *) 0); - strcat(result, l64a(tv.tv_usec)); - strcat(result, l64a(tv.tv_sec + getpid() + clock())); + gettimeofday (&tv, (struct timezone *) 0); + strcat (result, l64a (tv.tv_usec)); + strcat (result, l64a (tv.tv_sec + getpid () + clock ())); - if (strlen(result) > 3 + 8) /* magic+salt */ + if (strlen (result) > 3 + 8) /* magic+salt */ result[11] = '\0'; return result; } #else - /* * This is the old style random salt generator... */ -char * -crypt_make_salt(void) +char *crypt_make_salt (void) { time_t now; static unsigned long x; static char result[3]; - time(&now); - x += now + getpid() + clock(); - result[0] = i64c(((x >> 18) ^ (x >> 6)) & 077); - result[1] = i64c(((x >> 12) ^ x) & 077); + time (&now); + x += now + getpid () + clock (); + result[0] = i64c (((x >> 18) ^ (x >> 6)) & 077); + result[1] = i64c (((x >> 12) ^ x) & 077); result[2] = '\0'; return result; } diff --git a/libmisc/setugid.c b/libmisc/setugid.c index 5dae7659..030975e0 100644 --- a/libmisc/setugid.c +++ b/libmisc/setugid.c @@ -34,35 +34,29 @@ #include #include "rcsid.h" -RCSID("$Id: setugid.c,v 1.6 1998/07/23 22:13:16 marekm Exp $") - +RCSID ("$Id: setugid.c,v 1.7 2003/04/22 10:59:22 kloczek Exp $") #include #include - #include "prototypes.h" #include "defines.h" #include - #include "getdef.h" - /* * setup_uid_gid() split in two functions for PAM support - * pam_setcred() needs to be called after initgroups(), but * before setuid(). */ - -int -setup_groups(const struct passwd *info) +int setup_groups (const struct passwd *info) { /* * Set the real group ID to the primary group ID in the password * file. */ if (setgid (info->pw_gid) == -1) { - perror("setgid"); - SYSLOG((LOG_ERR, "bad group ID `%d' for user `%s': %m\n", - info->pw_gid, info->pw_name)); - closelog(); + perror ("setgid"); + SYSLOG ((LOG_ERR, "bad group ID `%d' for user `%s': %m\n", + info->pw_gid, info->pw_name)); + closelog (); return -1; } #ifdef HAVE_INITGROUPS @@ -70,33 +64,32 @@ setup_groups(const struct passwd *info) * For systems which support multiple concurrent groups, go get * the group set from the /etc/group file. */ - if (initgroups(info->pw_name, info->pw_gid) == -1) { - perror("initgroups"); - SYSLOG((LOG_ERR, "initgroups failed for user `%s': %m\n", - info->pw_name)); - closelog(); + if (initgroups (info->pw_name, info->pw_gid) == -1) { + perror ("initgroups"); + SYSLOG ((LOG_ERR, "initgroups failed for user `%s': %m\n", + info->pw_name)); + closelog (); return -1; } #endif return 0; } -int -change_uid(const struct passwd *info) +int change_uid (const struct passwd *info) { /* * Set the real UID to the UID value in the password file. */ #ifndef BSD - if (setuid(info->pw_uid)) + if (setuid (info->pw_uid)) #else - if (setreuid(info->pw_uid, info->pw_uid)) + if (setreuid (info->pw_uid, info->pw_uid)) #endif { - perror("setuid"); - SYSLOG((LOG_ERR, "bad user ID `%d' for user `%s': %m\n", - (int) info->pw_uid, info->pw_name)); - closelog(); + perror ("setuid"); + SYSLOG ((LOG_ERR, "bad user ID `%d' for user `%s': %m\n", + (int) info->pw_uid, info->pw_name)); + closelog (); return -1; } return 0; @@ -113,21 +106,21 @@ change_uid(const struct passwd *info) * Returns 0 on success, or -1 on failure. */ -int -setup_uid_gid(const struct passwd *info, int is_console) +int setup_uid_gid (const struct passwd *info, int is_console) { - if (setup_groups(info) < 0) + if (setup_groups (info) < 0) return -1; #ifdef HAVE_INITGROUPS if (is_console) { - char *cp = getdef_str("CONSOLE_GROUPS"); - if (cp && add_groups(cp)) - perror("Warning: add_groups"); - } -#endif /* HAVE_INITGROUPS */ + char *cp = getdef_str ("CONSOLE_GROUPS"); - if (change_uid(info) < 0) + if (cp && add_groups (cp)) + perror ("Warning: add_groups"); + } +#endif /* HAVE_INITGROUPS */ + + if (change_uid (info) < 0) return -1; return 0; diff --git a/libmisc/setup.c b/libmisc/setup.c index 7b8df91b..e31a898a 100644 --- a/libmisc/setup.c +++ b/libmisc/setup.c @@ -30,12 +30,10 @@ #include #include "rcsid.h" -RCSID("$Id: setup.c,v 1.3 1997/12/07 23:27:09 marekm Exp $") - +RCSID ("$Id: setup.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $") #include "prototypes.h" #include "defines.h" #include - /* * setup - initialize login environment * @@ -49,24 +47,22 @@ RCSID("$Id: setup.c,v 1.3 1997/12/07 23:27:09 marekm Exp $") * set the HOME, SHELL, MAIL, PATH, and LOGNAME or USER environmental * variables. */ - -void -setup(struct passwd *info) +void setup (struct passwd *info) { /* * Set resource limits. */ - setup_limits(info); + setup_limits (info); /* * Set the real group ID, do initgroups, and set the real user ID * to the value in the password file. */ - if (setup_uid_gid(info, 0)) - exit(1); + if (setup_uid_gid (info, 0)) + exit (1); /* * Change to the home directory, and set up environment. */ - setup_env(info); + setup_env (info); } diff --git a/libmisc/setupenv.c b/libmisc/setupenv.c index 35ffb21e..fff04366 100644 --- a/libmisc/setupenv.c +++ b/libmisc/setupenv.c @@ -34,51 +34,47 @@ #include #include "rcsid.h" -RCSID("$Id: setupenv.c,v 1.11 2001/11/06 15:50:25 kloczek Exp $") - +RCSID ("$Id: setupenv.c,v 1.13 2003/05/05 21:44:15 kloczek Exp $") #include #include - #include #include - #include "prototypes.h" #include "defines.h" #include #include "getdef.h" - static void -addenv_path(const char *varname, const char *dirname, const char *filename) +addenv_path (const char *varname, const char *dirname, + const char *filename) { char *buf; - buf = xmalloc(strlen(dirname) + strlen(filename) + 2); - sprintf(buf, "%s/%s", dirname, filename); - addenv(varname, buf); - free(buf); + buf = xmalloc (strlen (dirname) + strlen (filename) + 2); + sprintf (buf, "%s/%s", dirname, filename); + addenv (varname, buf); + free (buf); } #ifndef USE_PAM -static void -read_env_file(const char *filename) +static void read_env_file (const char *filename) { FILE *fp; char buf[1024]; char *cp, *name, *val; - fp = fopen(filename, "r"); + fp = fopen (filename, "r"); if (!fp) return; - while (fgets(buf, sizeof buf, fp) == buf) { - cp = strrchr(buf, '\n'); + while (fgets (buf, sizeof buf, fp) == buf) { + cp = strrchr (buf, '\n'); if (!cp) break; *cp = '\0'; cp = buf; /* ignore whitespace and comments */ - while (*cp && isspace(*cp)) + while (*cp && isspace (*cp)) cp++; if (*cp == '\0' || *cp == '#') continue; @@ -87,14 +83,14 @@ read_env_file(const char *filename) * (for example, the "export NAME" shell commands) */ name = cp; - while (*cp && !isspace(*cp) && *cp != '=') + while (*cp && !isspace (*cp) && *cp != '=') cp++; if (*cp != '=') continue; /* NUL-terminate the name */ *cp++ = '\0'; val = cp; -#if 0 /* XXX untested, and needs rewrite with fewer goto's :-) */ +#if 0 /* XXX untested, and needs rewrite with fewer goto's :-) */ /* (state, char_type) -> (state, action) @@ -102,28 +98,28 @@ read_env_file(const char *filename) char_type: normal, white, backslash, single, double action: remove_curr, remove_curr_skip_next, remove_prev, finish XXX */ -no_quote: + no_quote: if (*cp == '\\') { /* remove the backslash */ - remove_char(cp); + remove_char (cp); /* skip over the next character */ if (*cp) cp++; goto no_quote; } else if (*cp == '\'') { /* remove the quote */ - remove_char(cp); + remove_char (cp); /* now within single quotes */ goto s_quote; } else if (*cp == '"') { /* remove the quote */ - remove_char(cp); + remove_char (cp); /* now within double quotes */ goto d_quote; } else if (*cp == '\0') { /* end of string */ goto finished; - } else if (isspace(*cp)) { + } else if (isspace (*cp)) { /* unescaped whitespace - end of string */ *cp = '\0'; goto finished; @@ -131,10 +127,10 @@ no_quote: cp++; goto no_quote; } -s_quote: + s_quote: if (*cp == '\'') { /* remove the quote */ - remove_char(cp); + remove_char (cp); /* unquoted again */ goto no_quote; } else if (*cp == '\0') { @@ -145,10 +141,10 @@ s_quote: cp++; goto s_quote; } -d_quote: + d_quote: if (*cp == '\"') { /* remove the quote */ - remove_char(cp); + remove_char (cp); /* unquoted again */ goto no_quote; } else if (*cp == '\\') { @@ -156,28 +152,29 @@ d_quote: /* if backslash followed by double quote, remove backslash else skip over the backslash and following char */ if (*cp == '"') - remove_char(cp - 1); + remove_char (cp - 1); else if (*cp) cp++; goto d_quote; - } eise if (*cp == '\0') { + } + eise if (*cp == '\0') { /* end of string */ goto finished; } else { /* preserve everything within double quotes */ goto d_quote; } -finished: -#endif /* 0 */ + finished: +#endif /* 0 */ /* * XXX - should handle quotes, backslash escapes, etc. * like the shell does. */ - addenv(name, val); + addenv (name, val); } - fclose(fp); + fclose (fp); } -#endif /* USE_PAM */ +#endif /* USE_PAM */ /* @@ -186,8 +183,7 @@ finished: * variables. */ -void -setup_env(struct passwd *info) +void setup_env (struct passwd *info) { #ifndef USE_PAM char *envf; @@ -205,18 +201,19 @@ setup_env(struct passwd *info) * this a configurable option. --marekm */ - if (chdir(info->pw_dir) == -1) { + if (chdir (info->pw_dir) == -1) { static char temp_pw_dir[] = "/"; - if (!getdef_bool("DEFAULT_HOME") || chdir("/") == -1) { - fprintf(stderr, _("Unable to cd to \"%s\"\n"), - info->pw_dir); - SYSLOG((LOG_WARN, - "unable to cd to `%s' for user `%s'\n", - info->pw_dir, info->pw_name)); - closelog(); + + if (!getdef_bool ("DEFAULT_HOME") || chdir ("/") == -1) { + fprintf (stderr, _("Unable to cd to \"%s\"\n"), + info->pw_dir); + SYSLOG ((LOG_WARN, + "unable to cd to `%s' for user `%s'\n", + info->pw_dir, info->pw_name)); + closelog (); exit (1); } - puts(_("No directory, logging in with HOME=/")); + puts (_("No directory, logging in with HOME=/")); info->pw_dir = temp_pw_dir; } @@ -224,67 +221,64 @@ setup_env(struct passwd *info) * Create the HOME environmental variable and export it. */ - addenv("HOME", info->pw_dir); + addenv ("HOME", info->pw_dir); /* * Create the SHELL environmental variable and export it. */ - if (info->pw_shell == (char *) 0 || ! *info->pw_shell) { + if (info->pw_shell == (char *) 0 || !*info->pw_shell) { static char temp_pw_shell[] = "/bin/sh"; + info->pw_shell = temp_pw_shell; } - addenv("SHELL", info->pw_shell); + addenv ("SHELL", info->pw_shell); /* * Create the PATH environmental variable and export it. */ - cp = getdef_str((info->pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); -#if 0 - addenv(cp ? cp : "PATH=/bin:/usr/bin", NULL); -#else + cp = getdef_str ((info->pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); if (!cp) { /* not specified, use a minimal default */ - addenv("PATH=/bin:/usr/bin", NULL); - } else if (strchr(cp, '=')) { + addenv ("PATH=/bin:/usr/bin", NULL); + } else if (strchr (cp, '=')) { /* specified as name=value (PATH=...) */ - addenv(cp, NULL); + addenv (cp, NULL); } else { /* only value specified without "PATH=" */ - addenv("PATH", cp); + addenv ("PATH", cp); } -#endif /* * Export the user name. For BSD derived systems, it's "USER", for * all others it's "LOGNAME". We set both of them. */ - addenv("USER", info->pw_name); - addenv("LOGNAME", info->pw_name); + addenv ("USER", info->pw_name); + addenv ("LOGNAME", info->pw_name); /* * MAILDIR environment variable for Qmail */ - if ((cp=getdef_str("QMAIL_DIR"))) - addenv_path("MAILDIR", info->pw_dir, cp); + if ((cp = getdef_str ("QMAIL_DIR"))) + addenv_path ("MAILDIR", info->pw_dir, cp); /* * Create the MAIL environmental variable and export it. login.defs * knows the prefix. */ - if ((cp=getdef_str("MAIL_DIR"))) - addenv_path("MAIL", cp, info->pw_name); - else if ((cp=getdef_str("MAIL_FILE"))) - addenv_path("MAIL", info->pw_dir, cp); + if ((cp = getdef_str ("MAIL_DIR"))) + addenv_path ("MAIL", cp, info->pw_name); + else if ((cp = getdef_str ("MAIL_FILE"))) + addenv_path ("MAIL", info->pw_dir, cp); else { #if defined(MAIL_SPOOL_FILE) - addenv_path("MAIL", info->pw_dir, MAIL_SPOOL_FILE); + addenv_path ("MAIL", info->pw_dir, MAIL_SPOOL_FILE); #elif defined(MAIL_SPOOL_DIR) - addenv_path("MAIL", MAIL_SPOOL_DIR, info->pw_name); + addenv_path ("MAIL", MAIL_SPOOL_DIR, info->pw_name); #endif } @@ -292,7 +286,7 @@ setup_env(struct passwd *info) /* * Read environment from optional config file. --marekm */ - if ((envf = getdef_str("ENVIRON_FILE"))) - read_env_file(envf); + if ((envf = getdef_str ("ENVIRON_FILE"))) + read_env_file (envf); #endif } diff --git a/libmisc/shell.c b/libmisc/shell.c index 23058f37..3ea6e5d1 100644 --- a/libmisc/shell.c +++ b/libmisc/shell.c @@ -30,14 +30,11 @@ #include #include "rcsid.h" -RCSID("$Id: shell.c,v 1.7 1998/12/28 20:34:53 marekm Exp $") - +RCSID ("$Id: shell.c,v 1.9 2003/05/05 21:49:56 kloczek Exp $") #include #include #include "prototypes.h" #include "defines.h" - - extern char **newenvp; extern size_t newenvc; @@ -54,8 +51,7 @@ extern size_t newenvc; * the file. If all that fails, give up in disgust ... */ -void -shell(const char *file, const char *arg) +void shell (const char *file, const char *arg) { char arg0[1024]; int err; @@ -71,11 +67,12 @@ shell(const char *file, const char *arg) */ if (arg == (char *) 0) { - snprintf(arg0, sizeof arg0, "-%s", Basename((char *) file)); + snprintf (arg0, sizeof arg0, "-%s", + Basename ((char *) file)); arg = arg0; } #ifdef DEBUG - printf (_("Executing shell %s\n"), file); + printf ("Executing shell %s\n", file); #endif /* @@ -98,7 +95,7 @@ shell(const char *file, const char *arg) */ if (err == ENOEXEC) { - FILE *fp; + FILE *fp; if ((fp = fopen (file, "r"))) { if (getc (fp) == '#' && getc (fp) == '!') { @@ -119,8 +116,8 @@ shell(const char *file, const char *arg) * up in disgust ... */ - snprintf(arg0, sizeof arg0, _("Cannot execute %s"), file); + snprintf (arg0, sizeof arg0, _("Cannot execute %s"), file); errno = err; - perror(arg0); - exit(1); + perror (arg0); + exit (1); } diff --git a/libmisc/strtoday.c b/libmisc/strtoday.c index 4870f9df..3dd51b8f 100644 --- a/libmisc/strtoday.c +++ b/libmisc/strtoday.c @@ -34,18 +34,13 @@ #include #include "rcsid.h" -RCSID("$Id: strtoday.c,v 1.8 1999/03/07 19:14:42 marekm Exp $") - +RCSID ("$Id: strtoday.c,v 1.9 2003/04/22 10:59:22 kloczek Exp $") #include "defines.h" - #ifndef USE_GETDATE #define USE_GETDATE 1 #endif - #if USE_GETDATE - #include "getdate.h" - /* * strtoday() now uses get_date() (borrowed from GNU shellutils) * which can handle many date formats, for example: @@ -60,8 +55,7 @@ RCSID("$Id: strtoday.c,v 1.8 1999/03/07 19:14:42 marekm Exp $") * 24-sep-72 * 24sep72 */ -long -strtoday(const char *str) +long strtoday (const char *str) { time_t t; @@ -73,20 +67,18 @@ strtoday(const char *str) if (!str || *str == '\0') return -1; - t = get_date(str, (time_t *) 0); - if (t == (time_t) -1) + t = get_date (str, (time_t *) 0); + if (t == (time_t) - 1) return -1; /* convert seconds to days since 1970-01-01 */ - return (t + DAY/2)/DAY; + return (t + DAY / 2) / DAY; } -#else /* !USE_GETDATE */ +#else /* !USE_GETDATE */ /* * Old code, just in case get_date() doesn't work as expected... */ - #include - #ifdef HAVE_STRPTIME /* * for now we allow just one format, but we can define more later @@ -102,14 +94,15 @@ static char *date_formats[] = { * current month, and the cummulative number of days in the preceding * months. they are declared so that january is 1, not 0. */ +static short days[13] = { 0, + 31, 28, 31, 30, 31, 30, /* JAN - JUN */ + 31, 31, 30, 31, 30, 31 +}; /* JUL - DEC */ -static short days[13] = { 0, - 31, 28, 31, 30, 31, 30, /* JAN - JUN */ - 31, 31, 30, 31, 30, 31 }; /* JUL - DEC */ - -static short juldays[13] = { 0, - 0, 31, 59, 90, 120, 151, /* JAN - JUN */ - 181, 212, 243, 273, 304, 334 }; /* JUL - DEC */ +static short juldays[13] = { 0, + 0, 31, 59, 90, 120, 151, /* JAN - JUN */ + 181, 212, 243, 273, 304, 334 +}; /* JUL - DEC */ #endif /* @@ -120,34 +113,33 @@ static short juldays[13] = { 0, * it having a day number of 0. */ -long -strtoday(const char *str) +long strtoday (const char *str) { #ifdef HAVE_STRPTIME struct tm tp; - char * const *fmt; + char *const *fmt; char *cp; time_t result; - memzero(&tp, sizeof tp); + memzero (&tp, sizeof tp); for (fmt = date_formats; *fmt; fmt++) { - cp = strptime((char *) str, *fmt, &tp); + cp = strptime ((char *) str, *fmt, &tp); if (!cp || *cp != '\0') continue; - result = mktime(&tp); - if (result == (time_t) -1) + result = mktime (&tp); + if (result == (time_t) - 1) continue; - return result / DAY; /* success */ + return result / DAY; /* success */ } return -1; #else - char slop[2]; - int month; - int day; - int year; - long total; + char slop[2]; + int month; + int day; + int year; + long total; /* * start by separating the month, day and year. the order @@ -198,10 +190,11 @@ strtoday(const char *str) */ total = (long) ((year - 1970) * 365L) + (((year + 1) - 1970) / 4); - total += (long) juldays[month] + (month > 2 && (year % 4) == 0 ? 1:0); + total += (long) juldays[month] + (month > 2 + && (year % 4) == 0 ? 1 : 0); total += (long) day - 1; return total; -#endif /* HAVE_STRPTIME */ +#endif /* HAVE_STRPTIME */ } -#endif /* !USE_GETDATE */ +#endif /* !USE_GETDATE */ diff --git a/libmisc/sub.c b/libmisc/sub.c index 88f2df03..57c7a574 100644 --- a/libmisc/sub.c +++ b/libmisc/sub.c @@ -30,17 +30,13 @@ #include #include "rcsid.h" -RCSID("$Id: sub.c,v 1.6 1999/03/07 19:14:43 marekm Exp $") - +RCSID ("$Id: sub.c,v 1.7 2003/04/22 10:59:22 kloczek Exp $") #include #include "prototypes.h" #include "defines.h" - #include - #define BAD_SUBROOT2 "invalid root `%s' for user `%s'\n" #define NO_SUBROOT2 "no subsystem root `%s' for user `%s'\n" - /* * subsystem - change to subsystem root * @@ -49,18 +45,16 @@ RCSID("$Id: sub.c,v 1.6 1999/03/07 19:14:43 marekm Exp $") * directory will be used as the root of a new filesystem which * the user is actually logged into. */ - -void -subsystem(const struct passwd *pw) +void subsystem (const struct passwd *pw) { /* * The new root directory must begin with a "/" character. */ if (pw->pw_dir[0] != '/') { - printf(_("Invalid root directory \"%s\"\n"), pw->pw_dir); - SYSLOG((LOG_WARN, BAD_SUBROOT2, pw->pw_dir, pw->pw_name)); - closelog(); + printf (_("Invalid root directory \"%s\"\n"), pw->pw_dir); + SYSLOG ((LOG_WARN, BAD_SUBROOT2, pw->pw_dir, pw->pw_name)); + closelog (); exit (1); } @@ -70,9 +64,10 @@ subsystem(const struct passwd *pw) */ if (chdir (pw->pw_dir) || chroot (pw->pw_dir)) { - printf(_("Can't change root directory to \"%s\"\n"), pw->pw_dir); - SYSLOG((LOG_WARN, NO_SUBROOT2, pw->pw_dir, pw->pw_name)); - closelog(); + printf (_("Can't change root directory to \"%s\"\n"), + pw->pw_dir); + SYSLOG ((LOG_WARN, NO_SUBROOT2, pw->pw_dir, pw->pw_name)); + closelog (); exit (1); } } diff --git a/libmisc/sulog.c b/libmisc/sulog.c index cc7d51fd..3ed429fe 100644 --- a/libmisc/sulog.c +++ b/libmisc/sulog.c @@ -30,8 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: sulog.c,v 1.6 2001/08/23 23:17:37 kloczek Exp $") - +RCSID ("$Id: sulog.c,v 1.7 2003/04/22 10:59:22 kloczek Exp $") #include #include #include @@ -39,13 +38,11 @@ RCSID("$Id: sulog.c,v 1.6 2001/08/23 23:17:37 kloczek Exp $") #include "prototypes.h" #include "defines.h" #include "getdef.h" - /* * sulog - log a SU command execution result */ - void -sulog(const char *tty, int success, const char *oldname, const char *name) +sulog (const char *tty, int success, const char *oldname, const char *name) { char *sulog_file; time_t now; @@ -53,22 +50,22 @@ sulog(const char *tty, int success, const char *oldname, const char *name) FILE *fp; mode_t oldmask; - if ((sulog_file = getdef_str("SULOG_FILE")) == (char *) 0) + if ((sulog_file = getdef_str ("SULOG_FILE")) == (char *) 0) return; - oldmask = umask(077); - fp = fopen(sulog_file, "a+"); - umask(oldmask); + oldmask = umask (077); + fp = fopen (sulog_file, "a+"); + umask (oldmask); if (fp == (FILE *) 0) - return; /* can't open or create logfile */ + return; /* can't open or create logfile */ - time(&now); - tm = localtime(&now); + time (&now); + tm = localtime (&now); - fprintf(fp, "SU %.02d/%.02d %.02d:%.02d %c %s %s-%s\n", - tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, - success ? '+':'-', tty, oldname, name); + fprintf (fp, "SU %.02d/%.02d %.02d:%.02d %c %s %s-%s\n", + tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, + success ? '+' : '-', tty, oldname, name); - fflush(fp); - fclose(fp); + fflush (fp); + fclose (fp); } diff --git a/libmisc/ttytype.c b/libmisc/ttytype.c index 965dc7f1..de3b9e16 100644 --- a/libmisc/ttytype.c +++ b/libmisc/ttytype.c @@ -30,41 +30,38 @@ #include #include "rcsid.h" -RCSID("$Id: ttytype.c,v 1.5 1997/12/07 23:27:10 marekm Exp $") - +RCSID ("$Id: ttytype.c,v 1.6 2003/04/22 10:59:22 kloczek Exp $") #include #include "prototypes.h" #include "defines.h" #include "getdef.h" - -extern char *getenv(); +extern char *getenv (); /* * ttytype - set ttytype from port to terminal type mapping database */ -void -ttytype(const char *line) +void ttytype (const char *line) { - FILE *fp; - char buf[BUFSIZ]; - char *typefile; - char *cp; - char type[BUFSIZ]; - char port[BUFSIZ]; + FILE *fp; + char buf[BUFSIZ]; + char *typefile; + char *cp; + char type[BUFSIZ]; + char port[BUFSIZ]; if (getenv ("TERM")) return; - if ((typefile=getdef_str("TTYTYPE_FILE")) == NULL ) + if ((typefile = getdef_str ("TTYTYPE_FILE")) == NULL) return; - if (access(typefile, F_OK)) + if (access (typefile, F_OK)) return; - if (! (fp = fopen (typefile, "r"))) { + if (!(fp = fopen (typefile, "r"))) { perror (typefile); return; } - while (fgets(buf, sizeof buf, fp)) { + while (fgets (buf, sizeof buf, fp)) { if (buf[0] == '#') continue; @@ -73,17 +70,17 @@ ttytype(const char *line) #if defined(SUN) || defined(BSD) || defined(SUN4) if ((sscanf (buf, "%s \"%*[^\"]\" %s", port, type) == 2 || - sscanf (buf, "%s %*s %s", port, type) == 2) && - strcmp (line, port) == 0) + sscanf (buf, "%s %*s %s", port, type) == 2) && + strcmp (line, port) == 0) break; -#else /* USG */ +#else /* USG */ if (sscanf (buf, "%s %s", type, port) == 2 && - strcmp (line, port) == 0) + strcmp (line, port) == 0) break; #endif } - if (! feof (fp) && ! ferror (fp)) - addenv("TERM", type); + if (!feof (fp) && !ferror (fp)) + addenv ("TERM", type); fclose (fp); } diff --git a/libmisc/tz.c b/libmisc/tz.c index 9449f6d8..668339fe 100644 --- a/libmisc/tz.c +++ b/libmisc/tz.c @@ -30,38 +30,34 @@ #include #include "rcsid.h" -RCSID("$Id: tz.c,v 1.4 1998/01/29 23:22:36 marekm Exp $") - +RCSID ("$Id: tz.c,v 1.5 2003/04/22 10:59:22 kloczek Exp $") #include #include #include "defines.h" #include "getdef.h" - /* * tz - return local timezone name * * tz() determines the name of the local timezone by reading the * contents of the file named by ``fname''. */ - -char * -tz(const char *fname) +char *tz (const char *fname) { FILE *fp = 0; static char tzbuf[BUFSIZ]; const char *def_tz; - if ((fp = fopen(fname,"r")) == NULL || - fgets (tzbuf, sizeof (tzbuf), fp) == NULL) { - if (! (def_tz = getdef_str ("ENV_TZ")) || def_tz[0] == '/') + if ((fp = fopen (fname, "r")) == NULL || + fgets (tzbuf, sizeof (tzbuf), fp) == NULL) { + if (!(def_tz = getdef_str ("ENV_TZ")) || def_tz[0] == '/') def_tz = "TZ=CST6CDT"; strcpy (tzbuf, def_tz); } else - tzbuf[strlen(tzbuf) - 1] = '\0'; + tzbuf[strlen (tzbuf) - 1] = '\0'; if (fp) - (void) fclose(fp); + (void) fclose (fp); return tzbuf; } diff --git a/libmisc/ulimit.c b/libmisc/ulimit.c index e99dab22..5efb47e6 100644 --- a/libmisc/ulimit.c +++ b/libmisc/ulimit.c @@ -1,11 +1,9 @@ #include #include "rcsid.h" -RCSID("$Id: ulimit.c,v 1.2 1997/12/07 23:27:11 marekm Exp $") - +RCSID ("$Id: ulimit.c,v 1.3 2003/04/22 10:59:22 kloczek Exp $") #if HAVE_ULIMIT_H #include - #ifndef UL_SETFSIZE #ifdef UL_SFILLIM #define UL_SETFSIZE UL_SFILLIM @@ -13,22 +11,19 @@ RCSID("$Id: ulimit.c,v 1.2 1997/12/07 23:27:11 marekm Exp $") #define UL_SETFSIZE 2 #endif #endif - #elif HAVE_SYS_RESOURCE_H -#include /* for struct timeval on sunos4 */ +#include /* for struct timeval on sunos4 */ /* XXX - is the above ok or should it be on ultrix? */ #include #endif - -void -set_filesize_limit(int blocks) +void set_filesize_limit (int blocks) { #if HAVE_ULIMIT_H - ulimit(UL_SETFSIZE, blocks); + ulimit (UL_SETFSIZE, blocks); #elif defined(RLIMIT_FSIZE) struct rlimit rlimit_fsize; rlimit_fsize.rlim_cur = rlimit_fsize.rlim_max = 512L * blocks; - setrlimit(RLIMIT_FSIZE, &rlimit_fsize); + setrlimit (RLIMIT_FSIZE, &rlimit_fsize); #endif } diff --git a/libmisc/utmp.c b/libmisc/utmp.c index 2062a574..dffb69ef 100644 --- a/libmisc/utmp.c +++ b/libmisc/utmp.c @@ -41,17 +41,16 @@ #include #include "rcsid.h" -RCSID("$Id: utmp.c,v 1.10 2002/03/08 04:30:30 kloczek Exp $") - +RCSID ("$Id: utmp.c,v 1.14 2003/12/17 12:52:25 kloczek Exp $") #if HAVE_UTMPX_H struct utmpx utxent; #endif struct utmp utent; -extern struct utmp *getutent(); -extern struct utmp *getutline(); -extern void setutent(); -extern void endutent(); +extern struct utmp *getutent (); +extern struct utmp *getutline (); +extern void setutent (); +extern void endutent (); #define NO_UTENT \ "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" @@ -72,21 +71,21 @@ extern void endutent(); * command line flags. */ -#if defined(__linux__) /* XXX */ +#if defined(__linux__) /* XXX */ -void -checkutmp(int picky) +void checkutmp (int picky) { char *line; struct utmp *ut; - pid_t pid = getpid(); + pid_t pid = getpid (); - setutent(); + setutent (); /* First, try to find a valid utmp entry for this process. */ - while ((ut = getutent())) + while ((ut = getutent ())) if (ut->ut_pid == pid && ut->ut_line[0] && ut->ut_id[0] && - (ut->ut_type==LOGIN_PROCESS || ut->ut_type==USER_PROCESS)) + (ut->ut_type == LOGIN_PROCESS + || ut->ut_type == USER_PROCESS)) break; /* If there is one, just use it, otherwise create a new one. */ @@ -94,54 +93,55 @@ checkutmp(int picky) utent = *ut; } else { if (picky) { - puts(NO_UTENT); - exit(1); + puts (NO_UTENT); + exit (1); } - line = ttyname(0); + line = ttyname (0); if (!line) { - puts(NO_TTY); - exit(1); + puts (NO_TTY); + exit (1); } - if (strncmp(line, "/dev/", 5) == 0) + if (strncmp (line, "/dev/", 5) == 0) line += 5; - memset((void *) &utent, 0, sizeof utent); + memset ((void *) &utent, 0, sizeof utent); utent.ut_type = LOGIN_PROCESS; utent.ut_pid = pid; - strncpy(utent.ut_line, line, sizeof utent.ut_line); + strncpy (utent.ut_line, line, sizeof utent.ut_line); /* XXX - assumes /dev/tty?? */ - strncpy(utent.ut_id, utent.ut_line + 3, sizeof utent.ut_id); - strcpy(utent.ut_user, "LOGIN"); - time(&utent.ut_time); + strncpy (utent.ut_id, utent.ut_line + 3, + sizeof utent.ut_id); + strcpy (utent.ut_user, "LOGIN"); + utent.ut_time = time (NULL); } } #elif defined(LOGIN_PROCESS) -void -checkutmp(int picky) +void checkutmp (int picky) { char *line; struct utmp *ut; + #if HAVE_UTMPX_H struct utmpx *utx; #endif - pid_t pid = getpid(); + pid_t pid = getpid (); #if HAVE_UTMPX_H - setutxent(); + setutxent (); #endif - setutent(); + setutent (); if (picky) { #if HAVE_UTMPX_H - while ((utx = getutxent())) + while ((utx = getutxent ())) if (utx->ut_pid == pid) break; if (utx) utxent = *utx; #endif - while ((ut = getutent())) + while ((ut = getutent ())) if (ut->ut_pid == pid) break; @@ -149,13 +149,13 @@ checkutmp(int picky) utent = *ut; #if HAVE_UTMPX_H - endutxent(); + endutxent (); #endif - endutent(); + endutent (); if (!ut) { - puts(NO_UTENT); - exit(1); + puts (NO_UTENT); + exit (1); } #ifndef UNIXPC @@ -167,53 +167,64 @@ checkutmp(int picky) */ if (utent.ut_line[0] == '\0') -#endif /* !UNIXPC */ +#endif /* !UNIXPC */ { - if (!(line = ttyname(0))) { - puts(NO_TTY); - exit(1); + if (!(line = ttyname (0))) { + puts (NO_TTY); + exit (1); } - if (strncmp(line, "/dev/", 5) == 0) + if (strncmp (line, "/dev/", 5) == 0) line += 5; - strncpy(utent.ut_line, line, sizeof utent.ut_line); + strncpy (utent.ut_line, line, + sizeof utent.ut_line); #if HAVE_UTMPX_H - strncpy(utxent.ut_line, line, sizeof utxent.ut_line); + strncpy (utxent.ut_line, line, + sizeof utxent.ut_line); #endif } } else { - if (!(line = ttyname(0))) { - puts(NO_TTY); - exit(1); + if (!(line = ttyname (0))) { + puts (NO_TTY); + exit (1); } - if (strncmp(line, "/dev/", 5) == 0) + if (strncmp (line, "/dev/", 5) == 0) line += 5; - strncpy (utent.ut_line, line, sizeof utent.ut_line); - if ((ut = getutline(&utent))) - strncpy(utent.ut_id, ut->ut_id, sizeof ut->ut_id); + strncpy (utent.ut_line, line, sizeof utent.ut_line); + if ((ut = getutline (&utent))) + strncpy (utent.ut_id, ut->ut_id, sizeof ut->ut_id); - strcpy(utent.ut_user, "LOGIN"); - utent.ut_pid = getpid(); + strcpy (utent.ut_user, "LOGIN"); + utent.ut_pid = getpid (); utent.ut_type = LOGIN_PROCESS; - time(&utent.ut_time); + utent.ut_time = time (NULL); #if HAVE_UTMPX_H - strncpy(utxent.ut_line, line, sizeof utxent.ut_line); - if ((utx = getutxline(&utxent))) - strncpy(utxent.ut_id, utx->ut_id, sizeof utxent.ut_id); + strncpy (utxent.ut_line, line, sizeof utxent.ut_line); + if ((utx = getutxline (&utxent))) + strncpy (utxent.ut_id, utx->ut_id, + sizeof utxent.ut_id); - strcpy(utxent.ut_user, "LOGIN"); + strcpy (utxent.ut_user, "LOGIN"); utxent.ut_pid = utent.ut_pid; utxent.ut_type = utent.ut_type; - gettimeofday((struct timeval *) &utxent.ut_tv, NULL); + if (sizeof (utxent.ut_tv) == sizeof (struct timeval)) + gettimeofday ((struct timeval *) &utxent.ut_tv, + NULL); + else { + struct timeval tv; + + gettimeofday (&tv, NULL); + utxent.ut_tv.tv_sec = tv.tv_sec; + utxent.ut_tv.tv_usec = tv.tv_usec; + } utent.ut_time = utxent.ut_tv.tv_sec; #endif } } -#else /* !USG */ +#else /* !USG */ -void -checkutmp(int picky) +void checkutmp (int picky) { char *line; @@ -221,8 +232,8 @@ checkutmp(int picky) * Hand-craft a new utmp entry. */ - memzero(&utent, sizeof utent); - if (! (line = ttyname (0))) { + memzero (&utent, sizeof utent); + if (!(line = ttyname (0))) { puts (NO_TTY); exit (1); } @@ -230,10 +241,10 @@ checkutmp(int picky) line += 5; (void) strncpy (utent.ut_line, line, sizeof utent.ut_line); - (void) time (&utent.ut_time); + utent.ut_time = time (NULL); } -#endif /* !USG */ +#endif /* !USG */ /* @@ -242,34 +253,32 @@ checkutmp(int picky) */ #ifndef HAVE_UPDWTMP -static void -updwtmp(const char *filename, const struct utmp *ut) +static void updwtmp (const char *filename, const struct utmp *ut) { int fd; - fd = open(filename, O_APPEND | O_WRONLY, 0); + fd = open (filename, O_APPEND | O_WRONLY, 0); if (fd >= 0) { - write(fd, (const char *) ut, sizeof(*ut)); - close(fd); + write (fd, (const char *) ut, sizeof (*ut)); + close (fd); } } -#endif /* ! HAVE_UPDWTMP */ +#endif /* ! HAVE_UPDWTMP */ #ifdef HAVE_UTMPX_H #ifndef HAVE_UPDWTMPX -static void -updwtmpx(const char *filename, const struct utmpx *utx) +static void updwtmpx (const char *filename, const struct utmpx *utx) { int fd; - fd = open(filename, O_APPEND | O_WRONLY, 0); + fd = open (filename, O_APPEND | O_WRONLY, 0); if (fd >= 0) { - write(fd, (const char *) utx, sizeof(*utx)); - close(fd); + write (fd, (const char *) utx, sizeof (*utx)); + close (fd); } } -#endif /* ! HAVE_UPDWTMPX */ -#endif /* ! HAVE_UTMPX_H */ +#endif /* ! HAVE_UPDWTMPX */ +#endif /* ! HAVE_UTMPX_H */ /* @@ -279,30 +288,28 @@ updwtmpx(const char *filename, const struct utmpx *utx) * USER_PROCESS. the wtmp file will be updated as well. */ -#if defined(__linux__) /* XXX */ +#if defined(__linux__) /* XXX */ -void -setutmp(const char *name, const char *line, const char *host) +void setutmp (const char *name, const char *line, const char *host) { utent.ut_type = USER_PROCESS; - strncpy(utent.ut_user, name, sizeof utent.ut_user); - time(&utent.ut_time); + strncpy (utent.ut_user, name, sizeof utent.ut_user); + utent.ut_time = time (NULL); /* other fields already filled in by checkutmp above */ - setutent(); - pututline(&utent); - endutent(); - updwtmp(_WTMP_FILE, &utent); + setutent (); + pututline (&utent); + endutent (); + updwtmp (_WTMP_FILE, &utent); } #elif HAVE_UTMPX_H -void -setutmp(const char *name, const char *line, const char *host) +void setutmp (const char *name, const char *line, const char *host) { - struct utmp *utmp, utline; - struct utmpx *utmpx, utxline; - pid_t pid = getpid (); - int found_utmpx = 0, found_utmp = 0; + struct utmp *utmp, utline; + struct utmpx *utmpx, utxline; + pid_t pid = getpid (); + int found_utmpx = 0, found_utmp = 0; /* * The canonical device name doesn't include "/dev/"; skip it @@ -338,7 +345,7 @@ setutmp(const char *name, const char *line, const char *host) * entry with the device name in it. */ - if (! found_utmpx) { + if (!found_utmpx) { memset ((void *) &utxline, 0, sizeof utxline); strncpy (utxline.ut_line, line, sizeof utxline.ut_line); utxline.ut_pid = getpid (); @@ -346,20 +353,20 @@ setutmp(const char *name, const char *line, const char *host) utxline = *utmpx; if (strncmp (utxline.ut_line, "/dev/", 5) == 0) { memmove (utxline.ut_line, utxline.ut_line + 5, - sizeof utxline.ut_line - 5); + sizeof utxline.ut_line - 5); utxline.ut_line[sizeof utxline.ut_line - 5] = '\0'; } } - if (! found_utmp) { + if (!found_utmp) { memset ((void *) &utline, 0, sizeof utline); strncpy (utline.ut_line, utxline.ut_line, - sizeof utline.ut_line); + sizeof utline.ut_line); utline.ut_pid = utxline.ut_pid; } else { utline = *utmp; if (strncmp (utline.ut_line, "/dev/", 5) == 0) { memmove (utline.ut_line, utline.ut_line + 5, - sizeof utline.ut_line - 5); + sizeof utline.ut_line - 5); utline.ut_line[sizeof utline.ut_line - 5] = '\0'; } } @@ -375,101 +382,28 @@ setutmp(const char *name, const char *line, const char *host) utline.ut_type = utxline.ut_type = USER_PROCESS; - gettimeofday(&utxline.ut_tv, NULL); + if (sizeof (utxline.ut_tv) == sizeof (struct timeval)) + gettimeofday ((struct timeval *) &utxline.ut_tv, NULL); + else { + struct timeval tv; + + gettimeofday (&tv, NULL); + utxline.ut_tv.tv_sec = tv.tv_sec; + utxline.ut_tv.tv_usec = tv.tv_usec; + } utline.ut_time = utxline.ut_tv.tv_sec; - strncpy(utxline.ut_host, host ? host : "", sizeof utxline.ut_host); + strncpy (utxline.ut_host, host ? host : "", + sizeof utxline.ut_host); pututxline (&utxline); pututline (&utline); - updwtmpx(_WTMP_FILE "x", &utxline); - updwtmp(_WTMP_FILE, &utline); + updwtmpx (_WTMP_FILE "x", &utxline); + updwtmp (_WTMP_FILE, &utline); utxent = utxline; utent = utline; } -#else /* !SVR4 */ - -void -setutmp(const char *name, const char *line) -{ - struct utmp utmp; - int fd; - int found = 0; - - if ((fd = open(_UTMP_FILE, O_RDWR)) < 0) - return; - -#if !defined(SUN) && !defined(BSD) && !defined(SUN4) /* XXX */ - while (!found && read(fd, (char *)&utmp, sizeof utmp) == sizeof utmp) { - if (! strncmp (line, utmp.ut_line, (int) sizeof utmp.ut_line)) - found++; - } #endif - - if (! found) { - - /* - * This is a brand-new entry. Clear it out and fill it in - * later. - */ - - memzero(&utmp, sizeof utmp); - strncpy(utmp.ut_line, line, (int) sizeof utmp.ut_line); - } - - /* - * Fill in the parts of the UTMP entry. BSD has just the name, - * while System V has the name, PID and a type. - */ - - strncpy(utmp.ut_user, name, sizeof utent.ut_user); -#ifdef USER_PROCESS - utmp.ut_type = USER_PROCESS; - utmp.ut_pid = getpid (); -#endif - - /* - * Put in the current time (common to everyone) - */ - - (void) time (&utmp.ut_time); - -#ifdef UT_HOST - /* - * Update the host name field for systems with networking support - */ - - (void) strncpy (utmp.ut_host, utent.ut_host, (int) sizeof utmp.ut_host); -#endif - - /* - * Locate the correct position in the UTMP file for this - * entry. - */ - -#ifdef HAVE_TTYSLOT - (void) lseek (fd, (off_t) (sizeof utmp) * ttyslot (), SEEK_SET); -#else - if (found) /* Back up a splot */ - lseek (fd, (off_t) - sizeof utmp, SEEK_CUR); - else /* Otherwise, go to the end of the file */ - lseek (fd, (off_t) 0, SEEK_END); -#endif - - /* - * Scribble out the new entry and close the file. We're done - * with UTMP, next we do WTMP (which is real easy, put it on - * the end of the file. - */ - - (void) write (fd, (char *) &utmp, sizeof utmp); - (void) close (fd); - - updwtmp(_WTMP_FILE, &utmp); - utent = utmp; -} - -#endif /* SVR4 */ diff --git a/libmisc/valid.c b/libmisc/valid.c index 8559638e..5bde285c 100644 --- a/libmisc/valid.c +++ b/libmisc/valid.c @@ -30,14 +30,12 @@ #include #include "rcsid.h" -RCSID("$Id: valid.c,v 1.4 1999/03/07 19:14:44 marekm Exp $") - +RCSID ("$Id: valid.c,v 1.5 2003/04/22 10:59:22 kloczek Exp $") #include #include #include "prototypes.h" #include "defines.h" #include - /* * valid - compare encrypted passwords * @@ -48,9 +46,7 @@ RCSID("$Id: valid.c,v 1.4 1999/03/07 19:14:44 marekm Exp $") * is used to indicate that a dummy salt must be used to encrypt the * password anyway. */ - -int -valid(const char *password, const struct passwd *ent) +int valid (const char *password, const struct passwd *ent) { const char *encrypted; const char *salt; @@ -62,8 +58,8 @@ valid(const char *password, const struct passwd *ent) * routine is meant to waste CPU time. */ - if (ent->pw_name && ! ent->pw_passwd[0]) { - if (! password[0]) + if (ent->pw_name && !ent->pw_passwd[0]) { + if (!password[0]) return (1); /* user entered nothing */ else return (0); /* user entered something! */ @@ -86,7 +82,7 @@ valid(const char *password, const struct passwd *ent) * looking at execution time. */ - encrypted = pw_encrypt(password, salt); + encrypted = pw_encrypt (password, salt); /* * One last time we must deal with there being no password file @@ -94,7 +90,7 @@ valid(const char *password, const struct passwd *ent) * cause non-existent users to not be validated. */ - if (ent->pw_name && strcmp(encrypted, ent->pw_passwd) == 0) + if (ent->pw_name && strcmp (encrypted, ent->pw_passwd) == 0) return (1); else return (0); diff --git a/libmisc/xmalloc.c b/libmisc/xmalloc.c index e85ae26c..f6f009ee 100644 --- a/libmisc/xmalloc.c +++ b/libmisc/xmalloc.c @@ -10,29 +10,24 @@ #include #include "rcsid.h" -RCSID("$Id: xmalloc.c,v 1.3 1998/12/28 20:34:56 marekm Exp $") - +RCSID ("$Id: xmalloc.c,v 1.4 2003/04/22 10:59:22 kloczek Exp $") #include - #include "defines.h" +extern char *malloc (); -extern char *malloc(); - -char * -xmalloc(size_t size) +char *xmalloc (size_t size) { char *ptr; - ptr = malloc(size); + ptr = malloc (size); if (!ptr && size) { - fprintf(stderr, _("malloc(%d) failed\n"), (int) size); - exit(13); + fprintf (stderr, _("malloc(%d) failed\n"), (int) size); + exit (13); } return ptr; } -char * -xstrdup(const char *str) +char *xstrdup (const char *str) { - return strcpy(xmalloc(strlen(str) + 1), str); + return strcpy (xmalloc (strlen (str) + 1), str); } diff --git a/ltmain.sh b/ltmain.sh index c9635a41..ddc1f97f 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -1,7 +1,7 @@ # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # @@ -49,14 +49,14 @@ EOF fi # The name of this program. -progname=`$echo "$0" | sed 's%^.*/%%'` +progname=`$echo "$0" | ${SED} 's%^.*/%%'` modename="$progname" # Constants. PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.4.2 -TIMESTAMP=" (1.922.2.53 2001/09/11 03:18:52)" +VERSION=1.5 +TIMESTAMP=" (1.1220 2003/04/05 19:32:58)" default_mode= help="Try \`$progname --help' for more information." @@ -67,10 +67,19 @@ rm="rm -f" # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' +Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' -SP2NL='tr \040 \012' -NL2SP='tr \015\012 \040\040' +# test EBCDIC or ASCII +case `echo A|od -x` in + *[Cc]1*) # EBCDIC based system + SP2NL="tr '\100' '\n'" + NL2SP="tr '\r\n' '\100\100'" + ;; + *) # Assume ASCII based system + SP2NL="tr '\040' '\012'" + NL2SP="tr '\015\012' '\040\040'" + ;; +esac # NLS nuisances. # Only set LANG and LC_ALL to C if already set. @@ -88,8 +97,8 @@ fi : ${IFS=" "} if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - echo "$modename: not configured to build any kind of library" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + $echo "$modename: not configured to build any kind of library" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit 1 fi @@ -105,8 +114,51 @@ execute_dlfiles= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +win32_libid () { + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` + if test "X$win32_nmres" = "Ximport" ; then + win32_libid_type="x86 archive import" + else + win32_libid_type="x86 archive static" + fi + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + +# End of Shell function definitions +##################################### + # Parse our command line options once, thoroughly. -while test $# -gt 0 +while test "$#" -gt 0 do arg="$1" shift @@ -122,6 +174,33 @@ do execute_dlfiles) execute_dlfiles="$execute_dlfiles $arg" ;; + tag) + tagname="$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit 1 + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; *) eval "$prev=\$arg" ;; @@ -139,17 +218,25 @@ do ;; --version) - echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2003 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit 0 ;; --config) - sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" + done exit 0 ;; --debug) - echo "$progname: enabling shell trace mode" + $echo "$progname: enabling shell trace mode" set -x ;; @@ -158,16 +245,16 @@ do ;; --features) - echo "host: $host" + $echo "host: $host" if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" + $echo "enable shared libraries" else - echo "disable shared libraries" + $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then - echo "enable static libraries" + $echo "enable static libraries" else - echo "disable static libraries" + $echo "disable static libraries" fi exit 0 ;; @@ -177,10 +264,19 @@ do --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; + --preserve-dup-deps) duplicate_deps="yes" ;; + --quiet | --silent) show=: ;; + --tag) prevopt="--tag" prev=tag ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + ;; + -dlopen) prevopt="-dlopen" prev=execute_dlfiles @@ -214,8 +310,10 @@ if test -z "$show_help"; then # Infer the operation mode. if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 case $nonopt in - *cc | *++ | gcc* | *-gcc*) + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) mode=link for arg do @@ -270,158 +368,127 @@ if test -z "$show_help"; then modename="$modename: compile" # Get the compilation command and the source file. base_compile= - prev= - lastarg= - srcfile="$nonopt" + srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_output= + arg_mode=normal + libobj= - user_target=no for arg do - case $prev in - "") ;; - xcompiler) - # Aesthetically quote the previous argument. - prev= - lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - - case $arg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - continue - ;; - esac - - # Accept any command-line options. - case $arg in - -o) - if test "$user_target" != "no"; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit 1 - fi - user_target=next + case "$arg_mode" in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal ;; - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - continue - ;; - esac - - case $user_target in - next) - # The next one is the -o target name - user_target=yes - continue - ;; - yes) - # We got the output file - user_target=set + target ) libobj="$arg" + arg_mode=normal continue ;; - esac - # Accept the current argument as the source file. - lastarg="$srcfile" - srcfile="$arg" + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + arg_mode=target + continue + ;; + + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode # Aesthetically quote the previous argument. - - # Backslashify any backslashes, double quotes, and dollar signs. - # These are the only characters that are still specially - # interpreted inside of double-quoted scrings. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + case $lastarg in # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. - case $lastarg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - done + base_compile="$base_compile $lastarg" + done # for arg - case $user_target in - set) + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit 1 ;; - no) - # Get the name of the library object. - libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - *) + target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit 1 ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSfmso]' + xform='[cCFSifmso]' case $libobj in *.ada) xform=ada ;; *.adb) xform=adb ;; @@ -429,10 +496,13 @@ if test -z "$show_help"; then *.asm) xform=asm ;; *.c++) xform=c++ ;; *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; *.cpp) xform=cpp ;; *.cxx) xform=cxx ;; *.f90) xform=f90 ;; *.for) xform=for ;; + *.java) xform=java ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` @@ -445,6 +515,56 @@ if test -z "$show_help"; then ;; esac + # Infer tagged configuration to use if any are available and + # if one wasn't chosen via the "--tag" command line option. + # Only attempt this if the compiler in the base compile + # command doesn't match the default compiler. + if test -n "$available_tags" && test -z "$tagname"; then + case $base_compile in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case "$base_compile " in + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit 1 +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + if test -z "$base_compile"; then $echo "$modename: you must specify a compilation command" 1>&2 $echo "$help" 1>&2 @@ -453,9 +573,9 @@ if test -z "$show_help"; then # Delete any leftover library objects. if test "$build_old_libs" = yes; then - removelist="$obj $libobj" + removelist="$obj $lobj $libobj ${libobj}T" else - removelist="$libobj" + removelist="$lobj $libobj ${libobj}T" fi $run $rm $removelist @@ -480,6 +600,7 @@ if test -z "$show_help"; then removelist="$removelist $output_obj $lockfile" trap "$run $rm $removelist; exit 1" 1 2 15 else + output_obj= need_locks=no lockfile= fi @@ -493,7 +614,7 @@ if test -z "$show_help"; then done elif test "$need_locks" = warn; then if test -f "$lockfile"; then - echo "\ + $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` @@ -507,56 +628,55 @@ compiler." $run $rm $removelist exit 1 fi - echo $srcfile > "$lockfile" + $echo $srcfile > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != x"$srcfile"; then - echo "\ + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -585,9 +705,9 @@ compiler." fi # Just move the object if needed, then go on to compile the next one - if test x"$output_obj" != x"$libobj"; then - $show "$mv $output_obj $libobj" - if $run $mv $output_obj $libobj; then : + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : else error=$? $run $rm $removelist @@ -595,48 +715,21 @@ compiler." fi fi - # If we have no pic_flag, then copy the object into place and finish. - if (test -z "$pic_flag" || test "$pic_mode" != default) && - test "$build_old_libs" = yes; then - # Rename the .lo from within objdir to obj - if test -f $obj; then - $show $rm $obj - $run $rm $obj - fi + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != x"$srcfile"; then - echo "\ + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -684,7 +775,7 @@ compiler." fi # Just move the object if needed - if test x"$output_obj" != x"$obj"; then + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then $show "$mv $output_obj $obj" if $run $mv $output_obj $obj; then : else @@ -694,23 +785,25 @@ compiler." fi fi - # Create an invalid libtool object if no PIC, so that we do not - # accidentally link it into a program. - if test "$build_libtool_libs" != yes; then - $show "echo timestamp > $libobj" - $run eval "echo timestamp > \$libobj" || exit $? - else - # Move the .lo from within objdir - $show "$mv $libobj $lo_libobj" - if $run $mv $libobj $lo_libobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <\?\'\ \ ]*|*]*|"") @@ -887,11 +985,123 @@ compiler." prev= continue ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; release) release="-$arg" prev= continue ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit 1 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit 1 + fi + arg=$save_arg + prev= + continue + ;; rpath | xrpath) # We need an absolute path. case $arg in @@ -930,13 +1140,21 @@ compiler." finalize_command="$finalize_command $wl$qarg" continue ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac - fi # test -n $prev + fi # test -n "$prev" prevarg="$arg" @@ -988,11 +1206,16 @@ compiler." continue ;; + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in - no/*-*-irix*) + no/*-*-irix* | /*-*-irix*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; @@ -1043,18 +1266,22 @@ compiler." # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; - *-*-openbsd*) + *-*-openbsd* | *-*-freebsd*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd*) - # Do not include libc_r directly, use -pthread flag. + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" continue - ;; esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac fi deplibs="$deplibs $arg" continue @@ -1065,6 +1292,34 @@ compiler." continue ;; + # gcc -m* arguments should be passed to the linker via $compiler_flags + # in order to pass architecture information to the linker + # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo + # but this is not reliable with gcc because gcc may use -mfoo to + # select a different linker, different libraries, etc, while + # -Wl,-mfoo simply passes -mfoo to the linker. + -m*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + if test "$with_gcc" = "yes" ; then + compiler_flags="$compiler_flags $arg" + fi + continue + ;; + + -shrext) + prev=shrext + continue + ;; + -no-fast-install) fast_install=no continue @@ -1089,6 +1344,11 @@ compiler." continue ;; + -objectlist) + prev=objectlist + continue + ;; + -o) prev=output ;; -release) @@ -1141,6 +1401,11 @@ compiler." prev=vinfo continue ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; -Wc,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` @@ -1189,6 +1454,11 @@ compiler." continue ;; + -XCClinker) + prev=xcclinker + continue + ;; + # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need @@ -1201,29 +1471,101 @@ compiler." esac ;; - *.lo | *.$objext) - # A library or standard object. - if test "$prev" = dlfiles; then - # This file was specified with -dlopen. - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $arg" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi + *.$objext) + # A standard object. + objs="$objs $arg" + ;; - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` - prev= - else + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. case $arg in - *.lo) libobjs="$libobjs $arg" ;; - *) objs="$objs $arg" ;; + */* | *\\*) . $arg ;; + *) . ./$arg ;; esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit 1 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi fi ;; @@ -1277,12 +1619,54 @@ compiler." exit 1 fi + # Infer tagged configuration to use if any are available and + # if one wasn't chosen via the "--tag" command line option. + # Only attempt this if the compiler in the base link + # command doesn't match the default compiler. + if test -n "$available_tags" && test -z "$tagname"; then + case $base_compile in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case $base_compile in + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) + # The compiler in $compile_command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit 1 +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi + oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` libobjs_save="$libobjs" @@ -1303,11 +1687,11 @@ compiler." output_objdir="$output_objdir/$objdir" fi # Create the object directory. - if test ! -d $output_objdir; then + if test ! -d "$output_objdir"; then $show "$mkdir $output_objdir" $run $mkdir $output_objdir status=$? - if test $status -ne 0 && test ! -d $output_objdir; then + if test "$status" -ne 0 && test ! -d "$output_objdir"; then exit $status fi fi @@ -1325,16 +1709,47 @@ compiler." *) linkmode=prog ;; # Anything else should be a program. esac + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplcations in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac specialdeplibs= + libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi libs="$libs $deplib" done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + deplibs= newdependency_libs= newlib_search_path= @@ -1366,25 +1781,30 @@ compiler." ;; esac for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi if test "$linkmode" = prog; then - # Determine which files to process case $pass in - dlopen) - libs="$dlfiles" - save_deplibs="$deplibs" # Collect dlpreopened libraries - deplibs= - ;; + dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi for deplib in $libs; do lib= found=no case $deplib in -l*) - if test "$linkmode" = oldlib && test "$linkmode" = obj; then - $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 continue fi if test "$pass" = conv; then @@ -1410,6 +1830,42 @@ compiler." test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi fi ;; # -l -L*) @@ -1434,7 +1890,7 @@ compiler." fi ;; *) - $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 ;; esac # linkmode continue @@ -1460,15 +1916,17 @@ compiler." case $linkmode in lib) if test "$deplibs_check_method" != pass_all; then - echo - echo "*** Warning: This library needs some functionality provided by $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." else - echo - echo "*** Warning: Linking the shared library $output against the" - echo "*** static library $deplib is not portable!" + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue @@ -1485,14 +1943,18 @@ compiler." esac # linkmode ;; # *.$libext *.lo | *.$objext) - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi fi continue ;; @@ -1501,14 +1963,14 @@ compiler." continue ;; esac # case $deplib - if test $found = yes || test -f "$lib"; then : + if test "$found" = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib'" 1>&2 exit 1 fi # Check to see that this really is a libtool archive. - if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 @@ -1524,8 +1986,9 @@ compiler." library_names= old_library= # If the library was installed with an old release of libtool, - # it will not redefine variable installed. + # it will not redefine variables installed, or shouldnotlink installed=yes + shouldnotlink=no # Read the .la file case $lib in @@ -1535,8 +1998,7 @@ compiler." if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" = oldlib && test "$linkmode" = obj; }; then - # Add dl[pre]opened files of deplib + { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi @@ -1555,9 +2017,11 @@ compiler." tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then @@ -1567,6 +2031,7 @@ compiler." continue fi # $pass = conv + # Get the name of the library we link against. linklib= for l in $old_library $library_names; do @@ -1585,8 +2050,10 @@ compiler." fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. - dlprefiles="$dlprefiles $lib" + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi @@ -1652,11 +2119,12 @@ compiler." compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else - deplibs="$lib $deplibs" + deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi + if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" @@ -1673,28 +2141,36 @@ compiler." -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test esac # Need to link against all dependency_libs? - if test $linkalldeplibs = yes; then + if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... - link_static=no # Whether the deplib will be linked statically - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # Link against this shared library + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi - if test "$linkmode,$pass" = "prog,link" || - { test "$linkmode" = lib && test "$hardcode_into_libs" = yes; }; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. @@ -1716,17 +2192,6 @@ compiler." esac ;; esac - if test "$linkmode" = prog; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi - fi fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && @@ -1736,11 +2201,51 @@ compiler." # We only need to search for static libraries continue fi + fi + link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi + # This is a shared library + + # Warn about portability, can't link against -module's on some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname @@ -1754,7 +2259,7 @@ compiler." elif test -n "$soname_spec"; then # bleh windows case $host in - *cygwin*) + *cygwin* | mingw*) major=`expr $current - $age` versuffix="-$major" ;; @@ -1766,8 +2271,8 @@ compiler." # Make a new name for the extract_expsyms_cmds to use soroot="$soname" - soname=`echo $soroot | sed -e 's/^.*\///'` - newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : @@ -1798,7 +2303,7 @@ compiler." # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib - fi # test -n $old_archive_from_expsyms_cmds + fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= @@ -1809,6 +2314,22 @@ compiler." immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" + case $host in + *-*-sco3.2v5* ) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against it, someone + # is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; @@ -1827,6 +2348,14 @@ compiler." add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" @@ -1868,6 +2397,7 @@ compiler." if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= + add_prefix_dir= add_dir= add= # Finalize command for both is simple: just hardcode it. @@ -1882,30 +2412,47 @@ compiler." *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi add="-l$name" fi + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_prefix_dir="-L$inst_prefix_dir$libdir" + ;; + esac + fi + + # add_prefix_dir must be appended instead, otherwise it can + # possibly be overrided by any hardcoded -L/... path in deplibs if test "$linkmode" = prog; then + test -n "$add_prefix_dir" && finalize_deplibs="$finalize_deplibs $add_prefix_dir" test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else + test -n "$add_prefix_dir" && deplibs="$deplibs $add_prefix_dir" test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - - # Try to link the static library # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. @@ -1925,20 +2472,21 @@ compiler." # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. - echo - echo "*** Warning: This library needs some functionality provided by $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then - echo "*** Therefore, libtool will create a static module, that should work " - echo "*** as long as the dlopening application is linked with the -dlopen flag." + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module @@ -1957,8 +2505,8 @@ compiler." if test "$linkmode" = lib; then if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || test $build_old_libs = yes || - test $link_static = yes; }; then + { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || + test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do @@ -1981,9 +2529,11 @@ compiler." tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi tmp_libs="$tmp_libs $deplib" done @@ -2007,9 +2557,9 @@ compiler." ;; esac if grep "^installed=no" $deplib > /dev/null; then - path="-L$absdir/$objdir" + path="$absdir/$objdir" else - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit 1 @@ -2017,12 +2567,53 @@ compiler." if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 fi - path="-L$absdir" + path="$absdir" fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + newlib_search_path="$newlib_search_path $path" + path="" + fi + ;; + *) + path="-L$path" + ;; + esac + + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac ;; *) continue ;; esac case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$deplibs $depdepl" ;; + esac + case " $deplibs " in *" $path "*) ;; *) deplibs="$deplibs $path" ;; esac @@ -2030,6 +2621,7 @@ compiler." fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs + dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do @@ -2037,7 +2629,6 @@ compiler." done fi if test "$pass" != dlopen; then - test "$pass" != scan && dependency_libs="$newdependency_libs" if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= @@ -2060,9 +2651,30 @@ compiler." eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) @@ -2090,11 +2702,19 @@ compiler." eval $var=\"$tmp_libs\" done # for var fi - if test "$pass" = "conv" && - { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then - libs="$deplibs" # reset libs - deplibs= - fi + # Last step: remove runtime libs from dependency_libs (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" @@ -2103,6 +2723,10 @@ compiler." case $linkmode in oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi @@ -2116,7 +2740,7 @@ compiler." fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 fi if test -n "$release"; then @@ -2138,6 +2762,7 @@ compiler." case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext\" eval libname=\"$libname_spec\" ;; *) @@ -2149,6 +2774,7 @@ compiler." if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext\" eval libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` @@ -2161,9 +2787,9 @@ compiler." $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit 1 else - echo - echo "*** Warning: Linking the shared library $output against the non-libtool" - echo "*** objects $objs is not portable!" + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi @@ -2173,7 +2799,7 @@ compiler." fi set dummy $rpath - if test $# -gt 2; then + if test "$#" -gt 2; then $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 fi install_libdir="$2" @@ -2182,14 +2808,16 @@ compiler." if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. - libext=al + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then @@ -2208,9 +2836,46 @@ compiler." exit 1 fi - current="$2" - revision="$3" - age="$4" + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac # Check that each of the things are valid numbers. case $current in @@ -2240,7 +2905,7 @@ compiler." ;; esac - if test $age -gt $current; then + if test "$age" -gt "$current"; then $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit 1 @@ -2273,16 +2938,21 @@ compiler." versuffix=".$current"; ;; - irix) + irix | nonstopux) major=`expr $current - $age + 1` - verstring="sgi$major.$revision" + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision - while test $loop != 0; do + while test "$loop" -ne 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` - verstring="sgi$major.$iface:$verstring" + verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. @@ -2296,13 +2966,13 @@ compiler." ;; osf) - major=`expr $current - $age` + major=.`expr $current - $age` versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age - while test $loop != 0; do + while test "$loop" -ne 0; do iface=`expr $current - $loop` loop=`expr $loop - 1` verstring="$verstring:${iface}.0" @@ -2326,7 +2996,7 @@ compiler." *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit 1 ;; esac @@ -2334,12 +3004,11 @@ compiler." # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= - verstring="0.0" case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely - verstring="" + verstring= ;; *) verstring="0.0" @@ -2373,9 +3042,24 @@ compiler." fi if test "$mode" != relink; then - # Remove our outputs. - $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" - $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi fi # Now set the variables for building old libraries. @@ -2388,9 +3072,9 @@ compiler." # Eliminate all temporary directories. for path in $notinst_path; do - lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` - deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` - dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` + lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` + deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` done if test -n "$xrpath"; then @@ -2403,7 +3087,7 @@ compiler." *) finalize_rpath="$finalize_rpath $libdir" ;; esac done - if test $hardcode_into_libs != yes || test $build_old_libs = yes; then + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi @@ -2441,10 +3125,11 @@ compiler." *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd*) + *-*-openbsd* | *-*-freebsd*) # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue ;; - *) + *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" @@ -2473,7 +3158,7 @@ compiler." # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behaviour. + # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) @@ -2486,43 +3171,22 @@ compiler." int main() { return 0; } EOF $rm conftest - $CC -o conftest conftest.c $deplibs - if test $? -eq 0 ; then + $LTCC -o conftest conftest.c $deplibs + if test "$?" -eq 0 ; then ldd_output=`ldd conftest` for i in $deplibs; do name="`expr $i : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - newdeplibs="$newdeplibs $i" - fi - done - else - # Error occured in the first compile. Let's try to salvage the situation: - # Compile a seperate program for each library. - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - $rm conftest - $CC -o conftest conftest.c $i - # Did it work? - if test $? -eq 0 ; then - ldd_output=`ldd conftest` + if test "$name" != "" && test "$name" -ne "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then libname=`eval \\$echo \"$libname_spec\"` deplib_matches=`eval \\$echo \"$library_names_spec\"` set dummy $deplib_matches @@ -2531,19 +3195,64 @@ EOF newdeplibs="$newdeplibs $i" else droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which I believe you do not have" + $echo "*** because a test_compile did reveal that the linker did not use it for" + $echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + $rm conftest + $LTCC -o conftest conftest.c $i + # Did it work? + if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because a test_compile did reveal that the linker did not use this one" + $echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi fi else droppeddeps=yes - echo - echo "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." + $echo + $echo "*** Warning! Library $i is needed by this library but I was not able to" + $echo "*** make it link in! You will probably need to install it or some" + $echo "*** library that it depends on before this library will be fully" + $echo "*** functional. Installing it before continuing would be even better." fi else newdeplibs="$newdeplibs $i" @@ -2557,11 +3266,20 @@ EOF for a_deplib in $deplibs; do name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do + if test "$name" != "" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then @@ -2574,28 +3292,36 @@ EOF # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | sed 's/.* -> //'` + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | sed 10q \ - | egrep "$file_magic_regex" > /dev/null; then + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi - done - done + done + done + fi if test -n "$a_deplib" ; then droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi fi else # Add a -L argument. @@ -2610,26 +3336,44 @@ EOF name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - if eval echo \"$potent_lib\" 2>/dev/null \ - | sed 10q \ - | egrep "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done done - done + fi if test -n "$a_deplib" ; then droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi fi else # Add a -L argument. @@ -2639,16 +3383,23 @@ EOF ;; none | unknown | *) newdeplibs="" - if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | - grep . >/dev/null; then - echo + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." + $echo "*** Warning: inter-library dependencies are not supported in this platform." else - echo "*** Warning: inter-library dependencies are not known to be supported." + $echo "*** Warning: inter-library dependencies are not known to be supported." fi - echo "*** All declared inter-library dependencies are being dropped." + $echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; @@ -2668,17 +3419,17 @@ EOF if test "$droppeddeps" = yes; then if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - echo "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" @@ -2688,16 +3439,16 @@ EOF build_libtool_libs=no fi else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." - if test $allow_undefined = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module @@ -2755,7 +3506,11 @@ EOF if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" - eval dep_rpath=\"$hardcode_libdir_flag_spec\" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. @@ -2775,6 +3530,7 @@ EOF fi # Get the real and link names of the library. + eval shared_ext=\"$shrext\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" @@ -2785,7 +3541,9 @@ EOF else soname="$realname" fi - test -z "$dlname" && dlname=$soname + if test -z "$dlname"; then + dlname=$soname + fi lib="$output_objdir/$realname" for link @@ -2793,23 +3551,6 @@ EOF linknames="$linknames $link" done - # Ensure that we have .o objects for linkers which dislike .lo - # (e.g. aix) in case we are running --disable-static - for obj in $libobjs; do - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` - if test ! -f $xdir/$oldobj; then - $show "(cd $xdir && ${LN_S} $baseobj $oldobj)" - $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $? - fi - done - # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` @@ -2823,13 +3564,21 @@ EOF save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + fi done IFS="$save_ifs" if test -n "$export_symbols_regex"; then - $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi @@ -2840,17 +3589,29 @@ EOF $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" else gentop="$output_objdir/${outputname}x" $show "${rm}r $gentop" $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" status=$? - if test $status -ne 0 && test ! -d "$gentop"; then + if test "$status" -ne 0 && test ! -d "$gentop"; then exit $status fi generated="$generated $gentop" @@ -2866,16 +3627,42 @@ EOF $show "${rm}r $xdir" $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" status=$? - if test $status -ne 0 && test ! -d "$xdir"; then + if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi - libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done fi fi @@ -2891,10 +3678,130 @@ EOF fi # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval cmds=\"$module_expsym_cmds\" + else + eval cmds=\"$module_cmds\" + fi + else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval cmds=\"$archive_expsym_cmds\" else eval cmds=\"$archive_cmds\" + fi + fi + + if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$save_output-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$save_output-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$save_output-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadale object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + eval cmds=\"$archive_cmds\" + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~$rm $delfiles\" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do @@ -2986,10 +3893,10 @@ EOF gentop="$output_objdir/${obj}x" $show "${rm}r $gentop" $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" status=$? - if test $status -ne 0 && test ! -d "$gentop"; then + if test "$status" -ne 0 && test ! -d "$gentop"; then exit $status fi generated="$generated $gentop" @@ -3005,16 +3912,42 @@ EOF $show "${rm}r $xdir" $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" status=$? - if test $status -ne 0 && test ! -d "$xdir"; then + if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi - reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done fi fi @@ -3050,8 +3983,8 @@ EOF # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. - $show "echo timestamp > $libobj" - $run eval "echo timestamp > $libobj" || exit $? + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? exit 0 fi @@ -3067,20 +4000,6 @@ EOF $run eval "$cmd" || exit $? done IFS="$save_ifs" - else - # Just create a symlink. - $show $rm $libobj - $run $rm $libobj - xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$libobj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` - oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` - $show "(cd $xdir && $LN_S $oldobj $baseobj)" - $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $? fi if test -n "$gentop"; then @@ -3093,7 +4012,7 @@ EOF prog) case $host in - *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 @@ -3118,6 +4037,16 @@ EOF ;; esac + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" @@ -3268,12 +4197,12 @@ extern \"C\" { done if test -n "$exclude_expsyms"; then - $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then - $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi @@ -3281,9 +4210,9 @@ extern \"C\" { if test -z "$export_symbols"; then export_symbols="$output_objdir/$output.exp" $run $rm $export_symbols - $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' else - $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' fi @@ -3291,8 +4220,8 @@ extern \"C\" { for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" - name=`echo "$arg" | sed -e 's%^.*/%%'` - $run eval 'echo ": $name " >> "$nlist"' + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done @@ -3301,12 +4230,18 @@ extern \"C\" { test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then - egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S @@ -3315,7 +4250,7 @@ extern \"C\" { if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else - echo '/* NONE */' >> "$output_objdir/$dlsyms" + $echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ @@ -3367,18 +4302,18 @@ static const void *lt_preloaded_setup() { *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) case "$compile_command " in *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; esac;; *-*-hpux*) case "$compile_command " in *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DPIC";; + *) pic_flag_for_symtable=" $pic_flag";; esac esac # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? # Clean up the generated files. $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" @@ -3403,7 +4338,7 @@ static const void *lt_preloaded_setup() { finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi - if test $need_relink = no || test "$build_libtool_libs" != yes; then + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" @@ -3528,7 +4463,7 @@ static const void *lt_preloaded_setup() { relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done - relink_command="cd `pwd`; $relink_command" + relink_command="(cd `pwd`; $relink_command)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi @@ -3548,13 +4483,228 @@ static const void *lt_preloaded_setup() { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in - *.exe) output=`echo $output|sed 's,.exe$,,'` ;; + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in - *cygwin*) exeext=.exe ;; + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; *) exeext= ;; esac + case $host in + *cygwin* | *mingw* ) + cwrappersource=`$echo ${objdir}/lt-${output}.c` + cwrapper=`$echo ${output}.exe` + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +#define DIR_SEPARATOR '/' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +#define HAVE_DOS_BASED_FILE_SYSTEM +#ifndef DIR_SEPARATOR_2 +#define DIR_SEPARATOR_2 '\\' +#endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +char * basename (const char *name); +char * fnqualify(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup ((char *) basename (argv[0])); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = fnqualify(argv[0]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +char * +basename (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha (name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return (char *) base; +} + +char * +fnqualify(const char *path) +{ + size_t size; + char *p; + char tmp[LT_PATHMAX + 1]; + + assert(path != NULL); + + /* Is it qualified already? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha (path[0]) && path[1] == ':') + return xstrdup (path); +#endif + if (IS_DIR_SEPARATOR (path[0])) + return xstrdup (path); + + /* prepend the current directory */ + /* doesn't handle '~' */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ + p = XMALLOC(char, size); + sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); + return p; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC -s -o $cwrapper $cwrappersource + ;; + esac $rm $output trap "$rm $output; exit 1" 1 2 15 @@ -3572,7 +4722,7 @@ static const void *lt_preloaded_setup() { # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' +Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout @@ -3610,7 +4760,7 @@ else test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` @@ -3623,7 +4773,7 @@ else fi file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done # Try to get the absolute directory name. @@ -3632,12 +4782,12 @@ else " if test "$fast_install" = yes; then - echo >> $output "\ + $echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" @@ -3648,7 +4798,7 @@ else $rm \"\$progdir/\$file\" fi" - echo >> $output "\ + $echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then @@ -3666,13 +4816,13 @@ else $rm \"\$progdir/\$file\" fi" else - echo >> $output "\ + $echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi - echo >> $output "\ + $echo >> $output "\ if test -f \"\$progdir/\$program\"; then" @@ -3703,14 +4853,6 @@ else # Run the actual program with our arguments. " case $host in - # win32 systems need to use the prog path for dll - # lookup to work - *-*-cygwin* | *-*-pw32*) - $echo >> $output "\ - exec \$progdir/\$program \${1+\"\$@\"} -" - ;; - # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ @@ -3720,11 +4862,7 @@ else *) $echo >> $output "\ - # Export the path to the program. - PATH=\"\$progdir:\$PATH\" - export PATH - - exec \$program \${1+\"\$@\"} + exec \$progdir/\$program \${1+\"\$@\"} " ;; esac @@ -3736,7 +4874,7 @@ else # The program doesn't exist. \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 - echo \"See the $PACKAGE documentation for more information.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ @@ -3759,7 +4897,7 @@ fi\ oldobjs="$libobjs_save" build_libtool_libs=no else - oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` + oldobjs="$old_deplibs $non_pic_objects" fi addlibs="$old_convenience" fi @@ -3768,10 +4906,10 @@ fi\ gentop="$output_objdir/${outputname}x" $show "${rm}r $gentop" $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" status=$? - if test $status -ne 0 && test ! -d "$gentop"; then + if test "$status" -ne 0 && test ! -d "$gentop"; then exit $status fi generated="$generated $gentop" @@ -3788,14 +4926,40 @@ fi\ $show "${rm}r $xdir" $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" status=$? - if test $status -ne 0 && test ! -d "$xdir"; then + if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` done @@ -3805,25 +4969,65 @@ fi\ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then eval cmds=\"$old_archive_from_new_cmds\" else - # Ensure that we have .o objects in place in case we decided - # not to build a shared library, and have fallen back to building - # static libs even though --disable-static was passed! - for oldobj in $oldobjs; do - if test ! -f $oldobj; then - xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$oldobj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'` - obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` - $show "(cd $xdir && ${LN_S} $obj $baseobj)" - $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $? - fi - done - eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + # GNU ar 2.10+ was changed to match POSIX; thus no paths are + # encoded into archives. This makes 'ar r' malfunction in + # this piecewise linking case whenever conflicting object + # names appear in distinct ar calls; check, warn and compensate. + if (for obj in $save_oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 + $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 + AR_FLAGS=cq + fi + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~$old_archive_cmds\" + fi + fi fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do @@ -3858,7 +5062,7 @@ fi\ fi done # Quote the link command for shipping. - relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" + relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` # Only create the output if not a dry run. @@ -3875,7 +5079,7 @@ fi\ case $deplib in *.la) name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit 1 @@ -3889,7 +5093,7 @@ fi\ newdlfiles= for lib in $dlfiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 @@ -3900,7 +5104,7 @@ fi\ newdlprefiles= for lib in $dlprefiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 @@ -3913,7 +5117,7 @@ fi\ # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file @@ -3942,13 +5146,16 @@ revision=$revision # Is this an already installed library? installed=$installed +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" - if test "$installed" = no && test $need_relink = yes; then + if test "$installed" = no && test "$need_relink" = yes; then $echo >> $output "\ relink_command=\"$relink_command\"" fi @@ -4084,7 +5291,7 @@ relink_command=\"$relink_command\"" # Not a directory, so check to see that there is only one file specified. set dummy $files - if test $# -gt 2; then + if test "$#" -gt 2; then $echo "$modename: \`$dest' is not a directory" 1>&2 $echo "$help" 1>&2 exit 1 @@ -4124,7 +5331,7 @@ relink_command=\"$relink_command\"" *.la) # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -4159,12 +5366,33 @@ relink_command=\"$relink_command\"" dir="$dir$objdir" if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit 1 + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - continue + exit 1 fi fi @@ -4186,7 +5414,7 @@ relink_command=\"$relink_command\"" $run eval "$striplib $destdir/$realname" || exit $? fi - if test $# -gt 0; then + if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. for linkname do @@ -4272,20 +5500,48 @@ relink_command=\"$relink_command\"" destfile="$destdir/$destfile" fi + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac # If there is no directory component, then add one. case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; esac # Check the variables that should have been set. if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 exit 1 fi @@ -4308,10 +5564,17 @@ relink_command=\"$relink_command\"" done relink_command= + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac # If there is no directory component, then add one. case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; esac outputname= @@ -4325,7 +5588,7 @@ relink_command=\"$relink_command\"" $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 continue fi - file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` @@ -4343,14 +5606,14 @@ relink_command=\"$relink_command\"" fi else # Install the binary that we compiled earlier. - file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyways case $install_prog,$host in - /usr/bin/install*,*cygwin*) + */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok @@ -4359,7 +5622,7 @@ relink_command=\"$relink_command\"" destfile=$destfile.exe ;; *:*.exe) - destfile=`echo $destfile | sed -e 's,.exe$,,'` + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; @@ -4444,42 +5707,42 @@ relink_command=\"$relink_command\"" fi # Exit here if they wanted silent mode. - test "$show" = ":" && exit 0 + test "$show" = : && exit 0 - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" + $echo "----------------------------------------------------------------------" + $echo "Libraries have been installed in:" for libdir in $libdirs; do - echo " $libdir" + $echo " $libdir" done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" fi if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" - echo " - use the \`$flag' linker flag" + $echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then - echo " - have your system administrator run these commands:$admincmds" + $echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi - echo - echo "See any operating system documentation about shared libraries for" - echo "more information, such as the ld(1) and ld.so(8) manual pages." - echo "----------------------------------------------------------------------" + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "----------------------------------------------------------------------" exit 0 ;; @@ -4507,7 +5770,7 @@ relink_command=\"$relink_command\"" case $file in *.la) # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -4578,7 +5841,7 @@ relink_command=\"$relink_command\"" -*) ;; *) # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; @@ -4601,7 +5864,7 @@ relink_command=\"$relink_command\"" eval "export $shlibpath_var" fi - # Restore saved enviroment variables + # Restore saved environment variables if test "${save_LC_ALL+set}" = set; then LC_ALL="$save_LC_ALL"; export LC_ALL fi @@ -4610,7 +5873,7 @@ relink_command=\"$relink_command\"" fi # Now prepare to actually exec the command. - exec_cmd='"$cmd"$args' + exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then @@ -4651,19 +5914,20 @@ relink_command=\"$relink_command\"" rmdirs= + origobjdir="$objdir" for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. - objdir="$objdir" + objdir="$origobjdir" else - objdir="$dir/$objdir" + objdir="$dir/$origobjdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test $mode = uninstall && objdir="$dir" + test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates - if test $mode = clean; then + if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; @@ -4687,7 +5951,7 @@ relink_command=\"$relink_command\"" case $name in *.la) # Possibly a libtool archive, so verify it. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. @@ -4695,9 +5959,9 @@ relink_command=\"$relink_command\"" rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - if test $mode = uninstall; then + if test "$mode" = uninstall; then if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" @@ -4706,7 +5970,7 @@ relink_command=\"$relink_command\"" IFS="$save_ifs" $show "$cmd" $run eval "$cmd" - if test $? != 0 && test "$rmforce" != yes; then + if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done @@ -4721,7 +5985,7 @@ relink_command=\"$relink_command\"" IFS="$save_ifs" $show "$cmd" $run eval "$cmd" - if test $? != 0 && test "$rmforce" != yes; then + if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done @@ -4733,22 +5997,52 @@ relink_command=\"$relink_command\"" ;; *.lo) - if test "$build_old_libs" = yes; then - oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` - rmfiles="$rmfiles $dir/$oldobj" + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi fi ;; *) - # Do a test to see if this is a libtool program. - if test $mode = clean && - (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$file + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi fi fi ;; @@ -4756,6 +6050,7 @@ relink_command=\"$relink_command\"" $show "$rm $rmfiles" $run $rm $rmfiles || exit_status=1 done + objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do @@ -4803,6 +6098,7 @@ Provide generalized library-building support services. --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] --quiet same as \`--silent' --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG --version print version information MODE must be one of the following: @@ -4816,7 +6112,9 @@ MODE must be one of the following: uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE." +a more detailed description of MODE. + +Report bugs to ." exit 0 ;; @@ -4928,6 +6226,7 @@ The following components of LINK-COMMAND are treated specially: -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries @@ -4973,11 +6272,31 @@ Otherwise, only FILE itself is deleted using RM." ;; esac -echo +$echo $echo "Try \`$modename --help' for more information about other modes." exit 0 +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + # Local Variables: # mode:shell-script # sh-indentation:2 diff --git a/man/Makefile.am b/man/Makefile.am index f388d9ae..6a803aa0 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,6 +1,6 @@ # subdirectories for translated manual pages -SUBDIRS = cs de fr hu id it ja ko pl pt_BR +SUBDIRS = cs de es fr hu id it ja ko pl pt_BR ru zh_CN zh_TW man_MANS = \ adduser.8 \ @@ -11,11 +11,11 @@ man_MANS = \ expiry.1 \ faillog.5 \ faillog.8 \ - getspnam.3 \ gpasswd.1 \ groupadd.8 \ groupdel.8 \ groupmod.8 \ + groups.1 \ grpck.8 \ grpconv.8 \ grpunconv.8 \ @@ -45,12 +45,8 @@ man_MANS = \ vipw.8 EXTRA_DIST = $(man_MANS) \ - dpasswd.8 \ - getspnam.3 \ - groups.1 \ id.1 \ pw_auth.3 \ - pwauth.8 \ shadow.3 \ shadowconfig.8 \ sulogin.8 diff --git a/man/Makefile.in b/man/Makefile.in index ac356537..3bf9b0f8 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,103 +14,146 @@ @SET_MAKE@ -# subdirectories for translated manual pages - -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ -SUBDIRS = cs de fr hu id it ja ko pl pt_BR +# subdirectories for translated manual pages +SUBDIRS = cs de es fr hu id it ja ko pl pt_BR ru zh_CN zh_TW man_MANS = \ adduser.8 \ @@ -120,11 +164,11 @@ man_MANS = \ expiry.1 \ faillog.5 \ faillog.8 \ - getspnam.3 \ gpasswd.1 \ groupadd.8 \ groupdel.8 \ groupmod.8 \ + groups.1 \ grpck.8 \ grpconv.8 \ grpunconv.8 \ @@ -155,17 +199,14 @@ man_MANS = \ EXTRA_DIST = $(man_MANS) \ - dpasswd.8 \ - getspnam.3 \ - groups.1 \ id.1 \ pw_auth.3 \ - pwauth.8 \ shadow.3 \ shadowconfig.8 \ sulogin.8 subdir = man +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -174,15 +215,21 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = Makefile.am Makefile.in +RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ + ps-recursive install-info-recursive uninstall-info-recursive \ + all-recursive install-data-recursive install-exec-recursive \ + installdirs-recursive install-recursive uninstall-recursive \ + check-recursive installcheck-recursive +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -192,13 +239,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -216,6 +256,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -233,6 +277,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -240,45 +288,6 @@ uninstall-man1: rm -f $(DESTDIR)$(man1dir)/$$inst; \ done -man3dir = $(mandir)/man3 -install-man3: $(man3_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(man3dir) - @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.3*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst; \ - done -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.3*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man3dir)/$$inst"; \ - rm -f $(DESTDIR)$(man3dir)/$$inst; \ - done - man5dir = $(mandir)/man5 install-man5: $(man5_MANS) $(man_MANS) @$(NORMAL_INSTALL) @@ -294,6 +303,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -311,6 +324,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -333,6 +350,10 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -350,6 +371,10 @@ uninstall-man8: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -364,7 +389,7 @@ uninstall-man8: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -384,7 +409,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -411,66 +436,108 @@ tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) + mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ + if (etags --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + else \ + include_option=--include; \ + fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + test -f $$subdir/TAGS && \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ + here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - for subdir in $(SUBDIRS); do \ + list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -488,7 +555,7 @@ check: check-recursive all-am: Makefile $(MANS) installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man3dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) + $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) install: install-recursive install-exec: install-exec-recursive @@ -501,6 +568,7 @@ install-am: all-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -508,7 +576,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -518,7 +586,7 @@ clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags @@ -536,42 +604,49 @@ install-exec-am: install-info: install-info-recursive -install-man: install-man1 install-man3 install-man5 install-man8 +install-man: install-man1 install-man5 install-man8 installcheck-am: maintainer-clean: maintainer-clean-recursive - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-info: uninstall-info-recursive -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 +uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-man1 install-man3 \ - install-man5 install-man8 install-recursive install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - installdirs-recursive maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ + clean-generic clean-libtool clean-recursive ctags \ + ctags-recursive distclean distclean-generic distclean-libtool \ + distclean-recursive distclean-tags distdir dvi dvi-am \ + dvi-recursive info info-am info-recursive install install-am \ + install-data install-data-am install-data-recursive \ + install-exec install-exec-am install-exec-recursive \ + install-info install-info-am install-info-recursive install-man \ + install-man1 install-man5 install-man8 install-recursive \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am installdirs-recursive maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ + pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ + tags-recursive uninstall uninstall-am uninstall-info-am \ uninstall-info-recursive uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 \ - uninstall-recursive + uninstall-man5 uninstall-man8 uninstall-recursive # 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. diff --git a/man/chage.1 b/man/chage.1 index e058d103..596eb4d3 100644 --- a/man/chage.1 +++ b/man/chage.1 @@ -1,4 +1,4 @@ -.\"$Id: chage.1,v 1.9 2002/03/09 19:22:29 ankry Exp $ +.\"$Id: chage.1,v 1.12 2003/05/06 22:55:11 kloczek Exp $ .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. .\" @@ -39,66 +39,58 @@ chage \- change user password expiry information \fBchage\fR \fB-l \fIuser\fR .SH DESCRIPTION -\fBchage\fR changes the number of days between password changes and the -date of the last password change. -This information is used by the system to determine when a user must -change her password. +\fBchage\fR changes the number of days between password changes and the date +of the last password change. This information is used by the system to +determine when a user must change her password. +.PP The \fBchage\fR command is restricted to the root user, except for the \fB-l\fR option, which may be used by an unprivileged user to determine when her password or account is due to expire. -.PP -With the \fB-m\fR option, the value of \fImindays\fR is 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. -.PP -With the \fB-M\fR option, the value of \fImaxdays\fR is the 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 be required to change her password before being -able to use her account. +The options which apply to the \fBchage\fR command are: +.IP "\fB-m\fR \fImindays\fR" +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 +be required to change her password before being able to use her account. This occurance can be planned for in advance by use of the \fB-W\fR option, which provides the user with advance warning. -.PP -With the \fB-d\fR option, the value of \fIlastday\fR is 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). -.PP -The \fB-E\fR option is used to set a date on which the user's account will -no longer be accessible. -The \fIexpiredate\fR 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. -.PP -The \fB-I\fR option is used to set the number of days of inactivity after -a password has expired before the account is locked. -The \fIinactive\fR 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. -.PP -The \fB-W\fR option is used to set the number of days of warning before a -password change is required. -The \fIwarndays\fR option is the number of days prior to the password -expiring that a user will be warned her password is about to expire. +.IP "\fB-d\fR \fIlastday\fR" +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). +.IP "\fB-E\fR \fIexpiredate\fR" +Set the date on which the user's account will no longer be accessible. The +\fIexpiredate\fR 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. +.IP "\fB-I\fR \fIinactive\fR" +Set the number of days of inactivity after a password has expired before the +account is locked. The \fIinactive\fR 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. +.IP "\fB-W\fR \fIwarndays\fR" +Set the number of days of warning before a password change is required. The +\fIwarndays\fR option is the number of days prior to the password expiring +that a user will be warned her password is about to expire. .PP If none of the options are selected, \fBchage\fR 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 \fB[ ]\fR marks. +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 \fB[ ]\fR +marks. .SH NOTE The \fBchage\fR program requires shadow password file to be available. Its functionality is not available when passwords are stored in the passwd file. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/shadow \- shadow user account information +\fI/etc/shadow\fR \ - shadow user account information .SH SEE ALSO .BR passwd (5), .BR shadow (5) diff --git a/man/chfn.1 b/man/chfn.1 index a9945763..6d0d6d6e 100644 --- a/man/chfn.1 +++ b/man/chfn.1 @@ -1,4 +1,4 @@ -.\"$Id: chfn.1,v 1.8 2002/03/09 19:22:29 ankry Exp $ +.\"$Id: chfn.1,v 1.10 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. .\" @@ -37,27 +37,24 @@ chfn \- change real user name and information [\fIuser\fR] .SH DESCRIPTION \fBchfn\fR changes user fullname, office number, office extension, and home -phone number information for a user's account. -This information is typically printed by \fBfinger\fR(1) and similiar -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 \fB-o\fR option to change the -undefined portions of the GECOS field. +phone number information for a user's account. This information is +typically printed by \fBfinger\fR(1) and similiar 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 \fB-o\fR +option to change the undefined portions of the GECOS field. .PP -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 \fIother\fR field does not have this restriction, and is used to -store accounting information used by other applications. +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 +\fIother\fR field does not have this restriction, and is used to store +accounting information used by other applications. .PP If none of the options are selected, \fBchfn\fR 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 \fB[ ]\fR marks. -Without options, chfn prompts for the current user account. +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 \fB[ ]\fR +marks. Without options, chfn prompts for the current user account. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \- user account information .SH SEE ALSO .BR passwd (5) .SH AUTHOR diff --git a/man/chpasswd.8 b/man/chpasswd.8 index ef7661b8..20f2d5ea 100644 --- a/man/chpasswd.8 +++ b/man/chpasswd.8 @@ -1,4 +1,4 @@ -.\"$Id: chpasswd.8,v 1.10 2002/03/08 04:39:11 kloczek Exp $ +.\"$Id: chpasswd.8,v 1.11 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,28 +31,23 @@ .SH SYNOPSIS \fBchpasswd\fR [\fB-e\fR] .SH DESCRIPTION -\fBchpasswd\fR reads a file of user name and password pairs -from standard input and uses this information -to update a group of existing users. Without the -e switch, the -passwords are expected to be cleartext. With the -e switch, the -passwords are expected to be in encrypted form. -Each line is of the format +\fBchpasswd\fR reads a file of user name and password pairs from standard +input and uses this information to update a group of existing users. Without +the \fB-e\fR switch, the passwords are expected to be cleartext. With the +\fB-e\fR switch, the passwords are expected to be in encrypted form. Each +line is of the format: .sp 1 \fIuser_name\fR:\fIpassword\fR .sp 1 -The named user must exist. -The supplied password will be encrypted as necessary, and the password age -updated, if present. +The named user must exist. The supplied password will be encrypted as +necessary, and the password age updated, if present. + .PP -This command is intended to be used in a large system environment where -many accounts are created at a single time. +This command is intended to be used in a large system environment where many +accounts are created at a single time. .SH CAVEATS -.\" The \fBmkpasswd\fR command must be executed afterwards to update the -.\" DBM password files. The input file must be protected if it contains unencrypted passwords. -.\" This command may be discarded in favor of the newusers(8) command. .SH SEE ALSO -.\" mkpasswd(8), passwd(1), useradd(1) .BR passwd (1), .BR newusers (8), .BR useradd (8) diff --git a/man/chsh.1 b/man/chsh.1 index 6e4fdf4a..a0a999e9 100644 --- a/man/chsh.1 +++ b/man/chsh.1 @@ -1,4 +1,4 @@ -.\"$Id: chsh.1,v 1.8 2002/03/09 19:22:29 ankry Exp $ +.\"$Id: chsh.1,v 1.10 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -30,33 +30,30 @@ chsh \- change login shell .SH SYNOPSIS .TP 5 -\fBchsh\fR -[\fB-s \fIlogin_shell\fR] [\fIuser\fR] +\fBchsh\fR [\fB-s \fIlogin_shell\fR] [\fIuser\fR] .SH DESCRIPTION -\fBchsh\fR 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. +\fBchsh\fR 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. .PP -The only restrictions placed on the login shell is that the -command name must be listed in \fI/etc/shells\fR, 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 \fB/bin/rsh\fR in \fI/etc/shells\fR -is discouraged since accidentally changing to a restricted -shell would prevent the user from every changing her login -shell back to its original value. +The only restrictions placed on the login shell is that the command name +must be listed in \fI/etc/shells\fR, 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 \fB/bin/rsh\fR in +\fI/etc/shells\fR is discouraged since accidentally changing to a restricted +shell would prevent the user from every changing her login shell back to its +original value. .PP -If the \fB-s\fR option is not selected, \fBchsh\fR 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 \fB[ ]\fR marks. +If the \fB-s\fR option is not selected, \fBchsh\fR 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 \fB[ ]\fR +marks. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \- user account information .br -/etc/shells \- list of valid login shells +\fI/etc/shells\fR \- list of valid login shells .SH SEE ALSO .BR chfn (1), .BR passwd (5) diff --git a/man/cs/Makefile.am b/man/cs/Makefile.am index e6612681..3723d04b 100644 --- a/man/cs/Makefile.am +++ b/man/cs/Makefile.am @@ -2,6 +2,7 @@ mandir = @mandir@/cs man_MANS = \ + id.1 \ passwd.5 \ shadow.5 diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in index 72fd748f..b430e6eb 100644 --- a/man/cs/Makefile.in +++ b/man/cs/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,108 +14,154 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/cs +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ + id.1 \ passwd.5 \ shadow.5 EXTRA_DIST = $(man_MANS) subdir = man/cs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -122,10 +169,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/cs/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -135,15 +187,55 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/cs/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: +man1dir = $(mandir)/man1 +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done + man5dir = $(mandir)/man5 install-man5: $(man5_MANS) $(man_MANS) @$(NORMAL_INSTALL) @@ -159,6 +251,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -176,6 +272,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -185,6 +285,8 @@ uninstall-man5: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -192,15 +294,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -212,8 +325,7 @@ check: check-am all-am: Makefile $(MANS) installdirs: - $(mkinstalldirs) $(DESTDIR)$(man5dir) - + $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) install: install-am install-exec: install-exec-am install-data: install-data-am @@ -225,6 +337,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -232,7 +345,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -242,7 +355,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -259,31 +372,40 @@ install-exec-am: install-info: install-info-am -install-man: install-man5 +install-man: install-man1 install-man5 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man -uninstall-man: uninstall-man5 +uninstall-man: uninstall-man1 uninstall-man5 .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-man5 install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am \ - uninstall-man uninstall-man5 + install-info-am install-man install-man1 install-man5 \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man5 # 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. diff --git a/man/cs/id.1 b/man/cs/id.1 new file mode 100644 index 00000000..de77930a --- /dev/null +++ b/man/cs/id.1 @@ -0,0 +1,62 @@ +.TH ID 1 "GNU Shell Utilities" "FSF" \" -*- nroff -*- +.do hla cs +.do hpf hyphen.cs +.SH JMÉNO +id \- vypí¹e reálný a efektivní UID a GID +.SH POU®ITÍ +.B id +[\-gnruG] [\-\-group] [\-\-name] [\-\-real] [\-\-user] [\-\-groups] +[\-\-help] [\-\-version] [u¾ivatel] +.SH POPIS +Tato dokumentace není dále udr¾ována a mù¾e být nepøesná nebo neúplná. +Autoritativním zdrojem je Texinfo dokumentace. +.PP +Tato manuálová stránka popisuje GNU verzi pøíkazu +.BR id . +Pøíkaz +.B id +vypí¹e informace o zadaném u¾ivateli nebo (pokud není jméno u¾ivatele +zadáno) o u¾ivateli, který program +.B id +spustil. Implicitnì vypisuje reálné user ID, reálné group ID, +efektivní user ID, pokud se li¹í od reálného user ID, efektivní +group ID, pokud se li¹í od reálného group ID, a group ID skupin, +v nich¾ je u¾ivatel èlenem. Pøed ka¾dou z hodnot je vypsán øetìzec +urèující o jakou hodnotu se jedná a za ka¾dou jsou odpovídající +jména skupin a u¾ivatelù v závorkách. +.PP +Volby zpùsobí, ¾e program +.B id +vypisuje pouze nìkteré z tìchto informací. +.SS VOLBY +.TP +.I "\-g, \-\-group" +Vypí¹e pouze group ID. +.TP +.I "\-G, \-\-groups" +Vypí¹e pouze skupiny, v nich¾ je u¾ivatel èlenem. +.TP +.I "\-\-help" +Vypí¹e návod k pou¾ití na standardní výstup a bezchybnì skonèí. +.TP +.I "\-n, \-\-name" +Vypí¹e jméno u¾ivatele nebo skupiny místo èísla ID. +Vy¾aduje +.IR \-u , +.IR \-g , +nebo +.IR \-G . +.TP +.I "\-r, \-\-real" +Vypí¹e reálné místo efektivních user a group ID. +Vy¾aduje +.IR \-u , +.IR \-g , +nebo +.IR \-G . +.TP +.I "\-u, \-\-user" +Vypí¹e pouze user ID. +.TP +.I "\-\-version" +Vypí¹e èíslo verze na standardní výstup a bezchybnì skonèí. diff --git a/man/cs/shadow.5 b/man/cs/shadow.5 index a3f2f62c..44ed2c74 100644 --- a/man/cs/shadow.5 +++ b/man/cs/shadow.5 @@ -49,9 +49,9 @@ informacemi ulo Tento soubor nesmí být èitelný øádnými u¾ivateli, má-li být ochrana hesel úèinná. .SH SOUBORY -/etc/passwd \- informace o u¾ivatelských úètech +\fI/etc/passwd\fR \- informace o u¾ivatelských úètech .br -/etc/shadow \- za¹ifrovaná hesla u¾ivatelù +\fI/etc/shadow\fR \- za¹ifrovaná hesla u¾ivatelù .SH DAL©Í INFORMACE chage(1), login(1), diff --git a/man/de/Makefile.am b/man/de/Makefile.am index 03d6e3d3..6011c26d 100644 --- a/man/de/Makefile.am +++ b/man/de/Makefile.am @@ -3,6 +3,7 @@ mandir = @mandir@/de man_MANS = \ chsh.1 \ + chfn.1 \ + groups.1 \ + login.1 \ passwd.1 - -EXTRA_DIST = $(man_MANS) diff --git a/man/de/Makefile.in b/man/de/Makefile.in index 81d014da..cdfbb947 100644 --- a/man/de/Makefile.in +++ b/man/de/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,108 +14,154 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/de +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ chsh.1 \ + chfn.1 \ + groups.1 \ + login.1 \ passwd.1 - -EXTRA_DIST = $(man_MANS) subdir = man/de +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -122,10 +169,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/de/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -135,13 +187,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/de/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -159,6 +204,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -176,6 +225,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -185,6 +238,8 @@ uninstall-man1: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -192,15 +247,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -213,7 +279,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -225,6 +290,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -232,7 +298,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -242,7 +308,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -264,13 +330,21 @@ install-man: install-man1 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 @@ -282,8 +356,8 @@ uninstall-man: uninstall-man1 install-info-am install-man install-man1 install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am \ - uninstall-man uninstall-man1 + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am uninstall-man uninstall-man1 # 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. diff --git a/man/de/chsh.1 b/man/de/chsh.1 deleted file mode 100644 index 8a10bb3e..00000000 --- a/man/de/chsh.1 +++ /dev/null @@ -1,36 +0,0 @@ -.\" -.\" Copyright 1993 Sebastian Hetze und der/die in der Sektion -.\" AUTOR genannten Autor/Autoren -.\" -.\" Dieser Text steht unter der GNU General Public License. -.\" Er darf kopiert und verändert, korrigiert und verbessert werden. -.\" Die Copyright und Lizenzbestimmung müssen allerdings erhalten -.\" bleiben. Die Hinweise auf das LunetIX Linuxhandbuch, aus dem -.\" dieser Text stammt, dürfen nicht entfernt werden. -.\" -.TH CHSH 1 "1. Juli 1993" "LunetIX Linuxhandbuch" "Dienstprogramme für Benutzer" -.SH BEZEICHNUNG -chsh \- ändert den Loginshell Eintrag in der Paßwortdatei -.SH SYNTAX -.B chsh -.RI [ Benutzer ] -.RI [ Shell ] -.SH BESCHREIBUNG -.B chsh -ermöglicht es jedem eingetragenen Benutzer, seine Loginshell selbst, das -heißt ohne Hilfe des Superusers (root) zu verändern. Die Loginshell wird -in der Paßwortdatei /etc/passwd festgelegt. Diese Datei kann nur mit -Rootprivilegien verändert werden. Um auch den anderen Anwendern das -Verändern des Eintrages zu erlauben, läuft das -.B chsh -Programm SUID root. Das heißt, bei seiner Ausführung wird die effektive -Benutzerkennung des Superusers gesetzt. Um die Systemsicherheit trotzdem -zu gewährleisten, können nur Programme, die in der Datei /etc/shells -eingetragen sind als Loginshell benutzt werden. -.PP -Normalerweise kann ein Anwender nur seine eigene Loginshell ändern. Der -Superuser selbst kann das Programm aber auch für andere Benutzer anwenden, -indem er den Benutzernamen in der Kommandozeile angibt. -.SH AUTOR -Peter Orbaek - diff --git a/man/de/passwd.1 b/man/de/passwd.1 deleted file mode 100644 index 85d3438e..00000000 --- a/man/de/passwd.1 +++ /dev/null @@ -1,39 +0,0 @@ -.\" -.\" Copyright 1993 Sebastian Hetze und der/die in der Sektion -.\" AUTOR genannten Autor/Autoren -.\" -.\" Dieser Text steht unter der GNU General Public License. -.\" Er darf kopiert und verändert, korrigiert und verbessert werden. -.\" Die Copyright und Lizenzbestimmung müssen allerdings erhalten -.\" bleiben. Die Hinweise auf das LunetIX Linuxhandbuch, aus dem -.\" dieser Text stammt, dürfen nicht entfernt werden. -.\" -.TH PASSWD 1 "1. Juli 1993" "LunetIX Linuxhandbuch" "Dienstprogramme für Benutzer" -.SH BEZEICHNUNG -passwd \- ändert das Paßwort zum System -.SH SYNTAX -.B passwd -.RI [ Username ] -.SH BESCHREIBUNG -Die Paßwörter aller Benutzer werden in der Datei /etc/passwd gespeichert. -Diese Datei ist lesbar aber schreibgeschützt. Um dem Benutzer die -Möglichkeit zu geben, sein eigenes Paßwort zu ändern, läuft -.B passwd -SUID -.BR root ". -Deshalb hat der Anwender zur Laufzeit des Programms Rootprivilegien und darf -in die Datei schreiben. -.PP -Bei einigen Linuxinstallationen wird das Benutzerpaßwort in einer separaten -Datei namens -.B shadow -gespeichert, um den normalen Benutzern den Lesezugriff auf diese Daten zu -verwehren. Die Einzelheiten zu diesem Paßwortsystem sind in den englischen -Manualpages beschrieben. -.SH SIEHE AUCH -.BR chsh (1), -.BR newgrp (1) -und das LunetIX Linuxhandbuch -.SH AUTOR -Peter Orbaek - diff --git a/man/es/Makefile.am b/man/es/Makefile.am new file mode 100644 index 00000000..b90aa954 --- /dev/null +++ b/man/es/Makefile.am @@ -0,0 +1,7 @@ + +mandir = @mandir@/es + +man_MANS = \ + login.1 \ + passwd.1 \ + su.1 diff --git a/man/es/Makefile.in b/man/es/Makefile.in new file mode 100644 index 00000000..25803c41 --- /dev/null +++ b/man/es/Makefile.in @@ -0,0 +1,362 @@ +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# This Makefile.in 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +LDFLAGS = @LDFLAGS@ +LIBCRACK = @LIBCRACK@ +LIBCRYPT = @LIBCRYPT@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ +LIBPAM = @LIBPAM@ +LIBS = @LIBS@ +LIBSKEY = @LIBSKEY@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +U = @U@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ + +mandir = @mandir@/es +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +man_MANS = \ + login.1 \ + passwd.1 \ + su.1 + +subdir = man/es +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = + +NROFF = nroff +MANS = $(man_MANS) +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/es/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +man1dir = $(mandir)/man1 +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = ../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(man1dir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-man1 install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am uninstall-man uninstall-man1 + +# 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/expiry.1 b/man/expiry.1 index 5ead3c71..f30ab260 100644 --- a/man/expiry.1 +++ b/man/expiry.1 @@ -1,4 +1,4 @@ -.\"$Id: expiry.1,v 1.3 2002/03/09 19:22:29 ankry Exp $ +.\"$Id: expiry.1,v 1.5 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. .\" Modified for expiry by Ben Collins , 1999 @@ -34,12 +34,12 @@ expiry \- check and enforce password expiration policy .TP 6 \fBexpiry\fR [\fB-c\fR] [\fB-f\fR] .SH DESCRIPTION -\fBexpiry\fR checks (\fB-c\fR) the current password expiration and forces (\fB-f\fR) -changes when required. It is callable as a normal user command. +\fBexpiry\fR checks (\fB-c\fR) the current password expiration and forces +(\fB-f\fR) changes when required. It is callable as a normal user command. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/shadow \- shadow user account information +\fI/etc/shadow\fR \ - shadow user account information .SH SEE ALSO .BR passwd (5), .BR shadow (5) diff --git a/man/faillog.5 b/man/faillog.5 index c9f17fe8..af506098 100644 --- a/man/faillog.5 +++ b/man/faillog.5 @@ -1,4 +1,4 @@ -.\"$Id: faillog.5,v 1.7 2001/01/25 10:43:50 kloczek Exp $ +.\"$Id: faillog.5,v 1.9 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -29,14 +29,12 @@ .SH NAME faillog \- Login failure logging file .SH DESCRIPTION -.I 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. +\fI/var/log/faillog\fR 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. .PP The structure of the file is .DS @@ -47,10 +45,9 @@ The structure of the file is char fail_line[12]; time_t fail_time; }; - .DE .SH FILES -/var/log/faillog \- login failure log +\fI/var/log/faillog\fR \ - login failure log .SH SEE ALSO .BR faillog (8) .SH AUTHOR diff --git a/man/faillog.8 b/man/faillog.8 index 5b8079bb..0ce91064 100644 --- a/man/faillog.8 +++ b/man/faillog.8 @@ -1,4 +1,4 @@ -.\"$Id: faillog.8,v 1.10 2001/01/27 02:55:52 kloczek Exp $ +.\"$Id: faillog.8,v 1.13 2003/05/06 23:06:35 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,61 +31,49 @@ .SH NAME faillog \- examine faillog and set login failure limits .SH SYNOPSIS -.TP 8 +.TP 6 \fBfaillog\fR [\fB-u\fR \fIlogin-name\fR] [\fB-a\fR] [\fB-t\fR \fIdays\fR] [\fB-m\fR \fImax\fR] [\fB-pr\fR] .SH DESCRIPTION \fBfaillog\fR formats the contents of the failure log, \fI/var/log/faillog\fR, and maintains failure counts and -limits. -The order of the arguments to \fBfaillog\fR is significant. -Each argument is processed immediately in the order given. +limits. The order of the arguments to \fBfaillog\fR is significant. Each +argument is processed immediately in the order given. .PP -The \fB-p\fR flag causes failure entries to be printed in UID -order. -Entering \fB-u \fIlogin-name\fR flag will -cause the failure record for \fIlogin-name\fR only to be printed. -Entering \fB-t \fIdays\fR will cause only the -failures more recent than \fIdays\fR to be printed. -The \fB-t\fR flag overrides the use of \fB-u\fR. -The \fB-a\fR flag causes all users to be selected. -When used with the \fB-p\fR flag, this option selects all users -who have ever had a login failure. -It is meaningless with the \fB-r\fR flag. +The \fB-p\fR flag causes failure entries to be printed in UID order. +Entering \fB-u \fIlogin-name\fR flag will cause the failure record for +\fIlogin-name\fR only to be printed. Entering \fB-t \fIdays\fR will cause +only the failures more recent than \fIdays\fR to be printed. The \fB-t\fR +flag overrides the use of \fB-u\fR. The \fB-a\fR flag causes all users to be +selected. When used with the \fB-p\fR flag, this option selects all users +who have ever had a login failure. It is meaningless with the \fB-r\fR flag. .PP -The \fB-r\fR flag is used to reset the count of login failures. -Write access to \fI/var/log/faillog\fR is required for -this option. -Entering \fB-u \fIlogin-name\fR will cause only the failure count -for \fIlogin-name\fR to be reset. +The \fB-r\fR flag is used to reset the count of login failures. Write access +to \fI/var/log/faillog\fR is required for this option. Entering \fB-u +\fIlogin-name\fR will cause only the failure count for \fIlogin-name\fR to +be reset. .PP -The \fB-m\fR flag is used to set the maximum number of login -failures before the account is disabled. -Write access to \fI/var/log/faillog\fR is required for this -option. -Entering \fB-m \fImax\fR will cause all accounts to be disabled -after \fImax\fR failed logins occur. -This may be modified with \fB-u \fIlogin-name\fR to limit this -function to \fIlogin-name\fR only. -Selecting a \fImax\fR 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 \fBroot\fR to prevent -a denial of services attack against the system. +The \fB-m\fR flag is used to set the maximum number of login failures before +the account is disabled. Write access to \fI/var/log/faillog\fR is required +for this option. Entering \fB-m \fImax\fR will cause all accounts to be +disabled after \fImax\fR failed logins occur. This may be modified with +\fB-u \fIlogin-name\fR to limit this function to \fIlogin-name\fR only. +Selecting a \fImax\fR 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 \fBroot\fR to prevent a denial of services attack against the system. .PP -Options may be combined in virtually any fashion. -Each \fB-p\fR, \fB-r\fR, and \fB-m\fR option will cause -immediate execution using any \fB-u\fR or \fB-t\fR modifier. +Options may be combined in virtually any fashion. Each \fB-p\fR, \fB-r\fR, +and \fB-m\fR option will cause immediate execution using any \fB-u\fR or +\fB-t\fR modifier. .SH CAVEATS -\fBfaillog\fR 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 \fB-u\fR flag, -or print out all users with the \fB-a\fR flag. +\fBfaillog\fR 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 \fB-u\fR flag, or +print out all users with the \fB-a\fR flag. .PP Some systems may replace /var/log with /var/adm or /usr/adm. .SH FILES -/var/log/faillog \- failure logging file +\fI/var/log/faillog\fR \ - failure logging file .SH SEE ALSO .BR login (1), .BR faillog (5) diff --git a/man/fr/Makefile.am b/man/fr/Makefile.am index a41007a7..352ef061 100644 --- a/man/fr/Makefile.am +++ b/man/fr/Makefile.am @@ -8,6 +8,7 @@ man_MANS = \ chsh.1 \ faillog.5 \ gpasswd.1 \ + groups.1 \ newgrp.1 \ passwd.1 \ passwd.5 \ @@ -15,6 +16,3 @@ man_MANS = \ useradd.8 \ userdel.8 \ usermod.8 - -EXTRA_DIST = $(man_MANS) \ - groups.1 diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in index e0bdd1fe..5bd16a70 100644 --- a/man/fr/Makefile.in +++ b/man/fr/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,100 +14,144 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/fr +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ adduser.8 \ @@ -115,6 +160,7 @@ man_MANS = \ chsh.1 \ faillog.5 \ gpasswd.1 \ + groups.1 \ newgrp.1 \ passwd.1 \ passwd.5 \ @@ -123,11 +169,8 @@ man_MANS = \ userdel.8 \ usermod.8 - -EXTRA_DIST = $(man_MANS) \ - groups.1 - subdir = man/fr +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -135,10 +178,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/fr/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -148,13 +196,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/fr/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -172,6 +213,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -189,6 +234,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -211,6 +260,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -228,6 +281,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -250,6 +307,10 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -267,6 +328,10 @@ uninstall-man8: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -276,6 +341,8 @@ uninstall-man8: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -283,15 +350,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -304,7 +382,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -316,6 +393,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -323,7 +401,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -333,7 +411,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -355,13 +433,21 @@ install-man: install-man1 install-man5 install-man8 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @@ -373,9 +459,9 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 install-info-am install-man install-man1 install-man5 \ install-man8 install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool uninstall \ - uninstall-am uninstall-info-am uninstall-man uninstall-man1 \ - uninstall-man5 uninstall-man8 + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man5 uninstall-man8 # 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. diff --git a/man/fr/adduser.8 b/man/fr/adduser.8 deleted file mode 100644 index ed737f29..00000000 --- a/man/fr/adduser.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/useradd.8 diff --git a/man/fr/chage.1 b/man/fr/chage.1 deleted file mode 100644 index 95ce26c0..00000000 --- a/man/fr/chage.1 +++ /dev/null @@ -1,113 +0,0 @@ -.\" Copyright 1990 - 1994 Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: chage.1,v 1.1 2002/03/10 07:41:04 kloczek Exp $ -.\" -.TH CHAGE 1 "1 Novembre 2001" -.SH NOM -chage \- Changer les informations d'expiration du mot de passe d'un -utilisateur. -.SH SYNOPSIS -.TP 6 -\fBchage\fR -[\fB-m \fImin\fR] [\fB-M \fImax\fR] -[\fB-d \fIdernier\fR] [\fB-I \fIinactive\fR] -.br -[\fB-E \fIexpire\fR] [\fB-W \fIalerte\fR] \fIutilisateur\fR -.TP 6 -\fBchage\fR -\fB-l\fR \fIutilisateur\fR -.SH DESCRIPTION -\fBchage\fR modifie le nombre de jours entre les changements de mot de passe -ainsi que la date du dernier changement. -Cette information est utilisée par le système pour déterminer quand un -utilisateur doit changer son mot de passe. -La commande \fBchage\fR est réservée au Super-utilisateur, sauf pour l'option -\fB-l\fR, qui peut être utilisée par un utilisateur non privilégié pour savoir -quand son mot de passe ou sont compte doit expirer. -.PP -Avec l'option \fB-m\fR, la valeur de \fImin\fR représente le nombre minimum -de jours entre chaque changement de mot de passe. -Une valeur de zéro pour ce champ indique que l'utilisateur peut changer -son mot de passe n'importe quand. -.PP -Avec l'option \fB-M\fR, la valeur de \fImax\fR représente le nombre maximum -de jours pendant lesquels un mot de passe est valide. -Quand \fImax\fR plus \fIdernier\fR est inférieur à la date courante, -l'utilisateur est obligé de changer son mot de passe avant de pouvoir -utiliser son compte. -Cet évènement peut être déclenché plus tôt grâce à l'option \fB-W\fR -qui prévient l'utilisateur à l'avance avec un message d'alerte. -.PP -Avec l'option \fB-d\fR, la valeur \fIdernier\fR est le numéro du -jour depuis le 1er Janvier 1970, où le mot de passe a été changé la -dernière fois. -La date peut aussi être exprimée dans le format YYYY-MM-DD (ou le format -utilisé plus communément dans votre région). -.PP -L'option \fB-E\fR est utilisée pour définir une date à partir de laquelle -le compte de l'utilisateur ne sera plus accessible. -La valeur \fIexpire\fR est le numéro du jour depuis le 1er Janvier 1970 -après lequel le compte sera bloqué. -La date peut aussi être exprimée dans un format YYYY-MM-DD (ou le format -plus communément utilisé dans votre région). -Un utilisateur dont le compte est bloqué doit contacter l'administrateur -système pour pouvoir utiliser le système à nouveau. -.PP -L'option \fB-I\fR est utilisée pour définir le nombre de jours d'inactivité, -après qu'un mot de passe a expiré, avant que le compte ne soit bloqué. -Un utilisateur dont le compte est bloqué doit contacter l'administrateur -système avant de pouvoir utiliser le système à nouveau. -La valeur \fIinactive\fR est le nombre de jours d'inactivité. Une valeur -de 0 désactive cette fonction. -.PP -L'option \fB-W\fR est utilisée pour définir le nombre de jours d'alerte -avant que le changement de mot de passe ne soit obligatoire. -La valeur \fIalerte\fR est le nombre de jours précédent l'expiration -pendant lesquels un utilisateur sera prévenu que son mot de passe est -sur le point d'expirer. -.PP -Toutes les valeurs ci-dessus sont stockées au jour près quand le fichier -«\~shadow password\~» est utilisé, mais sont converties en semaines -quand le fichier de mots de passe standard est utilisé. -À cause de cette conversion, des erreurs d'arrondis peuvent apparaître. -.PP -Si aucune de ces options n'est donnée, \fBchage\fR utilise un mode -interactif, demandant confirmation à l'utilisateur pour les valeurs de tous -les champs. Entrez la nouvelle valeur pour changer la valeur du champ, ou -laissez la ligne vide pour utiliser la valeur courante. -La valeur courante est affichée entre crochets. -.SH FICHIERS -/etc/passwd \- informations des comptes utilisateurs. -.br -/etc/shadow \- fichier «\~shadow password\~». -.SH VOIR AUSSI -.BR passwd (5), -.BR shadow (5) -.SH TRADUCTION -Olivier Marin, 2001. - diff --git a/man/fr/chsh.1 b/man/fr/chsh.1 deleted file mode 100644 index 8bc8c63d..00000000 --- a/man/fr/chsh.1 +++ /dev/null @@ -1,57 +0,0 @@ -.\" -.\" chsh.1 -- change your login shell -.\" (c) 1994 by salvatore valente -.\" -.\" this program is free software. you can redistribute it and -.\" modify it under the terms of the gnu general public license. -.\" there is no warranty. -.\" -.\" $Author: kloczek $ -.\" $Revision: 1.1 $ -.\" $Date: 2002/03/10 07:41:04 $ -.\" -.\" Traduction 22/04/1997 par Christophe Blaess (ccb@club-internet.fr) -.\" -.TH CHSH 1 "22 Avril 1997" Linux "Manuel de l'utilisateur Linux" -.SH NOM -chsh \- Changer le shell appelé à la connexion. -.SH SYNOPSIS -.B chsh -[\ \-s\ shell\ ] [\ \-l\ ] [\ \-u\ ] [\ \-v\ ] [\ utilisateur\ ] -.SH DESCRIPTION -.B chsh -est invoqué pour changer le shell qui est appelé lors de la connexion de -l'utilisateur. -Si aucun shell n'est mentionné sur la ligne de commande, -.B chsh -va en réclamer un. -.SH SHELLS VALIDES -.B chsh -acceptera le nom complet (avec chemin d'accès) de tout fichier exécutable -sur le système. Néanmoins, il affichera un message d'avertissement si le -shell n'est pas mentionné dans le fichier -.IR /etc/shells . -.SH OPTIONS -.TP -.I "\-s, \-\-shell" -Indiquer le shell de connexion désiré. -.TP -.I "\-l, \-\-list-shells" -Afficher la liste des shells mentionnés dans -.I /etc/shells -puis quitter. -.TP -.I "\-u, \-\-help" -Afficher un message d'aide puis quitter. -.TP -.I "-v, \-\-version" -Afficher un numéro de version, puis quitter. -.SH "VOIR AUSSI" -.BR login (1), -.BR passwd (5), -.BR shells (5) -.SH AUTEURS -Salvatore Valente - -.SH TRADUCTION -Christophe Blaess, 1997. diff --git a/man/fr/faillog.5 b/man/fr/faillog.5 deleted file mode 100644 index dda1cea6..00000000 --- a/man/fr/faillog.5 +++ /dev/null @@ -1,60 +0,0 @@ -.\" Copyright 1989 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.TH FAILLOG 5 -.SH NOM -faillog \- Fichier de trace d'échecs de login -.SH DESCRIPTION -.I faillog -maintient le décompte des échecs de login et la limite associés à -chaque compte. Ce fichier est à enregistrements de taille fixe, -indexés par l'UID numérique. Chaque enregistrement contient le nombre -d'échecs de login depuis la dernière réussite, le nombre maximum -d'échecs avant que le compte ne soit désactivé, la ligne sur laquelle -le dernier échec de login a eu lieu et la date du dernier échec de -login\&. - -.PP -La structure des enregistrements est la suivante\ : -.DS - - struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - }; - -.DE -.SH FICHIERS -/var/log/faillog \- Fichier de trace d'échecs de login -.SH VOIR AUSSI -.BR faillog (8) -.SH AUTEUR -Julianne Frances Haugh -.SH TRADUCTION -Pascal Terjan diff --git a/man/fr/gpasswd.1 b/man/fr/gpasswd.1 deleted file mode 100644 index 143b29a6..00000000 --- a/man/fr/gpasswd.1 +++ /dev/null @@ -1,69 +0,0 @@ -.\" Copyright 1996, Rafal Maszkowski, rzm@pdi.net -.\" All rights reserved. You can redistribute this man page 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. -.\" -.\" $Id: gpasswd.1,v 1.1 2002/03/10 07:41:04 kloczek Exp $ -.\" -.TH GPASSWD 1 -.SH NOM -gpasswd \- administre le fichier /etc/group -.br -.SH SYNOPSIS -.B gpasswd \fIgroupe\fR -.br -.B gpasswd -.B -a -\fIutilisateur\fR \fIgroupe\fR -.br -.B gpasswd -.B -d -\fIutilisateur\fR \fIgroupe\fR -.br -.B gpasswd -.B -R -\fIgroupe\fR -.br -.B gpasswd -.B -r -\fIgroupe\fR -.br -.B gpasswd -.RB [ -A -\fIutilisateur\fR,...] -.RB [ -M -\fIutilisateur\fR,...] -\fIgroupe\fR -.br -.SH DESCRIPTION -.B gpasswd -est utilisé pour administrer le fichier /etc/group (ainsi que le fichier /etc/gshadow -si l'option SHADOWGRP a été définie lors de la compilation). -Chaque groupe peut avoir des administrateurs, des membres ainsi qu'un mot de passe. -Les administrateurs systèmes possèdent les droits d'administrateur de groupe et de membre, il peuvent utiliser l'option \fB-A\fR pour définir le(s) administrateur(s) de groupe et l'option \fB-M\fR pour en définir les membres -.PP -Un administrateur de groupe peut ajouter ou supprimer des utilisateurs en utilisant respectivement les options \fB-a\fR et \fB-d\fR . Les administrateurs peuvent utiliser l'option \fB-r\fR pour supprimer le mot de passe d'un groupe. Lorsque aucun mot de passe n'est défini, seul les membres d'un groupe peuvent utiliser -.BR newgrp (1) -pour en faire partie. L'option \fB-R\fR désactive l'accès au groupe via la commande -.BR newgrp (1) -.PP -.B gpasswd -exécuté par un administrateur de groupe suivit d'un nom de groupe, affiche simplement l'invite de changement de mot de passe du groupe. Si un mot de passe est défini alors seul les membres du groupe peuvent utiliser la commande -.BR newgrp (1) -sans entrer de mot de passe, les non-membres doivent le fournir. - -.SH FICHIERS -/etc/group \- Identification des groupes -.br -/etc/gshadow \- Identification masquée des groupes -.SH VOIR AUSSI -.BR newgrp (1), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR grpck (8) -.br -.SH TRADUCTION -Maxime Mastin, 2001. - diff --git a/man/fr/groups.1 b/man/fr/groups.1 deleted file mode 100644 index 5247fa10..00000000 --- a/man/fr/groups.1 +++ /dev/null @@ -1,37 +0,0 @@ -.\" Traduction 09/01/1997 par Christophe Blaess (ccb@club-internet.fr) -.\" -.TH GROUPS 1L "9 Janvier 1997" FSF "Manuel de l'utilisateur Linux" -.SH NOM -groups \- Afficher les groupes auxquels appartient un utilisateur. -.SH SYNOPSIS -.B groups -[utilisateur...] -.br -.B groups -{\-\-help,\-\-version} -.SH DESCRIPTION -Cette page de manuel documente la version GNU de -.BR groups . - -.B groups -affiche le noms des groupes supplémentaires de chaque -.IR utilisateur -indiqué, ou ceux du processus en cours si rien n'est précisé. - -Si plusieurs utilisateurs sont mentionnés, le nom de chacun d'entre -eux est affiché avant la liste de ses groupes. -.PP -La liste des groupes est équivalente au résultat de la commande `id \-Gn'. -.SS OPTIONS -Quand la version GNU de -.B groups -est invoquée avec un seul argument, les options suivantes sont reconnues : -.TP -.I "\-\-help" -Afficher un message d'aide sur la sortie standard et terminer normalement. -.TP -.I "\-\-version" -Afficher un numéro de version sur la sortie standard et terminer normalement. - -.SH TRADUCTION -Christophe Blaess, 1997. diff --git a/man/fr/newgrp.1 b/man/fr/newgrp.1 deleted file mode 100644 index ed5f5d7d..00000000 --- a/man/fr/newgrp.1 +++ /dev/null @@ -1,32 +0,0 @@ -.\" Original author unknown. This man page is in the public domain. -.\" Modified Sat Oct 9 17:46:48 1993 by faith@cs.unc.edu -.TH NEWGRP 1 "9 October 1993" "Linux 1.2" "Manuel du Programmeur Linux" -.SH NOM -newgrp \- se connecter sous un nouveau groupe -.SH SYNOPSIS -.BI "newgrp [ " groupe " ]" -.SH DESCRIPTION -.B Newgrp -change le groupe de l'appelant, de la même manière que -.BR login (1). -Le même utilisateur reste connecté, et le répertoire courant -reste inchangé, mais l'évaluation des droits d'accès aux fichiers -se fait en fonction du nouvel identifiant de groupe. -.LP -Si aucun groupe n'est spécifié, le GID est échangé pour celui du login initial. -.LP -.SH FICHIERS -.I /etc/group -.br -.I /etc/passwd - -.SH "VOIR AUSSI" -.BR login "(1), " group (5) - -.SH AUTEUR -Version originale par Michael Haardt. Désormais maintenu par -Peter Orbaek (poe@daimi.aau.dk). - -.SH TRADUCTION -Sébastien Mahé, 2001 - diff --git a/man/fr/passwd.1 b/man/fr/passwd.1 deleted file mode 100644 index a784b939..00000000 --- a/man/fr/passwd.1 +++ /dev/null @@ -1,162 +0,0 @@ -.\" Copyright Red Hat Software, Inc., 1998, 1999. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, and the entire permission notice in its entirety, -.\" including the disclaimer of warranties. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. The name of the author may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" ALTERNATIVELY, this product may be distributed under the terms of -.\" the GNU Public License, in which case the provisions of the GPL are -.\" required INSTEAD OF the above restrictions. (This clause is -.\" necessary due to a potential bad interaction between the GPL and -.\" the restrictions contained in a BSD-style copyright.) -.\" -.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED -.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -.\" OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" Copyright (c) Cristian Gafton, 1998, -.\" -.\" Traduction 21/08/2000 par Frédéric Delanoy (fdelanoy@info.fundp.ac.be) -.\" -.TH PASSWD 1 "21 Août 2000" PAM "Manuel de l'utilisateur Linux" -.SH NOM - -passwd \- mettre à jour les marques d'authentification d'un utilisateur. - -.SH SYNOPSIS -.B passwd [-k] [-l] [-u [-f]] [-d] [-S] [nom_utilisateur] -.sp 2 -.SH DESCRIPTION -Passwd est utilisé pour mettre à jour la (les) marque(s) d'authentification d'un utilisateur. Passwd est configuré pour travailler grâce à l' -.BR "API Linux-PAM" ". " -Il s'initialise principalement en tant que service "passwd" avec -.I Linux-PAM -et utilise les modules -.I "password" -configurés pour authentifier et ensuite mettre à jour le mot de passe d'un utilisateur. - -.sp -Une entrée du fichier de configuration de -.I Linux-PAM -pour ce service serait : -.br - -.br - # -.br - # entrée de service de mot de passe effectuant une -.br - # vérification de force d'un mot de passe -.br - # proposé avant de le mettre à jour. -.br - # -.br - passwd password requisite \\ -.br - /usr/lib/security/pam_cracklib.so retry=3 -.br - passwd password required \\ -.br - /usr/lib/security/pam_pwdb.so use_authtok -.br - # - -.sp -Notez qu'aucun autre type de module n'est requis pour le fonctionnement correct de cette application. - -.SH OPTIONS - -.IP \fB-k\fR -L'option, -.BR -k ", " -est utilisée pour indiquer que la mise à jour ne devrait être effectuée que pour les marques d'identifications (mots de passe); l'utilisateur conserve ses marques non expirés. - -.IP \fB-l\fR -Cette option est utilisé pour verrouiller le compte spécifié, et n'est disponible que pour root. Le verrouillage est effecuté en rendant le mot de passe crypté invalide (en le préfixant par un !). - -.IP \fB--stdin\fR -Cette option est utilisée pour indiquer que \fBpasswd\fR doit lire le nouveau mot de passe à partir de l'entrée standard, qui peut être un tube. - -.IP \fB-u\fR -L'inverse de l'option précédente - il déverrouillera le mot de passe du compte en supprimant le préfixe "!". Cette option n'est disponible que pour root. Par défaut, \fBpasswd\fR refusera de créer un compte sans mot de passe associé (il ne déverrouillera pas un compte contenant uniquement ! pour mot de passe). L'option \fB-f\fR outrepassera cette protection. - -.IP \fB-d\fR -C'est une façon rapide pour désactiver un mot de passe pour un compte. Il supprimera le besoin du mot de passe pour un compte donné. Disponible uniquement pour root. - -.IP \fB-S\fR -Cela affiche une information courte sur le statut du mot de passe pour un compte donné. Disponible uniquement pour root. - -.SH "Rappelez-vous les deux principes suivants" - -.IP \fBProtégez\ votre\ mot de passe.\fR -N'écrivez nulle part votre mot de passe - mémorisez-le. En particulier, ne le laissez pas n'importe où et ne le placez pas non plus dans un fichier non crypté ! Utilisez des mots de passe non reliés sur des systèmes contrôlés par différentes organisations. Ne divulguez ni ne partagez votre mot de passe, en particulier à quelqu'un disant prétendant faire partie d'un support technique, ou à un vendeur. Ne laissez personne regarder votre mot de passe pendant que vous le tapez. N'entrez pas votre mot de passe sur un ordinateur auquel vous ne faites pas confiance, ou si les "choses" ont l'air amusantes; quelqu'un pourrait être en train d'essayer de détourner votre mot de passe. Utilisez votre mot de passe pour une période limitée et modifiez-le périodiquement. - -.IP \fBChoisisser un mot de passe difficile à deviner.\fR -.I passwd -essaiera de vous empêcher de choisir un mot de passe réellemnt mauvais, mais il n'est pas infaillible; créez votre mot de passe sagement. N'utilisez rien que vous pouvez trouver dans un dictionnaire (dans n'importe quel langue ou jargon). N'utilisez pas de nom (incluant celui d'un conjoint, d'un parent, d'un enfant, d'un animal domestique, d'un personnage imaginaire, d'un personnage célèbre, ou d'un endroit connu), ou de variation sur votre nom personnel ou de compte. N'utilisez aucune information personnelle qui soit accessible (comme votre numéro de téléphone, votre plaque d'immatriculation ou votre numéro de sécurité sociale), ou sur les personnes de votre entourage. N'utilisez pas une date d'anniversaire ou un motif simple comme "azerty", "qwerty", "abc" ou "aaa"). N'utilisez aucun élément cité ci-dessus suivi ou précédé par un chiffre. Au lieu de cela, utilisez un mélange de lettres minuscules et majuscules, de chiffres et de signes de ponctuation. Utiliseez des mots de passe longs (disons d'au moins 8 caractères). Vous pourriez utiliser une paire de mots avec un signe de ponctuation inséré, une phrase de passe (une séquence de mots compréhensible), ou la première lettre de chaque mot dans une phrase de passe. - -.SH "" -Ces principes sont partiellement imposés par le système, mais uniquement partiellement. Une certaine vigilance de votre côté rendra le système beaucoup plus sûr. - -.SH "VALEUR DE RETOUR" - -En cas de succès, -.B passwd -se terminera avec une valeur de retour de 0. Une valeur de retour de 1 indique qu'une erreur s'est produite. Les erreurs textuelles sont écrites dans le flux d'erreur standard. - -.SH "CONFORMITÉ À" -.br -.BR Linux-PAM -(Pluggable Authentication Modules pour Linux). -.br -Notez que si votre distribution de Linux-PAM se conforme au Standard de Système de fichiers de Linux, vous pouvez trouver les modules dans -.I /lib/security/ -au lieu de /usr/lib/security/, comme indiqué dans l'exemple. - -.SH "FICHIERS" -.br -.B /etc/pam.d/passwd -- le fichier de configuration de -.BR Linux-PAM - -.SH BOGUES -.sp 2 -Inconnus. - -.SH "VOIR AUSSI" - -.BR pam "(8), " -et -.BR pam_chauthok "(2). " - -.sp -Pour des informations plus complètes sur la façon de configurere cette application avec -.BR Linux-PAM ", " -voyez le -.BR "Linux-PAM System Administrators' Guide" " at " -.br -.I "" - -.SH AUTEUR -Cristian Gafton - -.SH TRADUCTION -Frédéric Delanoy, 2000. diff --git a/man/fr/passwd.5 b/man/fr/passwd.5 deleted file mode 100644 index 77523785..00000000 --- a/man/fr/passwd.5 +++ /dev/null @@ -1,149 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de), Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; 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. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual 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 manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. -.\" -.\" Modified Sun Jul 25 10:46:28 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Aug 21 18:12:27 1994 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Jun 18 01:53:57 1995 by Andries Brouwer (aeb@cwi.nl) -.\" -.\" Traduction 17/10/1996 par Christophe Blaess (ccb@club-internet.fr) -.\" Mise à jour 18/05/1998 (LDP-man-pages-1.19) -.\" -.TH PASSWD 5 "18 Mai 1998" Linux "Manuel de l'administrateur Linux" -.SH NOM -passwd \- Fichier des mots de passe. -.SH DESCRIPTION -.B Passwd -est un fichier de texte qui contient la liste des comptes sur le système, -ainsi que des informations utiles sur ces comptes, comme l'identification -de l'utilisateur, du groupe, le répertoire personnel, le shell, etc. -Souvent, ce fichier contient également le mot de passé chiffré de l'utilisateur. -Le fichier des mots -de passe doit permettre la lecture par tout le monde (de nombreux -utilitaires comme -.IR ls (1) -l'utilisent pour convertir les UID en noms d'utilisateur). -Par contre seul le Super\-User doit disposer de droits d'écriture sur -le fichier. - -Au bon vieux temps, aucun problème de sécurite ne se posait avec ce -droit de lecture général. Chacun pouvait consulter les mots de passe -cryptés, mais le matériel était trop lent pour pouvoir décrypter un -mot de passe bien choisi. De plus le principe de base d'Unix reposait -sur une communaute soudée d'utilisateurs sans intentions néfastes. -Actuellement, il est de plus en plus recommandé d'utiliser des -systèmes de masquage des mots de passe, comme -.BR shadow -avec lequel le fichier -.I /etc/passwd -contient des * à la place des mots de passe, et où ces derniers sont -stockés sous forme cryptée dans -.I /etc/shadow -qui n'est lisible que par le Super-utilisateur. - -Que le masquage des mots de passe soit utilisé ou non, de nombreux -administrateurs systèmes utilisent un astérique dans le champ -'mot de passe' pour s'assurer que l'utilisateur en question ne -pouirra pas se connecter (Voir le paragrahe Notes plus bas). - -Si vous devez créer un nouvel utilisateur, placez un astérique dans le champ -'mot de passe', puis utilisez la commande \fBpasswd\fP(1) pour le mettre à jour. - -Si la racine du système de fichiers est sur un disque RAM, vous devez penser -à copier sur le disque physique les modifications du fichier des mots de passe -avant d'arrêter le systeme. Vous devez également vérifier à ce moment les -droits d'accès au fichier. - -Si vous désirez créer des groupes d'utilisateurs, leur champ GID doivent -correspondre à une entree du fichier -.IR /etc/group (5). - -Il doit y avoir, dans le fichier des mots de passe, une ligne par utilisateur, -avec le format suivant : -.sp -.RS -account:passwd:UID:GID:GECOS:directory:shell -.RE -.sp -Les divers champs sont les suivants : -.sp -.RS -.TP 1.0in -.I account -Le nom que l'utilisateur utilisera pour se connecter, il ne devrait normalement -pas contenir de majuscules -.TP -.I password -La représentation encryptée (optionnelle) du mot de passe. -.TP -.I UID -L'ID numérique de l'utilisateur. -.TP -.I GID -L'ID numérique du groupe principal de l'utilisateur. -.TP -.I GECOS -Ce champ est optionnel et n'a qu'un rôle informatif. Il contient généralement -le nom complet de l'utilisateur. GECOS signifie "General Electric Comprehensive -Operating System", qui fut renommé GCOS quand la division "gros systèmes" de -General Electric a été vendue a Honeywell. Dennis Ritchie raconte: -"Il arrivait que l'on envoie des sortie d'impression ou des résultats de -traitements différés vers une machine GCOS. Le champ GCOS du fichier password -était un endroit classique pour glisser des informations dans la carte -$IDENT. Pas très élégant..." - -.TP -.I directory -Le répertoire de connexion de l'utilisateur (variable d' -.IR environnement (5) -$HOME). -.TP -.I shell -Le programme à exécuter après la phase de connexion (par défaut -.IR /bin/sh ). -Si ce fichier n'existe pas, l'utilisateur ne pourra pas se connecter avec -.BR login (1). -.RE -.SH NOTES -Si vous désirez créer des groupes d'utilisateurs, leurs champs GIDs doivent -être identiques, et il doit y avoir une entrée correspondante dans le fichier -.IR /etc/group . - -Si le mot de passe crypté est rempli avec un astérisque, l'utilisateur ne -pourra pas se connecter avec -.BR login (1), -mais pourra toujours le faire avec -.BR rlogin (1), -lancer des processus en utilisant -.BR rsh (1), -.BR cront (1), -.BR at (1), -ou des filtres de courrier, etc... -La modification du champ "Shell" a généralement les mêmes effets, et autorise -toujours l'utilisation de -.BR su (1). -.SH FICHIERS -.I /etc/passwd -.SH "VOIR AUSSI" -.BR passwd "(1), " login "(1), " group "(5), " shadow (5). - -.SH TRADUCTION -Christophe Blaess, 1997. diff --git a/man/fr/shadow.5 b/man/fr/shadow.5 deleted file mode 100644 index 2c233e5f..00000000 --- a/man/fr/shadow.5 +++ /dev/null @@ -1,92 +0,0 @@ -.\" Copyright 1989 - 1990, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: shadow.5,v 1.1 2002/03/10 07:41:04 kloczek Exp $ -.\" -.TH SHADOW 5 -.SH NOM -shadow \- fichiers de mots de passe cryptés -.SH DESCRIPTION -.I /etc/shadow -contient les mots de passe cryptés des utilisateurs [ Ndt : plus exactement, le résultat du cryptage d'une chaîne de longueur nulle -avec le mot de passe comme clé de cryptage ] ainsi qu'éventuellement des informations sur l'âge des mots de passe : -.IP "" .5i -Nom de login -.IP "" .5i -mot de passe crypté -.IP "" .5i -Nombre de jours écoulés depuis le 1er janvier 1970 jusqu'au dernier changement de mot de passe -.IP "" .5i -Nombre de jours durant lesquels le mot de passe est encore valide -.IP "" .5i -Nombre de jours après lesquels le mot de passe doit être changé -.IP "" .5i -Nombre de jours avant l'expiration du mot de passe impliquant l'avertissement de l'utilisateur -.IP "" .5i -Nombre de jours après l'expiration provoquant la desactivation du compte -.IP "" .5i -Numéro du jour depuis le 1er janvier 1970 à partir duquel le compte a été désactivé -.IP "" .5i -Champs réservé -.PP -Le champs -.I mot de passe -doit être rempli. -Le mot de passe crypté comprend 13 à 24 caractères pris dans -l'alphabet réduit a-z, A-Z, 0-9, \. et /. -Consultez \fBcrypt\fR(3) pour plus d'information sur le traitement de cette chaîne. -.PP -La date de dernière modification du mot de passe est donné par le nNombre de jours écoulés depuis le 1er janvier 1970 jusqu'au dernier changement de mot de passe. -Le mot de passe ne peut être changé jusqu'à ce que le nombre de jours indiqués soit écoulé, et doit être changé après que le nombre maximum de jours indiqué. -Si le nomnre minimum de jours requis est plus grand que le nombre maximum de jours de vailidé, ce mot de passe -.B ne peut pas -être changé par l'utilisateur. -.PP -Un compte est considéré comme inactif et est désactivé si le mot de passe n'est pas changé dans l'intervalle spécifié après l'expiration du mot de passe. -Un compte est également désactivé le jours indiqué quelque soit les autres informations d'expiration. -.PP -Cette information est prioritaire sur toutes les autres champs présents dans \fI/etc/passwd\fR. -.PP -Ce fichier \fBne doit pas être\fR accessible en lecture par les utilisateurs normaux afin de maintenir la sécurité des mots de passe, en particuliers contre les attaques aux dictionnaires. -.SH FICHIERS -/etc/passwd - information sur les comptes des utilisateurs -.br -/etc/shadow - mots de passe cryptés des utilisateurs -.SH VOIR AUSSI -.BR chage (1), -.BR login (1), -.BR passwd (1), -.BR su (1), -.BR sulogin (8), -.BR shadow (3), -.BR passwd (5), -.BR pwconv (8), -.BR pwunconv (8) -.SH AUTEUR -Julianne Frances Haugh (jfh@tab.com) -.SH TRADUCTION -.RI "Thierry Vignaud <" tvignaud@mandrakesoft.com ">, 1999" diff --git a/man/fr/useradd.8 b/man/fr/useradd.8 deleted file mode 100644 index a7cab6a3..00000000 --- a/man/fr/useradd.8 +++ /dev/null @@ -1,161 +0,0 @@ -.\" Copyright 1991 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: useradd.8,v 1.1 2002/03/10 07:41:04 kloczek Exp $ -.\" -.\" Traduction 26/09/00 par Frédéric Delanoy (fdelanoy@info.fundp.ac.be) -.\" -.TH USERADD 8 -.SH NOM -useradd \- Créer un nouvel utilisateur ou mettre à jour l'information par défaut sur un nouvel utilisateur -.SH SYNOPSIS -.TP 8 -.B useradd -.\" .RB [ -A -.\" .RI { method | \fBDEFAULT\fR "},... ]" -.RB [ -c -.IR commentaire ] -.RB [ -d -.IR rép_perso ] -.br -.RB [ -e -.IR date_expiration ] -.RB [ -f -.IR inactive_time ] -.br -.RB [ -g -.IR groupe_initial ] -.RB [ -G -.IR groupe [,...]] -.br -.RB [ -m " [" -k -.IR rép_squelette ] " |" " " -M ] -.RB [ -p -.IR mot_de_passe ] -.br -.RB [ -s -.IR shell ] -.RB [ -u -.IR uid " [" -.BR -o ]] -.RB [ -n ] -.RB [ -r ] -.I login -.TP 8 -.B useradd -\fB-D\fR -[\fB-g\fI groupe_défaut\fR] -[\fB-b\fI rép_perso_défaut\fR] -.br -[\fB-f\fI inactivité\fR] -[\fB-e\fI date_expiration_défaut\fR] -.br -[\fB-s\fI shell_défaut\fR] -.SH DESCRIPTION -.SS Création de nouveaux utilisateurs -Quand elle est invoquée sans l'option \fB-D\fR, la commande \fBuseradd\fR crée un nouveau compte utilisateur qui utilise les valeurs spécifiées sur la ligne de commandes, et les valeurs par défaut du système. Le nouveau compte utilisateur sera inséré dans les fichiers du système quand c'est nécessaire, le répertoire personnel sera créé, et les fichiers initiaux copiés, cela dépendant des options présentes en ligne de commandes. La version fournie avec Red Hat Linux crée un groupe pour chaque utilisateur ajouté au système, à moins que l'option \fB-n\fR ne soit fournie. Les options qui s'appliquent à la commande \fBuseradd\fR sont : -.\" .IP "\fB-A {\fImethod\fR|\fBDEFAULT\fR},..." -.\" The value of the user's authentication method. -.\" The authentication method is the name of a program which is responsible -é.\" for validating the user's identity. -.\" The string \fBDEFAULT\fR may be used to change the user's authentication -.\" method to the standard system password method. -.\" This is a comma-separated list of program names. -.\" It may include \fBDEFAULT\fR exactly once. -.IP "\fB-c \fIcommentaire\fR" -Le champ de commentaire du fichier de mots de passe du nouvel utilisateur. -.IP "\fB-d \fIrép_perso\fR" -Le nouvel utilisateur sera créé en utilisant \fIrép_perso\fR comme valeur du répertoire de connexion de l'utilisateur. Le comportement par défaut est de concaténer le nom de \fIlogin\fR au \fIrép_perso_défaut\fR, et de l'utiliser en tant que nom de répertoire de connexion. -.IP "\fB-e \fIdate_expiration\fR" -La date à laquelle le compte de l'utilisateur sera désactivé. La date est spécifiée dans le format \fIAAAA-MM-JJ\fR. -.IP "\fB-f \fIjours_inactifs\fR" -Le nombre de jours suivant l'expiration d'un mot de passe après lequel le compte est définitivement désactivé. Une valeur de 0 désactive le compte dès que le mot de passe a expiré, et une valeur de -1 désactive cette caractéristique. La valeur par défaut est de -1. -.IP "\fB-g \fIgroupe_initial\fR" -Le nom du groupe ou le numéro du groupe de connexion initial de l'utilisateur. Le nom du groupe doit exister. Un numéro de groupe doit se référer à un groupe préexistant. Le numéro de groupe par défaut est de 1. -.IP "\fB-G \fIgroupe,[...]\fR" -Une liste de groupes supplémentaires auxquels fait également partie l'utilisateur. Chaque groupe est séparé du suivant par une virgule, sans espace entre les deux. Les groupes sont soumis aux mêmes restrictions que celui donné avec l'option \fB-g\fR. Le comportement par défaut pour l'utilisateur est de n'appartenir qu'au groupe initial. -.IP \fB-m\fR -Le répertoire personnel de l'utilisateur sera créé s'il n'existe pas déjà. Les fichiers contenus dans \fIrép_squelette\fR seront copiés dans le répertoire personnel si l'option \fB-k\fR est employée; sinon, les fichiers contenus dans \fIrép_squelette\fR seront utilisés à la place. Tous les répertoires contenus dans \fIrép_squelette\fR ou dans \fI/etc/skel\fR seront également créés dans le répertoire personnel de l'utilisateur. L'option \fB-k\fR n'est valide qu'en conjonction avec l'option \fB-m\fR. Le comportement par défaut est de ne pas créer le répertoire, et de ne copier aucun fichier. -.IP \fB-M\fR -Le répertoire personnel de l'utilisateur ne sera pas créé, même si les réglages globaux au système présents dans \fI/etc/login.defs\fR consistent en la création de répertoires personnels. -.IP \fB-n\fR -Un groupe de même nom que l'utilisateur ajouté au système sera créé par défaut. Cette option désactivera ce comportement spécifique de Red Hat Linux. -.IP \fB-r\fR -Cette option est utilisée pour créer un compte système, çàd un utilisateur avec un UID plus petit que la valeur de UID_MIN définie dans -\fI/etc/login.defs\fR. Notez que \fBuseradd\fR ne créera pas de répertoire personnel pour un tel utilisateur, et ce quel que soit le réglage par défaut présent dans \fI/etc/login.defs\fR. Vous devez spécifier l'option \fB-m\fR si vous désirez la création d'un répertoire personnel pour un tel utilisateur. C'est une option ajoutée par Red Hat. -.IP "\fB-p \fImot_de_passe\fR" -Le mot de passe crypté, comme renvoyé par \fBcrypt\fR(3). Le comportement par défaut est de désactiver le compte. -.IP "\fB-s \fIshell\fR" -Le nom du shell de connexion de l'utilisateur. Le comportement par défaut est de laisser ce compte vide, ce qui fait sélectionner au système le shell de connexion par défaut. -.IP "\fB-u \fIuid\fR" -La valeur numérique de l'ID de l'utilisateur. Cette valeur doit être unique, à moins que l'option \fI-o\fR ne soit utilisée. La valeur doit être non négative. Le comportement par défaut est d'utiliser la plus petite valeur d'ID plus grande que 99, et plus grande que celle de n'importe quel autre utilisateur. Les valeurs comprises entre 0 et 99 sont typiquement réservées pour les comptes systèmes. -.SS Modifier les valeurs par défaut. -Quand il est invoqué avec l'option \fB-D\fR, \fBuseradd\fR soit affichera les valeurs actuelles par défaut, soit mettra à jour les valeurs par défaut via la ligne de commandes. Les options valides sont -.IP "\fB-b \fIrép_perso\fR" -Le préfixe de chemin initial pour un nouveau répertoire personnel d'utilisateur. Le nom de l'utilisateur sera suffixé à la fin de \fIrép_perso\fR pour créer le nom du nouveau répertoire si l'option \fB-d\fI n'est pas utilisée pendant la création d'un nouveau compte. -.IP "\fB-e \fIdate_expiration_défaut\fR" -La date à laquelle le compte utilisateur sera désactivé. -.IP "\fB-f \fIinactivité\fR" -Le nombre de jours après l'expiration d'un mot de passe avant que le compte ne soit désactivé. -.IP "\fB-g \fIgroupe_défaut\fR" -Le nom de groupe ou l'ID du groupe initial d'un nouvel utilisateur. Le groupe nommé doit exister, et un ID de groupe numérique doit déjà exister en tant qu'ID de groupe. -.IP "\fB-s \fIshell_défaut\fR" -Le nom du shell de connexion d'un nouvel utilisateur. Le programme nommé sera utilisé pour tous les futurs nouveaux comptes. -.PP -Si aucune option n'est spécifiée, \fBuseradd\fR affichera les valeurs par défaut du moment. -.SH NOTES -L'administrateur système est responsable du placement des fichiers d'utilisateur par défaut dans le répertoire \fI/etc/skel\fR. -.br -Cette version de \fIuseradd\fR a été modifiée par Red Hat pour se conformer à la convention utilisateur/groupe de RedHat. -.SH INCONVÉNIENTS -Vous ne pouvez pas ajouter d'utilisateur à un groupe NIS. Cela doit être effectué sur le serveur NIS. -.SH FICHIERS -\fB/etc/passwd\fR - information sur les comptes utilisateurs -.br -\fB/etc/shadow\fR - information sécurisée sur les comptes utilisateurs -.br -\fB/etc/group\fR - information de groupes -.br -\fB/etc/default/useradd\fR - information par défaut -.br -\fB/etc/login.defs\fR - réglages globaux du système -.br -\fB/etc/skel\fR - répertoire contenant les fichiers utilisés par défaut -.SH "VOIR AUSSI" -.BR chfn (1), -.BR chsh (1), -.BR crypt (3), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR passwd (1), -.BR userdel (8), -.BR usermod (8) -.SH AUTEUR -Julianne Frances Haugh (jfh@bga.com) -.SH TRADUCTION -Frédéric Delanoy, 2000. diff --git a/man/fr/userdel.8 b/man/fr/userdel.8 deleted file mode 100644 index e26f97ab..00000000 --- a/man/fr/userdel.8 +++ /dev/null @@ -1,64 +0,0 @@ -.\" Copyright 1991 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: userdel.8,v 1.1 2002/03/10 07:41:04 kloczek Exp $ -.\" -.\" Traduction 27/09/2000 par Frédéric Delanoy (fdelanoy@info.fundp.ac.be) -.\" -.TH USERDEL 8 -.SH NOM -userdel \- Effacer un compte utilisateur et les fichiers associés -.SH SYNOPSIS -.B userdel -[\fB-r\fR] -.I login -.SH DESCRIPTION -La commande \fBuserdel\fR modifie les fichiers des comptes du système, en supprimant toutes les entrées qui se réfèrent à \fIlogin\fR. L'utilisateur nommé doit exister. -.SH OPTIONS -.IP \fB-r\fR -Les fichiers présents dans le répertoire personnel de l'utilisateur seront supprimés en même temps que le répertoire lui-même. Les fichiers situés dans d'autres systèmes de fichiers devront être recherchés et éliminés manuellement. -.SH FICHIERS -/etc/passwd - information sur les comptes utilisateurs -.br -/etc/shadow - information sécurisée sur les comptes utilisateurs -.br -/etc/group - information de groupes -.SH INCONVÉNIENTS -\fBuserdel\fR ne vous permet pas de supprimer un compte si l'utilisateur en question est actuellement connecté. Vous devez tuer tous les processus en cours d'exécution appartenant à l'utilisateur possédant le compte que vous êtes en train de supprimer. Vous ne pouvez pas supprimer d'attribut NIS d'un client NIS. Cela doit être effectué sur le serveur NIS. -.SH "VOIR AUSSI" -.BR chfn (1), -.BR chsh (1), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR passwd (1), -.BR useradd (8), -.BR usermod (8) -.SH AUTEUR -Julianne Frances Haugh (jfh@bga.com) -.SH TRADUCTION -Frédéric Delanoy, 2000. diff --git a/man/fr/usermod.8 b/man/fr/usermod.8 deleted file mode 100644 index 76cbf703..00000000 --- a/man/fr/usermod.8 +++ /dev/null @@ -1,124 +0,0 @@ -.\" Copyright 1991 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: usermod.8,v 1.1 2002/03/10 07:41:04 kloczek Exp $ -.\" -.\" Traduction 27/09/2000 par Frédéric Delanoy (fdelanoy@info.fundp.ac.be) -.\" -.TH USERMOD 8 -.SH NOM -usermod \- modifier un compte utilisateur -.SH SYNOPSIS -.TP 8 -.B usermod -.\" .RB [ -A -.\" .RI { method | \fBDEFAULT\fR "},... ]" -.RB [ -c -.IR commentaire ] -.RB [ -d -.IR rép_perso " [" -.BR -m ]] -.br -.RB [ -e -.IR date_expiration ] -.RB [ -f -.IR inactivité ] -.br -.RB [ -g -.IR groupe_initial ] -.RB [ -G -.IR groupe [,...]] -.br -.RB [ -l -.IR nom_connexion ] -.RB [ -p -.IR mot_de_passe ] -.br -.RB [ -s -.IR shell ] -.RB [ -u -.IR uid " [" -.BR -o ]] -.RB [ -L | -U ] -.I login -.SH DESCRIPTION -La commande \fBusermod\fR modifie les fichiers des comptes du système pour refléter les modifications qui ont été spécifiées sur la ligne de commandes. Les options qui s'appliquent à la commande \fBusermod\fR sont -.\" .IP "\fB-A \fImethod\fR|\fBDEFAULT\fR" -.\" The new value of the user's authentication method. -.\" The authentication method is the name of a program which is responsible -.\" for validating the user's identity. -.\" The string \fBDEFAULT\fR may be used to change the user's authentication -.\" method to the standard system password method. -.IP "\fB-c \fIcommentaire\fR" -La nouvelle valeur du fichier du champ de commentaire du fichier de mot de passe de l'utilisateur. Il est normalement modifié en utilisant l'utilitaire \fBchfn\fR(1). -.IP "\fB-d \fIrép_perso\fR" -Le nouveau répertoire de connexion de l'utilisateur. Si l'option \fB-m\fR est fournie, le contenu du répertoire personnel actuel sera déplacé dans le nouveau répertoire personnel, qui sera créé si nécessaire. -.IP "\fB-e \fIdate_expiration\fR" -La date à laquelle le compte utilisateur sera désactivé. La date est spécifiée dans le format \fIAAAA-MM-JJ\fR. -.IP "\fB-f \fIjours_inactifs\fR" -Le nombre de jours suivant l'expiration d'un mot de passe après lequel le compte est définitivement désactivé. Une valeur de 0 désactive le compte dès que le mot de passe a expiré, et une valeur de -1 désactive cette caractéristique. La valeur par défaut est de -1. -.IP "\fB-g \fIgroupe_initial\fR" -Le nom du groupe ou le numéro du groupe de connexion initial de l'utilisateur. Le nom du groupe doit exister. Un numéro de groupe doit se référer à un groupe préexistant. Le numéro de groupe par défaut est de 1. -.IP "\fB-G \fIgroupe,[...]\fR" -Une liste de groupes supplémentaires auxquels fait également partie l'utilisateur. Chaque groupe est séparé du suivant par une virgule, sans espace entre les deux. Les groupes sont soumis aux mêmes restrictions que celles données avec l'option \fB-g\fR. Si l'utilisateur fait actuellement partie d'un groupe qui n'est pas listé, l'utilisateur sera supprimé du groupe. -.IP "\fB-l \fInom_connexion\fR" -Le nom de l'utilisateur passera de \fIlogin\fR à \fIlogin_name\fR. Rien d'autre n'est modifié. En particulier, le répertoire personnel de l'utilisateur devra probablement être changé pour refléter le nouveau nom de connexion. -.IP "\fB-p \fImot_de_passe\fR" -Le mot de passe crypté, comme renvoyé par \fBcrypt\fR(3). -.IP "\fB-s \fIshell\fR" -Le nom du nouveau shell de connexion de l'utilisateur. Si shell n'est pas fourni, le système sélectionnera le shell de connexion par défaut. -.IP "\fB-u \fIuid\fR" -La valeur numérique de l'ID de l'utilisateur. Cette valeur doit être unique, à moins que l'option \fI-o\fR ne soit utilisée. La valeur doit être non négative. Les valeurs comprises entre 0 et 99 sont typiquement réservées aux comptes systèmes. Tous les fichiers possédés par l'utilisateur et qui sont situés dans le sous-arbre de répertoires "débutant" au répertoire personnel de l'utilisateur verront leur ID d'utilisateur automatiquement modifié. Les fichiers situés à l'extérieur du répertoire personnel de l'utilisateur doivent être modifiés à la main. -.IP "\fB-L\fR" -Verrouiller le mot de passe d'un utilisateur. Cette option ajoute un `!' devant le mot de passe crypté, ce qui désactive le mot de passe. Vous ne pouvez pas utiliser cette option avec \fI-p\fR ou \fI-U\fR. -.IP "\fB-U\fR" -Déverrouiller le mot de passe d'un utilisateur. Cela supprime le `!' situé devant le mot de passe crypté. Vous ne pouvez pas utiliser cette option avec \fI-p\fR ou \fI-L\fR. -.SH INCONVÉNIENTS -\fBusermod\fR ne vous permet pas de modifier le nom d'un utilisateur qui est actuellement connecté. Vous devez être sûr que l'utilisateur nommé n'est pas en train d'exécuter un quelconque programme quand cette commande est exécutée si l'UID numérique de l'utilisateur est modifié. Vous devez modifier le nom du propriétaire de tous les fichiers \fIcrontab\fR manuellement. Vous devez modifier le nom du propriétaire de n'importe quel travail \fIat\fR manuellement. Vous devez effectuer les modifications impliquant NIS sur le serveur NIS. -.SH FICHIERS -/etc/passwd - information sur les comptes utilisateurs -.br -/etc/shadow - information sécurisée sur les comptes utilisateurs -.br -/etc/group - information de groupes -.SH "VOIR AUSSI" -.BR chfn (1), -.BR chsh (1), -.BR crypt (3), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR passwd (1), -.BR useradd (8), -.BR userdel (8) -.SH AUTEUR -Julianne Frances Haugh (jfh@bga.com) -.SH TRADUCTION -Frédéric Delanoy, 2000. - - - diff --git a/man/getspnam.3 b/man/getspnam.3 deleted file mode 100644 index 0cd58f93..00000000 --- a/man/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so shadow.3 diff --git a/man/gpasswd.1 b/man/gpasswd.1 index f865faf2..28904275 100644 --- a/man/gpasswd.1 +++ b/man/gpasswd.1 @@ -1,4 +1,4 @@ -.\"$Id: gpasswd.1,v 1.5 2002/03/09 19:22:29 ankry Exp $ +.\"$Id: gpasswd.1,v 1.9 2003/05/06 23:06:35 kloczek Exp $ .\" Copyright 1996, Rafal Maszkowski .\" All rights reserved. You can redistribute this man page and/or .\" modify it under the terms of the GNU General Public License as @@ -10,6 +10,7 @@ gpasswd \- administer the /etc/group file .br .SH SYNOPSIS +.TP 6 \fBgpasswd \fIgroup\fR .br \fBgpasswd -a \fIuser\fR \fIgroup\fR @@ -22,33 +23,26 @@ gpasswd \- administer the /etc/group file .br \fBgpasswd\fR [\fB-A \fIuser\fR,...] [\fB-M\fR \fIuser\fR,...] \fIgroup\fR .SH DESCRIPTION -.B 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 \fB-A\fR option to define group -administrator(s) and \fB-M\fR option to define members and -has all rights of group administrators and members. +\fBgpasswd\fR is used to administer the \fI/etc/group\fR file (and +\fI/etc/gshadow\fR file if compiled with SHADOWGRP defined). Every group can +have administrators, members and a password. System administrator can use +\fB-A\fR option to define group administrator(s) and \fB-M\fR option to +define members and has all rights of group administrators and members. .PP -Group administrator can add and delete users using \fB-a\fR -and \fB-d\fR options respectively. Administrators can use -\fB-r\fR option to remove group password. When no password -is set only group members can use -.BR newgrp (1) -to join the group. Option \fB-R\fR disables -access to the group through -.BR newgrp (1) -command. +Group administrator can add and delete users using \fB-a\fR and \fB-d\fR +options respectively. Administrators can use \fB-r\fR option to remove group +password. When no password is set only group members can use \fBnewgrp\fR to +join the group. Option \fB-R\fR disables access to the group through +\fBnewgrp\fR command. .PP \fBgpasswd\fR called by a group administrator with group name only prompts for the group password. If password is set the members can still .BR newgrp (1) without a password, non-members must supply the password. - .SH FILES -/etc/group \- group information +\fI/etc/group\fR \- group information .br -/etc/gshadow \- shadow group information +\fI/etc/gshadow\fR \- shadow group information .SH SEE ALSO .BR newgrp (1), .BR groupadd (8), diff --git a/man/groupadd.8 b/man/groupadd.8 index 00f97fa5..ce905986 100644 --- a/man/groupadd.8 +++ b/man/groupadd.8 @@ -1,4 +1,4 @@ -.\"$Id: groupadd.8,v 1.10 2002/03/09 11:16:14 ankry Exp $ +.\"$Id: groupadd.8,v 1.17 2004/01/05 01:08:23 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -29,24 +29,41 @@ .SH NAME groupadd \- Create a new group .SH SYNOPSIS -\fBgroupadd\fR [\fB-g\fI gid \fR[\fB-o\fR]] \fIgroup\fR +.TP 6 +\fBgroupadd\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-f\fR] \fIgroup\fR .SH DESCRIPTION -The \fBgroupadd\fR 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. -The options which apply to the \fBgroupadd\fR command are -.IP "\fB-g \fIgid\fR" -The numerical value of the group's ID. -This value must be unique, unless the \fB-o\fR option is used. -The value must be non-negative. -The default is to use the smallest ID value greater than 99 and -greater than every other group. -Values between 0 and 99 are typically reserved for system accounts. +The \fBgroupadd\fR 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. The options which +apply to the \fBgroupadd\fR command are: +.IP "\fB-g\fR \fIgid\fR" +The numerical value of the group's ID. This value must be unique, unless the +\fB-o\fR option is used. The value must be non-negative. The default is to +use the smallest ID value greater than 99 and greater than every other +group. Values between 0 and 99 are typically reserved for system accounts. +.IP "\fB-f\fR" +This option causes to just exit with success status if the specified +group already exists. With \fB-g\fR, if specified gid already exists, +other (unique) gid is chosen (i.e. \fB-g\fR is turned off). .SH FILES -/etc/group \- group account information +\fI/etc/group\fR \- group account information .br -/etc/gshadow \- secure group account information +\fI/etc/gshadow\fR \- secure group account information +.SH EXIT VALUES +.TP 2 +The \fBgroupadd\fR command exits with the following values: +.br +\fB0\fR \- success +.br +\fB2\fR \- invalid command syntax +.br +\fB3\fR \- invalid argument to option +.br +\fB4\fR \- gid not unique (when -o not used) +.br +\fB9\fR \- group name not unique +.br +\fB10\fR \- can't update group file .SH SEE ALSO .BR chfn (1), .BR chsh (1), diff --git a/man/groupdel.8 b/man/groupdel.8 index 6b893868..3dccc4b4 100644 --- a/man/groupdel.8 +++ b/man/groupdel.8 @@ -1,4 +1,4 @@ -.\"$Id: groupdel.8,v 1.10 2002/03/09 11:16:14 ankry Exp $ +.\"$Id: groupdel.8,v 1.13 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,19 +31,31 @@ groupdel \- Delete a group .SH SYNOPSIS \fBgroupdel\fR \fIgroup\fR .SH DESCRIPTION -The \fBgroupdel\fR command modifies the system account files, deleting -all entries that refer to \fIgroup\fR. -The named group must exist. +The \fBgroupdel\fR command modifies the system account files, deleting all +entries that refer to \fIgroup\fR. The named group must exist. .PP -You must manually check all filesystems to insure that no files remain -with the named group as the file group ID. +You must manually check all filesystems to insure that no files remain with +the named group as the file group ID. .SH CAVEATS -You may not remove the primary group of any existing user. -You must remove the user before you remove the group. +You may not remove the primary group of any existing user. You must remove +the user before you remove the group. .SH FILES -/etc/group \- group information +\fI/etc/group\fR \- group information .br -/etc/gshadow \- secure group information +\fI/etc/gshadow\fR \- secure group information +.SH EXIT VALUES +.TP 2 +The \fBgroupdel\fR command exits with the following values: +.br +\fB0\fR \- success +.br +\fB2\fR \- invalid command syntax +.br +\fB6\fR \- specified group doesn't exist +.br +\fB8\fR \- can't remove user's primary group +.br +\fB10\fR \- can't update group file .SH SEE ALSO .BR chfn (1), .BR chsh (1), diff --git a/man/groupmod.8 b/man/groupmod.8 index c3d078bb..3e7225cf 100644 --- a/man/groupmod.8 +++ b/man/groupmod.8 @@ -1,4 +1,4 @@ -.\"$Id: groupmod.8,v 1.10 2002/03/09 11:16:14 ankry Exp $ +.\"$Id: groupmod.8,v 1.13 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -32,23 +32,38 @@ groupmod \- Modify a group \fBgroupmod\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-n\fI group_name \fR] \fIgroup\fR .SH DESCRIPTION -The \fBgroupmod\fR command modifies the system account files to reflect -the changes that are specified on the command line. -The options which apply to the \fIgroupmod\fR command are -.IP "\fB-g \fIgid\fR" -The numerical value of the group's ID. -This value must be unique, unless the \fB-o\fR option is used. -The value must be non-negative. -Values between 0 and 99 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. -.IP "\fB-n \fIgroup_name\fR" +The \fBgroupmod\fR command modifies the system account files to reflect the +changes that are specified on the command line. The options which apply to +the \fIgroupmod\fR command are +.IP "\fB-g\fR \fIgid\fR" +The numerical value of the group's ID. This value must be unique, unless the +\fB-o\fR option is used. The value must be non-negative. Values between 0 +and 99 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. +.IP "\fB-n\fR \fIgroup_name\fR" The name of the group will be changed from \fIgroup\fR to \fIgroup_name\fR. .SH FILES -/etc/group \- group information +\fI/etc/group\fR \- group information .br -/etc/gshadow \- secure group information +\fI/etc/gshadow\fR \- secure group information +.SH EXIT VALUES +.TP 2 +The \fBgroupmod\fR command exits with the following values: +.br +\fB0\fR \- success +.br +\fB2\fR \- bad command syntax +.br +\fB3\fR \- invalid argument to option +.br +\fB4\fR \- gid already in use (and no -o) +.br +\fB6\fR \- specified group doesn't exist +.br +\fB9\fR \- group name already in use +.br +\fB10\fR \- can't update group file .SH SEE ALSO .BR chfn (1), .BR chsh (1), diff --git a/man/groups.1 b/man/groups.1 index e7c7f07d..355e1e19 100644 --- a/man/groups.1 +++ b/man/groups.1 @@ -1,4 +1,4 @@ -.\"$Id: groups.1,v 1.10 2002/03/09 19:22:29 ankry Exp $ +.\"$Id: groups.1,v 1.12 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -29,7 +29,8 @@ .SH NAME groups \- display current group names .SH SYNOPSIS -\fBgroups\fR [\fIuser\fR] +\fBgroups\fR +[\fIuser\fR] .SH DESCRIPTION \fBgroups\fR displays the current group names or ID values. If the value does not have a corresponding entry in \fI/etc/group\fR, the value will be @@ -41,7 +42,7 @@ from \fI/etc/group\fR reported. The user must use \fBnewgrp\fR or \fBsg\fR to change their current real and effective group ID. .SH FILES -/etc/group \- group information +\fI/etc/group\fR \ - group information .SH SEE ALSO .BR newgrp (1), .BR getgid (2), diff --git a/man/grpck.8 b/man/grpck.8 index 69eeddb0..f3be959b 100644 --- a/man/grpck.8 +++ b/man/grpck.8 @@ -1,4 +1,4 @@ -.\"$Id: grpck.8,v 1.9 2002/03/08 04:39:11 kloczek Exp $ +.\"$Id: grpck.8,v 1.12 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1992 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" @@ -33,11 +33,11 @@ grpck \- verify integrity of group files .SH DESCRIPTION \fBgrpck\fR verifies the integrity of the system authentication information. All entries in the \fI/etc/group\fR and \fI/etc/gshadow\fR 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. -.P -Checks are made to verify that each entry has +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. +.PP +Checks are made to verify that each entry has: .sp .in +.5i - the correct number of fields @@ -47,56 +47,52 @@ Checks are made to verify that each entry has - a valid list of members and administrators .in -.5i .sp -.P -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 +.PP +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 \fBgroupmod\fR command to correct the error. -.P +.PP The commands which operate on the \fI/etc/group\fR file are not able to -alter corrupted or duplicated entries. -\fBgrpck\fR should be used in those circumstances to remove the offending -entry. +alter corrupted or duplicated entries. \fBgrpck\fR should be used in those +circumstances to remove the offending entry. .SH OPTIONS By default, \fBgrpck\fR operates on the files \fI/etc/group\fR and -\fI/etc/gshadow\fR. -The user may select alternate files with the \fIgroup\fR and \fIshadow\fR -parameters. -Additionally, the user may execute the command in read-only mode by -specifying the \fB-r\fR flag. -This causes all questions regarding changes to be answered \fBno\fR -without user intervention. +\fI/etc/gshadow\fR. The user may select alternate files with the \fIgroup\fR +and \fIshadow\fR parameters. Additionally, the user may execute the command +in read-only mode by specifying the \fB-r\fR flag. This causes all questions +regarding changes to be answered \fBno\fR without user intervention. \fBgrpck\fR can also sort entries in \fI/etc/group\fR and \fI/etc/gshadow\fR by GID. To run it in sort mode pass it \fB-s\fR flag. No checks are performed then, it just sorts. .SH FILES -/etc/group \- group account information +\fI/etc/group\fR \ - group account information .br -/etc/gshadow \- encrypted passwords and group administrator information +\fI/etc/gshadow\fR \ - encrypted passwords and group administrator information .br -/etc/passwd \- user information +\fI/etc/passwd\fR \ - user information .SH SEE ALSO .BR group (5), .BR passwd (5), .BR shadow (5), .BR groupmod (8) -.SH DIAGNOSTICS +.SH EXIT VALUES +.TP 2 The \fBgrpck\fR command exits with the following values: -.IP 0 5 -Success -.IP 1 5 -Syntax Error -.IP 2 5 -One or more bad group entries -.IP 3 5 -Cannot open group files -.IP 4 5 -Cannot lock group files -.IP 5 5 -Cannot update group files +.br +\fB0\fR \- success +.br +\fB1\fR \- syntax Error +.br +\fB2\fR \- one or more bad group entries +.br +\fB3\fR \- can't open group files +.br +\fB4\fR \- can't lock group files +.br +\fB5\fR \- can't update group files .SH AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/hu/Makefile.am b/man/hu/Makefile.am index 96adaa00..9c404b23 100644 --- a/man/hu/Makefile.am +++ b/man/hu/Makefile.am @@ -4,10 +4,10 @@ mandir = @mandir@/hu man_MANS = \ chsh.1 \ gpasswd.1 \ + groups.1 \ login.1 \ newgrp.1 \ passwd.1 \ - sg.1 - -EXTRA_DIST = $(man_MANS) \ - groups.1 + sg.1 \ + su.1 + \ No newline at end of file diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in index 1b26cf75..2f44009a 100644 --- a/man/hu/Makefile.in +++ b/man/hu/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,114 +14,157 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/hu +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ chsh.1 \ gpasswd.1 \ + groups.1 \ login.1 \ newgrp.1 \ passwd.1 \ - sg.1 - - -EXTRA_DIST = $(man_MANS) \ - groups.1 + sg.1 \ + su.1 subdir = man/hu +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -128,10 +172,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/hu/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -141,13 +190,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/hu/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -165,6 +207,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -182,6 +228,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -191,6 +241,8 @@ uninstall-man1: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -198,15 +250,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -219,7 +282,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -231,6 +293,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -238,7 +301,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -248,7 +311,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -270,13 +333,21 @@ install-man: install-man1 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 @@ -288,8 +359,8 @@ uninstall-man: uninstall-man1 install-info-am install-man install-man1 install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am \ - uninstall-man uninstall-man1 + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am uninstall-man uninstall-man1 # 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. diff --git a/man/hu/chsh.1 b/man/hu/chsh.1 deleted file mode 100644 index b35da016..00000000 --- a/man/hu/chsh.1 +++ /dev/null @@ -1,65 +0,0 @@ -.\" Copyright 1990, John F. Haugh II -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by John F. Haugh, II -.\" and other contributors. -.\" 4. Neither the name of John F. Haugh, II nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JOHN HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JOHN HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: chsh.1,v 1.1 2001/11/13 23:28:50 ankry Exp $ -.\" -.TH CHSH 1 -.SH NÉV -chsh \- bejelentkezési parancsértelmezõ (héjj) állítása -.SH ÁTTEKINTÉS -.TP 5 -\fBchsh\fR -[\fB-s \fIhéjjprogram\fR] [\fIfelhasználó\fR] -.SH LEÍRÁS -A \fBchsh\fR parancs a felhasználó bejelentkezési parancsértelmezõjét változtatja meg. -Normál felhasználó csak a saját parancsértelmezõjét állíthatja, a -rendszergazda bárkiét. -.PP -A héjjprogrammal (shell) szemben támasztott követelmény, hogy szerepeljen -a \fI/etc/shells\fR fájlban, kivéve ha a rendszergazdáé mert -neki minden beállítás elfogadott. -Korlátozott parancsértelmezõt nem lehet másikra átállítani. -Ezért nem tanácsos a \fB/bin/rsh\fR-nak a \fI/etc/shells\fR-ben -való felsorolása, mert ha a felhasználó átvált erre a héjj-ra -nem válthat másikra. -.PP -A \fB-s\fR opció nélkül a \fBchsh\fR interaktív módon -mûködik. Be kell írni az új értéket, vagy üresen hagyni a sort, hogy -az éppen aktuális beállítás maradjon, ami \fB[ ]\fR jelek között látható. -.SH FÁJLOK -/etc/passwd \- felhaszálói nyilvántartás -.br -/etc/shells \- engedélyezett parancsértelmezõk listája -.SH LÁSD MÉG -.BR chfn (1), -.BR passwd (5) -.SH MAGYAR FORDÍTÁS -Szekely Krisztian diff --git a/man/hu/gpasswd.1 b/man/hu/gpasswd.1 deleted file mode 100644 index 7972d86e..00000000 --- a/man/hu/gpasswd.1 +++ /dev/null @@ -1,81 +0,0 @@ -.\" Copyright 1996, Rafal Maszkowski, rzm@pdi.net -.\" All rights reserved. You can redistribute this man page 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. -.\" -.\" $Id: gpasswd.1,v 1.1 2001/11/13 23:28:50 ankry Exp $ -.\" -.TH GPASSWD 1 -.SH NÉV -gpasswd \- az /etc/group fájlt adminisztrálja -.br -.SH ÁTTEKINTÉS -.B gpasswd \fIcsoport\fR -.br -.B gpasswd -.B -a -\fIfelhasználó\fR \fIcsoport\fR -.br -.B gpasswd -.B -d -\fIfelhasználó\fR \fIcsoport\fR -.br -.B gpasswd -.B -R -\fIcsoport\fR -.br -.B gpasswd -.B -r -\fIcsoport\fR -.br -.B gpasswd -.RB [ -A -\fIfelhasználó\fR,...] -.RB [ -M -\fIfelhasználó\fR,...] -\fIcsoport\fR -.br -.SH LEÍRÁS -A -.B gpasswd -program segítségével adminisztrálhatjuk az /etc/group fájlt -illetve az /etc/gshadow fájlt amennyiben a SHADOWGPR definiálva -volt a fordítás alatt. Minden csoportban lehetnek adminisztrátorok, -tagok és egy jelszó. A rendszeradminisztrátor a \fB-A\fR opció -segítségével definiálhat csoportadminisztrátor(oka)t és a \fB-M\fR -opcióval tagokat. A rendszeradminisztátor minden joggal rendelkezik, -amellyel a csoportadminisztrátor és a csoport tagjai. -.PP -A csoportadminisztrátor a \fB-a\fR kapcsolóval hozhat létre -felhasználókat, és a \fB-d\fR opcióval törölheti õket. Az -adminisztrátorok a \fB-r\fR opcióval törölhetik a csoport -jelszavát. Ha nincs jelszó beállítva, akkor csak a csoport -tagjai használhatják a -.BR newgrp (1) -parancsot a csatlakozáshoz. A \fB-R\fR opció -meggátolja a csoport elérését a -.BR newgrp (1) -parancson keresztül. -.PP -Ha -.B gpasswd -parancsot a csoportadminisztrátor adja ki a csoport nevével, -akkor csak a jelszót kell beírnia. Ha van jelszó, akkor a tagok -be tudnak lépni a -.BR newgrp (1) -paranccsal jelszó nélkül is, csak a csoporton kívüli felhasználóknak -kell megadniuk a jelszót. - -.SH FÁJLOK -/etc/group \- információ a csoportról -.br -/etc/gshadow \- információ a shadow csoportról -.SH LÁSD MÉG -.BR newgrp (1), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR grpck (8) -.SH MAGYAR FORDÍTÁS -Tímár András diff --git a/man/hu/login.1 b/man/hu/login.1 deleted file mode 100644 index d6059329..00000000 --- a/man/hu/login.1 +++ /dev/null @@ -1,131 +0,0 @@ -.\" Copyright 1989 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: login.1,v 1.1 2002/03/10 07:34:02 kloczek Exp $ -.\" -.TH LOGIN 1 -.SH NÉV -login \- Új kapcsolat felvétele a rendszerrel (bejelentkezés) -.SH ÁTTEKINTÉS -.B login -.RI [ felhasználónév " [" környezeti változók ]] -.SH LEÍRÁS -A -.B login -programot a rendszerbe való belépésre használjuk. Általában nem -közvetlenül használjuk, hanem automatikusan meghívásra kerül, amikor a -.I login: -promptra válaszként beírjuk a felhasználónevünket. -A -.B login -a shell szempontjából különleges kezelésû lehet és elôfordulhat, hogy -nem hívható meg alfolyamatként. Tipikus példa erre, amikor a -.B login -parancsot a shell \fBexec login\fR -ként értelmezi, tehát az új -bejelentkezés elõtt az aktuálisból való kilépésre készteti a -felhasználót. -Ha nem login shellbõl próbáljuk meg a \fBlogin\fR parancsot végrehajtani, -hibaüzenetet kapunk. -.PP -Amikor a \fIlogin:\fR promptnál kerül meghívásra, lehetõség van a -felhasználónév után környezeti változók megadására, \fBNÉV=ÉRTÉK\fR. -formában, azonban nem minden változót tudunk ily módon szabályozni: -például a \fBPATH\fR, \fBHOME\fR és a \fBSHELL\fR nem kaphat itt értéket, -továbbá az \fBIFS\fR letiltásra kerülhet, ha a \felhasználó login shellje -a fB/bin/sh\fR. -.PP -Ezután a jelszavunkat kell megadnunk. A beírt karakterek nem jelennek meg -a képernyõn, megelõzvén a 'leskelõdést'. Ha többször hibás jelszót adunk -meg, a \fBlogin\fR kilép, és a kapcsolat megszakad. -.PP -Ha a jelszavunk érvényességi ideje korlátozott, a rendszer továbblépés -elõtt felszólíthat a jelszó megváltoztatására. Ez azt jelenti, hogy a -jelszavunk lejárt, nem érvényes, vagy hamarosan le fog járni. A régi -jelszavunkat is esetleg meg kell adni ellenõrzésképpen, majd az általunk -választott új jelszót. A témában lásd: \fBpasswd \fR(1) -.PP -Sikeres bejelentkezés után néhány rendszerüzenetet kapunk, és a postaládánk -állapotáról némi visszajelszést. A rendszerüzenetfájl (\fI/etc/motd\fR) -kiíratását letilthatjuk egy 0 byte hosszúságú \fI.hushlogin\fR file -létrehozásával a login könyvtárunkban. A posta állapotától függõen a -következõ üzenetek valamelyikét kapjuk: "\fBYou have new mail.\fR" (Új -levél van), "\fBYou have mail.\fR" (Levél van), vagy "\fBNo Mail.\fR" -(Nincs levél). -.PP -A felhasználói- (UID) és a csoportazonosítónk (GID) beállításra kerül az -\fI/etc/passwd\fR alapján. A \fB$HOME\fR, \fB$SHELL\fR, -\fB$PATH\fR, \fB$LOGNAME\fR és a \fB$MAIL\fR környezeti változók -beállításra kerülnek a passwd adatbázis megfelelõ mezõi alapján. -Az ulimit, umask és a nice is értéket kaphat a GECOS mezõ tartalma -alapján. -.PP -Néhány rendszeren a \fB$TERM\fR változó is értéket kap, miként az a -\fI/etc/ttytype\fR-ban meg van írva. -.PP -Végrehajtódhat a parancsértelmezõnk inicializációs scriptje is. Ez ügyben -lásd a megfelelõ kézikönyv-oldalt. -.SH FIGYELMEZTETÉSEK -.PP -A \fBlogin\fR ezen verziója sok fordítási opcióval rendelkezik, bár csak -néhány közülük az, ami használatban lehet egyes speciális gépeken. - -.PP -A fájlok elhelyezkedése a rendszerkonfigurációk különbözõségébõl adódóan -változhat. -.SH FÁJLOK -/etc/utmp \- az aktuális bejelentkezések listája -.br -/etc/wtmp \- az elõzõ (eddigi) bejelentkezések listája -.br -/etc/passwd \- felhasználói account-okra vonatkozó információk -.br -/etc/shadow \- titkosított jelszavak és érvényességi idõ-információk -.br -/etc/motd \- rendszerüzenet file -.br -/etc/nologin \- nem-root felhasználók belépésének tiltása -.br -/etc/ttytype \- termináltípusok listája -.br -$HOME/.profile \- inicializációs script az alapértelmezett shellhez -.br -$HOME/.hushlogin \- korlátozza a rendszerüzenetek megjelenítését -.br -.SH LÁSD MÉG -.PP -.BR getty (8), -.BR mail (1), -.BR passwd (1), -.BR sh (1), -.BR su (1), -.\" .BR d_passwd (5), -.BR passwd (5), -.BR nologin (5) -.SH SZERZÕ -Julianne Frances Haugh (jfh@bga.com) -.SH MAGYAR FORDÍTÁS -Niedermayer Miklós diff --git a/man/hu/newgrp.1 b/man/hu/newgrp.1 deleted file mode 100644 index 461e9ceb..00000000 --- a/man/hu/newgrp.1 +++ /dev/null @@ -1,89 +0,0 @@ -.\" Copyright 1991, Julianne Frances Haugh -.\" Hungarian translation by Peter Mamuzsics -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: newgrp.1,v 1.2 2002/03/09 11:16:16 ankry Exp $ -.\" -.TH NEWGRP 1 -.SH NÉV -newgrp \- Csoportazonosító módosítása -.br -sg \- Parancs végrehajtása más csoportazonoító alatt -.SH ÁTTEKINTÉS -.BR newgrp " [" - ] -[\fIgroup\fR] -.br -.BR sg " [" - ] -[\fIgroup\fR [\fB-c\fR \fIcommand\fR]] -.SH LEÍRÁS -A -.B newgrp -parancs a jelenlegi bejelentkezéshez tartozó csoportazonosító -módosítására használható. Ha a parancsot az elhagyható \fB\-\fR -kapcsolóval hívtuk meg, akkor a rendszer úgy inicializálja újra -a felhasználói környezetet, ahogy az a bejelelentkezés során -megtörténik, ellenkezõ esetben a jelenlegi környezet - beleértve -az aktuális munkakönyvtárat is - változatlan marad. -.PP -A -.B newgrp -parancs lecseréli az aktuális csoportazonosítót a megnevezett -vagy - ha nincs megadva - az \fI/etc/passwd\fR fájlban megadott -alapértelmezett csoportra. Ha a felhasználó nem rendelkezik jelszóval, -de a csoport igen, vagy a felhasználó nem tagja a csoportnak, -de a csoport rendelkezik jelszóval, akkor a rendszer bekéri a csoport -jelszavát. -Amennyiben a csoportnak nincs jelszava, és a felhasználó nem tagja a -csoportnak, akkor a hozzáférés nem lehetséges. -.PP -Az -.B sg -parancs mûködése hasonló a \fBnewgrp\fR parancs mûködéséhez, -de ez nem cseréli le a felhasználó parancsértelmezõjét, így -amikor kilépünk az \fBsg\fR parancsból, visszakapjuk az -eredeti csoportazonosítót. -Az -.B sg -parancsnak egy másik, aposztrófok közé zárt parancsot is meg lehet -adni, amely a Bourne parancsértelmezõvel kerül végrehajtásra. -.SH HIBÁK -A \fBnewgrp\fR többféle fordítási beállítással rendelkezik, -amelyeknek egy adott felhasználási környezetben csak egy részére -lehet szükség. -.SH FÁJLOK -/etc/passwd \- felhasználói információk -.br -/etc/group \- csoportinfomációk -.SH LÁSD MÉG -.BR id (1), -.BR login (1), -.BR su (1) -.SH SZERZÔ -Julianne Frances Haugh (jfh@bga.com) -.br -.SH MAGYAR FORDÍTÁS -Mamuzsics Péter diff --git a/man/hu/passwd.1 b/man/hu/passwd.1 deleted file mode 100644 index 896b958d..00000000 --- a/man/hu/passwd.1 +++ /dev/null @@ -1,165 +0,0 @@ -.\" Copyright 1989 - 1994, John F. Haugh II -.\" All rights reserved. -.\" -.\" Redistribution is allowed, provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by John F. Haugh, II -.\" and other contributors. -.\" 4. Neither the name of John F. Haugh, II nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JOHN HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JOHN HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: passwd.1,v 1.2 2002/02/28 13:54:22 ankry Exp $ -.\" -.TH PASSWD 1 "" \" -*- nroff -*- -.SH NÉV -passwd \- Felhasználói jelszó megváltoztatása -.SH ÁTTEKINTÉS -\fBpasswd\fR [\fB-f\fR|\fB-s\fR] [\fInév\fR] -.br -\fBpasswd\fR [\fB-g\fR] [\fB-r\fR|\fB-R\fR] \fIcsoport\fR -.br -\fBpasswd\fR [\fB-x\fR \fImax\fR] [\fB-n\fR \fImin\fR] -[\fB-w\fR \fIfigy\fR] [\fB-i\fR \fIinakt\fR] \fInév\fR -.br -\fBpasswd\fR {\fB-l\fR|\fB-u\fR|\fB-d\fR|\fB-S\fR} \fInév\fR -.SH LEÍRÁS -A \fBpasswd\fR a felhasználók és a csoportok megváltoztatását végzi. -A felhasználók csak a saját jelszavukat változtathatják meg, a rendszergazda -bárkiét. A csoportok jelszavát az adott csoport adminisztrátora -változtathatja meg. -A \fBpasswd\fR ezen kívül használható a felhasználói adatok, mint pl. az -igazi név, a login shell, vagy a jelszavak "szavatossági idejének" -megváltoztatására is. -.SS Jelszóváltozások -A felhasználónak elõször a régi jelszavát kell beírnia, ha már volt neki. -Ezután ennek a jelszónak a kódolt változatát összehasonlítja a tárolt -jelszóval. A megfelelõ jelszó beírására a felhasználónak csak egy lehetõsége -van. -A rendszergazda átugorhatja ezt a lépést, így az elfelejtett jelszavak is -megváltoztathatóak. -.PP -Miután a felhasználó beírta a jelszavát, a \fBpasswd\fR megvizsgálja, hogyan -rendelkezett a rendszergazda a jelszavak "szavatossági idejérõl". Amennyiben -az idõ nem alkalmas a jelszó megváltoztatására, \fBpasswd\fR kilép minden -változtatás nélkül. -.PP -Ezekután a program bekéri a felhasználótól az új jelszót, majd -megvizsgálja hogy elég bonyolult-e. -Általános szabályként elmondható, hogy a jelszavak jók, ha 6-8 karakterbõl -állnak, és a következõ jelkészletekbõl tartalmaz elemeket: -.IP "" .5i -Az ABC kis betûi -.IP "" .5i -Az ABC nagy betûi -.IP "" .5i -Számok 0 és 9 között -.IP "" .5i -Írásjelek -.PP -Fontos odafigyelni, hogy ne tartalmazzon az adott rendszeren használt -"erase" és "kill" kódû karaktereket. -A \fBpasswd\fR nem fogad el nem eléggé bonyolult jelszót. -.PP -Ha a jelszó elfogadható, -a \fBpasswd\fR a biztonság kedvéért még egyszer bekéri az új jelszót, és -csak akkor hajtja végre a változtatást, ha a két bevitt jelszó megegyezik. -.SS Csoportok jelszavai -A \fB-g\fR kapcsoló használata esetén a megadott nevû csoport jelszava -változik meg. Ezt csak a rendszergazda vagy a csoport adminisztrátora teheti -meg. -A jelenlegi csoportjelszavat nem kéri változtatás elõtt. -Az \fB-r\fR kapcsolót a \fB-g\fR kapcsolóval használva lehet a csoport jelszavát kikapcsolni, ezáltal minden tag használhatja a csoportot. -Az \fB-R\fR kapcsoló a \fB-g\fR kapcsolóval használva a csoport minden felhasználó elõtt lezárul. - -.SS A jelszavak "szavatossági ideje" -A jelszavak elévülési idejét a rendszergazda a \fB-x\fR, \fB-n\fR, \fB-w\fR, és \fB-i\fR kapcsolókkal szabályozhatja. -A \fB-x\fR kapcsoló a jelszócserék közti maximális idõt állítja be. -A jelszót legkésõbb \fImax\fR naponként meg kell változtatni. -Az \fB-n\fR kapcsoló a két jelszócsere közötti minimális idõt szabályozza: a felhasználó addig nem változtathatja meg jelszavát, amíg legalább -\fImin\fR nap el nem telt az elõzõ változtatás óta. -A \fB-w\fR kapcsolóval azt állíthatod be, hogy hány nappal a jelszó lejárta elõtt kezdje el a rendszer a felhasználót figyelmeztetni. Az elsõ figyelmeztetés \fIfigy\fR nappal a lejárat elõtt jelenik meg, és utána naponta tájékoztatja a felhasználót a még hátralévõ napok számáról. -Az \fB-i\fR kapcsoló \fIinakt\fR nappal a jelszó lejárta után lezárja a felhasználó belépési lehetõségét. - -.SS Jogosultság-kezelés -A felhasználók lezárhatóak és újra beengedhetõek a \fB-l\fR és a \fB-u\fR kapcsolókkal. -Az \fB-l\fR kapcsoló a jelszót kicseréli egy olyan értékre, ami semmilyen lehetséges jelszó kódolt értékével nem egyezik. -Az \fB-u\fR kapcsoló visszaállítja a jelszót a régire, és így újra engedélyezi a belépést. -.PP -A jogosultságok az \fB-S\fR kapcsolóval állíthatóak be. Ez 6 részbõl áll: -Az elsõ azt jelzi, hogy a felhaszáló le van zárva (L), nincs jelszava (NP), vagy van érvényes jelszava (P). -A második rész az utolsó jelszóváltoztatás dátuma. -A következõ négy rész a jelszavak minimális és maximális ideje, az elsõ figyelmeztetés a jelszó lejárta elõtt és hogy mennyi ideig él a jelszó lejárta után. - -.SS Tippek a felhasználói jelszavakhoz -Egy jelszavas rendszer biztonsága a kódolási algoritmus erõsségétõl és a lehetséges kulcsok számától függ. -A \fB\s-2UNIX\s+2\fR rendszerek kódolási módja az NBS DES algoritmuson alapul, és nagyon biztonságos. A lehetséges kulcsok száma a választott jelszó véletlenszerûségén múlik. -.PP -A jelszavas rendszerek feltörése legtöbbször a gondatlanul megválasztott jelszóválasztásnak vagy a jelszavak cserélgetésének eredménye. -Ezen okok miatt célszerû olyan jelszót választanod, ami nem szerepel a szótárban és nem szükséges leírnod. Tipikusan rossz választás még, ha valamilyen nevet, valamilyen azonosítószámodat, születésnapodat, vagy címedet használod jelszóként. -Ezeket legtöbbször minden más lehetõség vizsgálata elõtt kipróbálja a potenciális cracker. -.PP -Igyekezz olyan jelszót választani, amit könnyen megjegyzel és így nem vagy -arra szorulva, hogy le kelljen írnod. -Ezt például úgy érheted el, hogy két rövidebb szót elválasztasz egy számmal -vagy valamilyen karakterrel, például jel@szo -.PP -A másik módszer, hogy egy könnyen megjegyezhetõ mondat vagy idézet minden -szavának elsõ vagy utolsó betûjét írod egymás után. -Így például a -.IP "" .5i -Morzsa kutyám hegyezd füled -.PP --bõl -.IP "" .5i -Maqmhdfd -.PP -lesz. -Feltehetõleg kevés cracker szótárában fog szerepelni ez a szó. -Ennek ellenére a még nagyobb biztonság kedvéért érdemes valamilyen saját -módszert kitalálnod jelszavak készítésére. - -.SS Megjegyzés a csoportok jelszavairól -A csoportok jelszavai állandó biztonsági problémát jelenthetnek, mivel -nemcsak egy ember ismerheti a jelszavat. A csoport-kezelés azonban -hasznos abban az esetben, ha több felhasználó együttmûködését kell -megoldani. - -.SH FIGYELMEZTETÉS -Nem biztos, hogy minden kapcsoló felhasználható. -Az, hogy hogyan vizsgálja a jelszavak bonyolultságát, rendszerrõl rendszerre -változhat. -Minden felhasználónak célszerû a lehetõ legbonyolultabb, de még használható -jelszót használnia. -Ha NIS-t használ a felhasználók azonosítására a rendszer és a felhasználó nem -lépett be a NIS kiszolgálóra, nem változtathatja meg jelszavát. -.SH FÁJLOK -/etc/passwd \- felhasználói információk -.br -/etc/shadow \- kódolt felhasználói jelszavak -.SH LÁSD MÉG -.BR passwd (3), -.BR shadow (3), -.BR group (5), -.BR passwd (5) -.SH MAGYAR FORDÍTÁS -Érdi "Cactus" Gergõ diff --git a/man/hu/sg.1 b/man/hu/sg.1 deleted file mode 100644 index d07c5e48..00000000 --- a/man/hu/sg.1 +++ /dev/null @@ -1 +0,0 @@ -.so man1/newgrp.1 diff --git a/man/id.1 b/man/id.1 index a726f6e2..9a214f3f 100644 --- a/man/id.1 +++ b/man/id.1 @@ -1,4 +1,4 @@ -.\"$Id: id.1,v 1.10 2002/03/09 19:22:29 ankry Exp $ +.\"$Id: id.1,v 1.12 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -37,9 +37,9 @@ values. If the value does not have a corresponding entry in the corresponding name. The optional \fB-a\fR flag will display the group set on systems which support multiple concurrent group membership. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/group \- group information +\fI/etc/group\fR \ - group information .SH SEE ALSO .BR getgid (2), .BR getgroups (2), diff --git a/man/id/Makefile.in b/man/id/Makefile.in index e37f2ece..e26a49ba 100644 --- a/man/id/Makefile.in +++ b/man/id/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,100 +14,144 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/id +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ adduser.8 \ @@ -117,6 +162,7 @@ man_MANS = \ EXTRA_DIST = $(man_MANS) subdir = man/id +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -124,10 +170,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/id/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -137,13 +188,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/id/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -161,6 +205,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -178,6 +226,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -200,6 +252,10 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -217,6 +273,10 @@ uninstall-man8: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -226,6 +286,8 @@ uninstall-man8: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -233,15 +295,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -254,7 +327,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -266,6 +338,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -273,7 +346,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -283,7 +356,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -305,13 +378,21 @@ install-man: install-man1 install-man8 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 uninstall-man8 @@ -323,8 +404,9 @@ uninstall-man: uninstall-man1 uninstall-man8 install-info-am install-man install-man1 install-man8 \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool uninstall uninstall-am \ - uninstall-info-am uninstall-man uninstall-man1 uninstall-man8 + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man8 # 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. diff --git a/man/it/Makefile.am b/man/it/Makefile.am index b014c797..120be88f 100644 --- a/man/it/Makefile.am +++ b/man/it/Makefile.am @@ -26,5 +26,4 @@ man_MANS = \ usermod.8 \ vigr.8 \ vipw.8 - -EXTRA_DIST = $(man_MANS) + \ No newline at end of file diff --git a/man/it/Makefile.in b/man/it/Makefile.in index 352f0345..cc1fb956 100644 --- a/man/it/Makefile.in +++ b/man/it/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,100 +14,144 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/it +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ adduser.8 \ @@ -134,9 +179,8 @@ man_MANS = \ vigr.8 \ vipw.8 - -EXTRA_DIST = $(man_MANS) subdir = man/it +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -144,10 +188,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/it/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -157,13 +206,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/it/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -181,6 +223,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -198,6 +244,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -220,6 +270,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -237,6 +291,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -259,6 +317,10 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -276,6 +338,10 @@ uninstall-man8: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -285,6 +351,8 @@ uninstall-man8: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -292,15 +360,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -313,7 +392,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -325,6 +403,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -332,7 +411,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -342,7 +421,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -364,13 +443,21 @@ install-man: install-man1 install-man5 install-man8 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @@ -382,9 +469,9 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 install-info-am install-man install-man1 install-man5 \ install-man8 install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool uninstall \ - uninstall-am uninstall-info-am uninstall-man uninstall-man1 \ - uninstall-man5 uninstall-man8 + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man5 uninstall-man8 # 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. diff --git a/man/it/adduser.8 b/man/it/adduser.8 deleted file mode 100644 index ed737f29..00000000 --- a/man/it/adduser.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/useradd.8 diff --git a/man/it/chfn.1 b/man/it/chfn.1 deleted file mode 100644 index 35bd6bc6..00000000 --- a/man/it/chfn.1 +++ /dev/null @@ -1,74 +0,0 @@ -.\" $Id: chfn.1,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" chfn.1 -- change your finger information -.\" (c) 1994 by salvatore valente -.\" -.\" -.\" Traduzione in italiano di Giovanni Bortolozzo -.\" Agosto 1996 -.\" -.\" this program is free software. you can redistribute it and -.\" modify it under the terms of the gnu general public license. -.\" there is no warranty. -.\" -.\" $Author: kloczek $ -.\" $Revision: 1.1 $ -.\" $Date: 2002/03/10 07:41:06 $ -.\" -.\" " for hilit19 -.TH CHFN 1 "13 ottobre 1994" "chfn" "Linux Reference Manual" -.SH NOME -chfn \- cambia le proprie "finger information" -.SH SINTASSI -.B chfn -[\ \-f\ nome_vero\] [\ \-o\ ufficio\] [\ \-p\ telefono_ufficio\] -[\ \-h\ telefono_casa\] [\ \-u\ ] [\ \-v\ ] [\ nome_utente\] -.SH DESCRIZIONE -.B chfn -è usato per cambiare le proprie finger information. Queste informazioni sono -salvate nel file -.IR /etc/passwd , -e sono mostrate dal programma -.BR finger . -Il comando -.B finger -di Linux mostra quattro porzioni di informazione che possono essere -cambiati tramite -.BR chfn : -il proprio nome vero, l'ufficio e il numero di telefono di quest'ultimo, e il -proprio numero di telefono di casa. -.SS LINEA DI COMANDO -Ognuno delle quattro porzioni può essere specificata nella linea di comando. -Se non viene passata alcuna informazione sulla linea di comando, -.B chfn -entra in modo interattivo. -.SS MODO INTERATTIVO -Nel modo interattivo, -.B chfn -chiederà ognuno dei campi. Al prompt, possono essere immesse le nuove -informazioni, o premere return per non cambiare il campo. L'immissione della -parola chiave "none" cancella il campo. -.SH OPZIONI -.TP -.I "\-f, \-\-full-name" -Specifica il proprio nome reale. -.TP -.I "\-o, \-\-office" -Specifica il numero del proprio ufficio. -.TP -.I "\-p, \-\-office-phone" -Specifica il numero di telefono del proprio ufficio. -.TP -.I "\-h, \-\-home-phone" -Specifica il numero di telefono di casa. -.TP -.I "\-u, \-\-help" -Mostra un messaggio d'aiuto ed esce. -.TP -.I "-v, \-\-version" -Mostra informazioni sulla versione ed esce. -.SH "VEDERE ANCHE" -.BR finger (1), -.BR passwd (5) -.SH AUTORE -Salvatore Valente diff --git a/man/it/chsh.1 b/man/it/chsh.1 deleted file mode 100644 index 1d1da815..00000000 --- a/man/it/chsh.1 +++ /dev/null @@ -1,58 +0,0 @@ -.\" $Id: chsh.1,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" chsh.1 -- change your login shell -.\" (c) 1994 by salvatore valente -.\" -.\" Traduzione in italiano di Giovanni Bortolozzo -.\" Agosto 1996 -.\" Aggiornamento alla 2.9 di Roberto Pertile -.\" Maggio 1999 -.\" this program is free software. you can redistribute it and -.\" modify it under the terms of the gnu general public license. -.\" there is no warranty. -.\" -.\" $Author: kloczek $ -.\" $Revision: 1.1 $ -.\" $Date: 2002/03/10 07:41:06 $ -.\" -.TH CHSH 1 "7 ottobre 1998" "chsh" "Linux Reference Manual" -.SH NOME -chsh \- cambia la shell di login -.SH SINTASSI -.B chsh -[\ \-s\ shell\ ] [\ \-l\ ] [\ \-u\ ] [\ \-v\ ] [\ nome_utente\ ] -.SH DESCRIZIONE -.B chsh -è usato per cambiare la propria shell di login. -Se nella linea di comando non viene fornita una shell, -.B chsh -ne chiede una. -.SS SHELL VALIDE -.B chsh -accetterà l'intero percorso di qualunque file eseguibile nel sistema. -Tuttavia, emetterà un messaggio di avviso se la shell non è elencata nel -file -.I /etc/shells. -D'altra parte, può anche essere configurato in modo tale da accettare solo -shell elencate in questo file, a meno che sia eseguito da root. -.SH OPZIONI -.TP -.I "\-s, \-\-shell" -Specifica la propria shell di login. -.TP -.I "\-l, \-\-list-shells" -Stampa la lista delle shell elencate in -.I /etc/shells -ed esce. -.TP -.I "\-u, \-\-help" -Stampa un messaggio sull'uso ed esce. -.TP -.I "-v, \-\-version" -Stampa informazioni sulla versione ed esce. -.SH "VEDERE ANCHE" -.BR login (1), -.BR passwd (5), -.BR shells (5) -.SH AUTORE -Salvatore Valente diff --git a/man/it/gpasswd.1 b/man/it/gpasswd.1 deleted file mode 100644 index 550e4cda..00000000 --- a/man/it/gpasswd.1 +++ /dev/null @@ -1,76 +0,0 @@ -.\" Copyright 1996, Rafal Maszkowski, rzm@pdi.net -.\" All rights reserved. You can redistribute this man page 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. -.\" -.\" $Id: gpasswd.1,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH GPASSWD 1 -.SH NOME -gpasswd \- amministra il file /etc/group -.br -.SH SINTASSI -.B gpasswd \fIgruppo\fR -.br -.B gpasswd -.B -a -\fIutente\fR \fIgruppo\fR -.br -.B gpasswd -.B -d -\fIutente\fR \fIgruppo\fR -.br -.B gpasswd -.B -R -\fIgruppo\fR -.br -.B gpasswd -.B -r -\fIgruppo\fR -.br -.B gpasswd -.RB [ -A -\fIutente\fR,...] -.RB [ -M -\fIutente\fR,...] -\fIgruppo\fR -.br -.SH DESCRIZIONE -.B gpasswd -viene usato per amministrare il file /etc/group (ed il file /etc/gshadow -se compilato con SHADOWGRP definito). Ogni gruppo può avere amministratori, -membri ed una password. L'amministratore di sistema può usare l'opzione \fB-A\fR -per definire l'amministratore/gli amministratori di gruppo e l'opzione \fB-M\fR -per definire i membri ed ha tutti i diritti degli amministratori di gruppo e -dei membri. -.PP -L'amministratore di gruppo può aggiungere e rimuovere utenti usando -rispettivamente le opzioni \fB-a\fR e \fB-d\fR. Gli amministratori possono usare -l'opzione \fB-r\fR per rimuovere la password di gruppo. Quando non è -impostata alcuna password solo i membri del gruppo possono usare -.BR newgrp (1) -per unirsi al gruppo. L'opzione \fB-R\fR disabilita l'accesso al gruppo tramite -il comando -.BR newgrp (1). -.PP -.B gpasswd -invocata da un amministratore di gruppo con il solo nome del gruppo richiede -solamente la password di gruppo. Se la password è impostata i membri possono ancora -usare -.BR newgrp (1) -senza la password, i non-membri devono fornire la password. - -.SH FILE -/etc/group \- informazioni sui gruppi -.br -/etc/gshadow \- informazioni sul gruppo shadow -.SH VEDERE ANCHE -.BR newgrp (1), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR grpck (8) diff --git a/man/it/groups.1 b/man/it/groups.1 deleted file mode 100644 index 72f0aab7..00000000 --- a/man/it/groups.1 +++ /dev/null @@ -1,46 +0,0 @@ -.\" $Id: groups.1,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" Italian manpages for GNU sh-utils-1.16. -.\" Copyright (C) 1997 Free Software Foundation, Inc. -.\" Giovanni Bortolozzo , 1997. -.\" -.\" Traduzione di Giovanni Bortolozzo -.\" Maggio 1997 -.\" -.\"" for hilit19 -.TH GROUPS 1 "GNU Shell Utilities" "FSF" -.SH NOME -groups \- mostra i gruppi in cui è presente l'utente -.SH SINTASSI -.B groups -[nomeutente...] -.br -.B groups -{\-\-help,\-\-version} -.SH DESCRIZIONE -Questa documentazione non è mantenuta da lungo tempo e potrebbe essere -inaccurata o incompleta. La documentazione in Texinfo è ora la fonte -autorevole. -.PP -Questa pagina di manuale documenta la versione GNU di -.BR groups . -.B groups -mostra i nomi dei gruppi supplementari in cui è presente ogni -.I nomeutente -dato, o del processo corrente se non ne è dato nessuno. Se sono dati -dei nomi di utenti, il nome di ogni utente è stampato prima della -lista dei gruppi dell'utente. -.PP -La lista dei gruppi è equivalente all'output del comando `id \-Gn'. -.SS OPZIONI -Quando GNU -.B groups -è chiamato con un solo argomento sono riconosciute le seguenti -opzioni: -.TP -.I "\-\-help" -Mostra nello standard output un messaggio d'aiuto ed esce con successo. -.TP -.I "\-\-version" -Mostra nello standard output informazioni sulla versione ed esce con -successo. - diff --git a/man/it/grpck.8 b/man/it/grpck.8 deleted file mode 100644 index 1bc07062..00000000 --- a/man/it/grpck.8 +++ /dev/null @@ -1,108 +0,0 @@ -.\" Copyright 1992 - 1993, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: grpck.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH GRPCK 8 -.SH NOME -grpck \- verifica l'integrità dei file di gruppo -.SH SINTASSI -\fBgrpck\fR [\fB-r\fR] [\fIgruppo\fR \fIshadow\fR] -.SH DESCRIZIONE -\fBgrpck\fR verifica l'integrità delle informazioni di autenticazione del -sistema. -Vengono controllate tutte le voci in \fI/etc/group\fR e \fI/etc/gshadow\fR -per verificare che la voce abbia il formato appropriato e dati validi -in ciascun campo. -Viene richiesto all'utente di rimuovere le voci che sono formattate -impropriamente o che hanno altri errori incorreggibili. -.P -Vengono fatti controlli per verificare che ogni voce abbia -.sp -.in +.5i -- il corretto numero di campi -.br -- un nome univoco di gruppo -.br -- una lista valida di membri ed amministratori -.in -.5i -.sp -.P -Le verifiche sul corretto numero di campi e sul nome univoco del gruppo -sono fatali. -Se la voce ha un numero errato di campi, all'utente verrà richiesto di -cancellare l'intera riga. -Se l'utente non risponde affermativamente, vengono omessi tutti gli -ulteriori controlli. -Verrà richiesta la cancellazione di una voce avente il nome del gruppo duplicato, -ma i rimanenti controlli verranno ugualmente effettuati. -Tutti gli altri errori sono avvertimenti e l'utente è incitato ad eseguire -il comando \fBgroupmod\fR per correggere l'errore. -.P -I comandi che operano sul file \fI/etc/group\fR non sono in grado di alterare -voci corrotte o duplicate. -In quelle circostanze dovrebbe essere usato \fBgrpck\fR per rimuovere la voce -scorretta. -.SH OPZIONI -Come modalità predefinita, \fBgrpck\fR opera sui file \fI/etc/group\fR ed -\fI/etc/gshadow\fR. -L'utente può selezionare file alternativi con i parametri \fIgruppo\fR e -\fIshadow\fR. -Inoltre, l'utente può eseguire il comando in modalità di sola lettura -specificando l'opzione \fB-r\fR. -Questa fa in modo che venga risposto \fBno\fR a tutte le domande che riguardano -i cambiamenti senza l'intervento dell'utente. -.SH FILE -/etc/group \- informazioni sugli account di gruppo -.br -/etc/gshadow \- password crittate e informazioni sugli amministratori di gruppo -.br -/etc/passwd \- informazioni sugli utenti -.SH VEDERE ANCHE -.BR groupmod (8), -.BR group (5), -.BR passwd (5), -.BR shadow (5) -.SH DIAGNOSTICA -Il comando \fBgrpck\fR esce con i seguenti valori: -.IP 0 5 -Successo -.IP 1 5 -Errore di sintassi -.IP 2 5 -Una o più voci di gruppo scorrette -.IP 3 5 -Impossibile aprire i file di gruppo -.IP 4 5 -Impossibile eseguire il lock dei file di gruppo -.IP 5 5 -Impossibile aggiornare i file di gruppo -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) diff --git a/man/it/grpconv.8 b/man/it/grpconv.8 deleted file mode 100644 index 470d789c..00000000 --- a/man/it/grpconv.8 +++ /dev/null @@ -1,58 +0,0 @@ -.\" $Id: grpconv.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" Traduzione in italiano di Isabella Ruocco -.\" Giugno 1999 -.TH PWCONV 8 "26 sep 1997" -.SH NOME -pwconv, pwunconv, grpconv, grpunconv \- convertono a e da password e gruppi shadow. -.SH SINTASSI -.B pwconv -.br -.B pwunconv -.br -.B grpconv -.br -.B grpunconv -.SH DESCRIZIONE -Questi quattro programmi agiscono tutti sui file normali e e oscurati (shadow) -delle password e dei gruppi: -.IR /etc/passwd ", " /etc/group ", " /etc/shadow ", e " /etc/gshadow . - -.B pwconv -.RI "crea " shadow " da " passwd " e, in modo opzionale, da un preesistente " shadow . -.B pwunconv -.RI "crea " passwd " da " passwd " e " shadow " e quindi rimuove " shadow . -.B grpconv -.RI "crea " gshadow " da " group " e, in modo opzionale, da un preesistente " gshadow . -.B grpunconv -.RI "crea " group " da " group " e " gshadow " e quindi rimuove " gshadow . - -Ciascun programma, prima della conversione, acquisisce i lock necessari. - -.BR pwconv " e " grpconv -sono simili. Per prima cosa vengono rimosse le voci nel file oscurato che non esistono -nel file principale. Quindi vengono aggiornate le voci oscurate che -non hanno `x' come password nel file principale. Vengono aggiunte le eventuali voci -oscurate mancanti. Infine, le password nel file principale vengono -sostituite con `x'. Questi programmi possono essere usati per le conversioni iniziali -così come per aggiornare il file oscurato se il file principale viene editato -a mano. - -.B pwconv -userà i valori di -.BR PASS_MIN_GIORNI ", " PASS_MAX_GIORNI ", e " PASS__GIORNI_PREAVVISO -da -.I /etc/login.defs -quando si aggiungono nuove voci a -.IR /etc/shadow . - -.RB "Analogamente, " pwunconv " e " grpunconv -sono simili. Le password nel file principale vengono aggiornate -dal file oscurato. Voci che esistono nel file principale ma non -nel file oscurato vengono lasciate stare. Infine, viene rimosso il file oscurato. - -Alcune informazioni sull'invecchiamento delle password vengono perse da -.BR pwunconv . -Questo convertirà quello che potrà. -.SH "VEDERE ANCHE" -.BR login.defs (5), -.BR shadowconfig (8) diff --git a/man/it/grpunconv.8 b/man/it/grpunconv.8 deleted file mode 100644 index ca092223..00000000 --- a/man/it/grpunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/grpconv.8 diff --git a/man/it/lastlog.8 b/man/it/lastlog.8 deleted file mode 100644 index f77b02d4..00000000 --- a/man/it/lastlog.8 +++ /dev/null @@ -1,66 +0,0 @@ -.\" Copyright 1992, Phillip Street and Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)lastlog.8 3.3 08:24:58 29 Sep 1993 (National Guard Release) -.\" $Id: lastlog.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH LASTLOG 8 -.SH NOME -lastlog \- esamina il file lastlog -.SH SINTASSI -.B lastlog -.RB [ -u -.IR uid ] -.RB [ -t -.IR giorni ] -.SH DESCRIZIONE -\fBlastlog\fR formatta e stampa il contenuto dell'ultimo log di login, -\fI/var/log/lastlog\fR. Verranno stampati \fBnome-login\fR, \fBporta\fR, -e \fBdata_ultima_connessione\fR. -Il comportamento predefinito (senza opzioni) è quello di stampare le voci di -lastlog in ordine di UID. -Digitando l'opzione \fB-u \fInome-login\fR verrà stampato solo il -record di \fInome-login\fR. -Digitando \fB-t \fIgiorni\fR verranno stampate solo le ultime connessioni -più recenti di \fIgiorni\fR. -L'opzione \fB-t\fR sovrascrive l'uso di \fB-u\fR. -.PP -Se l'utente non si è mai connesso verrà mostrato, al posto della porta e della -data, il messaggio \fB"**Never logged in**"\fR (**Mai connesso**). -.SH FILE -/var/log/lastlog \- file di connessione lastlog -.SH CAVEAT -Grandi lacune nei numeri di uid provocheranno una prolungata esecuzione del -programma lastlog senza alcun output sullo schermo (i.e. se mmdf=800 e l'ultimo -uid=170, sembrerà che il programma rimanga appeso mentre elabora gli uid 171-799). -.SH AUTORI -Julianne Frances Haugh (jfh@tab.com) -.br -Phillip Street diff --git a/man/it/login.1 b/man/it/login.1 deleted file mode 100644 index 390bbf5c..00000000 --- a/man/it/login.1 +++ /dev/null @@ -1,334 +0,0 @@ -.\" $Id: login.1,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) -.\" May be distributed under the GNU General Public License -.\" Può essere distribuito sotto la GNU General Public License -.\" -.\" Traduzione in italiano di Giovanni Bortolozzo -.\" Agosto 1996 -.\" Aggiornamento alla 2.9 di Roberto Pertile -.TH LOGIN 1 "4 novembre 1996" "Util-linux 1.6" "Linux Programmer's Manual" -.SH NOME -login \- accede al sistema -.SH SINTASSI -.BR "login [ " nome " ]" -.br -.B "login \-p" -.br -.BR "login \-h " nome_host -.br -.BR "login \-f " nome -.SH DESCRIZIONE -.B login -viene utilizzato quando si accede a un sistema. Può -anche venire usato per passare da un utente a un altro in qualunque momento -(le shell più recenti tuttavia hanno un supporto incorporato per questa -caratteristica). - -Se non sono forniti argomenti, -.B login -chiede il nome dell'utente. - -Se l'utente -.I non -é root, e se esiste -.IR /etc/nologin , -vengono stampati sullo schermo i contenuti di questo file e viene -terminata l'operazione. -Ciò viene usato, tipicamente, per impedire collegamenti quando il sistema -sta per essere spento. - -Se per l'utente sono specificate particolari restrizioni di accesso in -.IR /etc/usertty , -esse devono venire rispettate, altrimenti il tentativo di collegamento -riceverà un diniego e verrà generato un messaggio di -.BR syslog . -Si veda la sezione sulle "Restrizioni Speciali sull'Accesso". - -Se l'utente è root, allora il collegamento deve avvenire da una tty -elencata in -.IR /etc/securetty . -I fallimenti saranno registrati dai servizi di -.BR syslog . - -Dopo la verifica di queste condizioni, verrà richiesta e controllata -la password (se è necessaria per quell'utente). Sono consentiti dieci -tentativi prima che -.B login -termini, tuttavia dopo i primi tre, la risposta comincerà a diventare -molto lenta. -I collegamenti falliti vengono riferiti dai servizi di -.BR syslog . -Questi servizi sono inoltre usati per riferire qualsiasi collegamento -riuscito di root. - -Se esiste il file -.IR .hushlogin , -allora verrà eseguito un collegamento "silenzioso" (disabilitando il -controllo della posta, la stampa dell'orario dell'ultimo collegamento -e del messaggio del giorno). Altrimenti, se esiste -.IR /var/log/lastlog , -viene stampata la data e ora dell'ultimo collegamento (e viene registrato -il collegamento in atto). - -Sono eseguiti compiti amministrativi vari, come impostare lo UID e il GID -della tty. Viene conservata la variabile d'ambiente TERM, se esiste (le altre -variabili d'ambiente vengono conservate se si usa l'opzione -.BR \-p ). -Quindi vengono impostate le variabili d'ambiente HOME, PATH, SHELL, TERM, -MAIL e LOGNAME. PATH viene predefinito come -.I /usr/local/bin:/bin:/usr/bin:. -per gli utenti normali e come -.I /sbin:/bin:/usr/sbin:/usr/bin -per root. Infine, se non si tratta di un collegamento "silenzioso", viene -stampato il messaggio del giorno, viene controllato il file col nome -dell'utente in -.IR /usr/spool/mail , -e stampato un messaggio se esso ha lunghezza non-zero. - -Viene poi lanciata la shell dell'utente. Se non è specificata nessuna -shell per l'utente in -.BR /etc/passwd , -allora viene usata -.BR /bin/sh . -Se non sono specificate directory in -.IR /etc/passwd , -allora viene usata -.I / -(la directory home viene controllata dal file -.I .hushlogin -descritto sopra). -.SH OPZIONI -.TP -.B \-p -Usata da -.BR getty (8) -per dire a -.B login -di non distruggere l'ambiente. -.TP -.B \-f -Usata per saltare la seconda autentifica di collegamento. Ciò, -specificamente, -.B non -funziona per root, e non sembra funzionare bene sotto Linux. -.TP -.B \-h -Usata da altri server (per esempio, -.BR telnetd (8)) -per passare il nome dell'host remoto a -.B login -onde poterlo collocare in utmp e wtmp. Solo il superutente può usare -quest'opzione. - - -.SH "RESTRIZIONI SPECIALI SULL'ACCESSO" -Il file -.I /etc/securetty -elenca il nome delle tty sulle quali può collegarsi root. Su ogni linea deve -essere specificato un nome di dispositivo tty senza il prefisso /dev/. Se -il file non esiste, a root è permesso di collegarsi da qualunque tty. - -.PP -Il file -.I /etc/usertty -specifica restrizioni di accesso ulteriori per specifici utenti. Se questo -file non esiste, non viene imposta alcuna ulteriore restrizione d'accesso. -Il file consiste di una sequenza di sezioni. Ci sono tre possibili tipi di -sezione: CLASSES, GROUPS e USERS. Una sezione CLASSES definisce la classe di -tty consentiti e i modelli di hostname, una sezione GROUPS definisce tty e -host consentiti in base al gruppo, una sezione USERS definisce tty e host -consentiti in base all'utente. -.PP -Ogni riga di questo file può avere una lunghezza massima di 255 caratteri. I -commenti iniziano con un carattere # e si estendono fino al termine della -riga. -.PP -.SS "La sezione CLASSES" -Una sezione CLASSES incomincia con la parola CLASSES, all'inizio della riga -e tutta in maiuscole. Ognuna delle righe che seguono, fino -all'inizio di una nuova sezione o alla fine del file, consistono in una -sequenza di parole separate da tabulazioni o spazi. Ogni riga definisce -una classe di tty e modelli di host. -.PP -La parola all'inizio di una riga viene definita come un nome collettivo -per le tty e i modelli di host specificati nel resto della riga. Questo -nome collettivo può essere usato in ogni sezione successiva GROUPS o -USERS. Nessuno di tali nomi di classi deve essere parte della definizione -di una classe, per evitare problemi con classi ricorsive. -.PP -Un esempio di sezione CLASSES: -.PP -.nf -.in +.5 -CLASSES -mia_classe1 tty1 tty2 -mia_classe2 tty3 @.foo.com -.in -.5 -.fi -.PP -Ciò definisce le classi -.I mia_classe1 -e -.I mia_classe2 -corrispondenti a quello che hanno a destra. -.PP - -.SS "La sezione GROUPS" -Una sezione GROUPS definisce i tipi consentiti di tty e host in base al -gruppo Unix. Se un utente è membro di un gruppo Unix in accordo a -.I /etc/passwd -e -.I /etc/group -e tale gruppo è menzionato in una sezione GROUPS in -.I /etc/usertty -allora l'utente ha il permesso di accesso se lo ha il gruppo. -.PP -Una sezione GROUPS incomincia con la parola GROUPS, tutta in maiuscole, -all'inizio di una riga, ogni riga seguente è una sequenza di parole -separate da spazi o tabulazioni. La prima parola di una riga è il nome -del gruppo e il resto delle parole sulla riga specificano le tty e gli host -dai quali è consentito accesso ai membri di quel gruppo. Queste -specificazioni possono comportare l'uso di classi definite nelle precedenti -sezioni CLASSES. -.PP -Esempio di una sezione GROUPS: -.PP -.nf -.in +0.5 -GROUPS -sys tty1 @.bar.edu -stud mia_classe1 tty4 -.in -0.5 -.fi -.PP -Questo esempio specifica che i membri del gruppo -.I sys -possono collegarsi da tty1 e da host nel dominio bar.edu. Gli utenti nel -gruppo -.I stud -possono collegarsi dagli host/tty specificati nella classe mia_classe1 o -da tty4. -.PP - -.SS "La sezione USERS" -Una sezione USERS comincia con la parola USERS tutta in maiuscolo all'inizio -di una riga, e ogni riga successiva è una sequenza di parole separate da -spazi o tabulazioni. La prima parola in una riga è un nome di utente e a -quell'utente è permesso di collegarsi dai tty e dagli host menzionati nel -resto della riga. Queste specificazioni possono comportare classi definite -in precedenti sezioni CLASSES. Se non viene specificata alcuna intestazione -all'inizio del file, la prima sezione è predefinita come sezione USERS. -.PP -Esempio di una sezione USERS: -.PP -.nf -.in +0.5 -USERS -zacho tty1 @130.225.16.0/255.255.255.0 -blue tty3 mia_classe2 -.in -0.5 -.fi -.PP -Ciò consente all'utente zacho di collegarsi solo sul tty1 e dagli host con -indirizzi IP nell'intervallo 130.225.16.0 \- 130.225.16.255, e all'utente -blue consente di collegarsi dal tty3 e da qualunque cosa sia stato -specificato in mia_classe2. -.PP -Ci può essere una riga nella sezione USERS che comincia con un nome di -utente di *. Questa è una regola predefinita e verrà applicata a -qualsiasi utente che non corrisponda ad alcuna altra riga. -.PP -Se un utente corrisponde sia a una riga USERS sia a una riga GROUPS -allora all'utente è consentito l'accesso risultante dall'unione di tutti i -tty/host menzionati in tali specificazioni. - -.SS Origini -Le specifiche di tty e i modelli di host usate nella specificazione degli -accessi di classi, gruppi e utenti si chiamano origini. Una stringa origine -può avere uno dei seguenti formati: -.IP o -Il nome di un dispositivo tty senza il prefisso /dev/, per esempio tty1 o -ttyS0. -.PP -.IP o -La stringa @localhost, che significa che all'utente è permesso di fare -telnet/rlogin dall'host locale allo stesso host. Questo consente inoltre -all'utente, per esempio, di eseguire il comando: xterm -e /bin/login. -.PP -.IP o -Il suffisso di un nome di dominio come @.some.dom, che significa che -l'utente può fare rlogin/telnet da qualsiasi host il cui nome di dominio -abbia il suffisso -.some.dom. -.PP -.IP o -Un intervallo di indirizzi IPv4 , scritto @x.x.x.x/y.y.y.y dove x.x.x.x -è l'indirizzo IP nella consueta notazione decimale puntata, e -y.y.y.y è una bitmask nella stessa notazione che specifica quali bit -nell'indirizzo devono essere confrontati con l'indirizzo IP dell'host remoto. -Per esempio, @130.225.16.0/255.255.254.0 vuol dire che l'utente può fare -rlogin/telnet da qualsiasi host il cui indirizzo IP sia nell'intervallo -130.225.16.0 \- 130.225.17.255. -.PP -Qualunque delle suddette origini può essere prefissata da una -specificazione di tempo secondo la sintassi: -.PP -.nf -spec_ora ::= '[' [':' ]* ']' -giorno ::= 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun' -ora ::= '0' | '1' | ... | '23' -spec_ora ::= | '\-' -giorno-o-ora ::= | -.fi -.PP -Per esempio, l'origine [mon:tue:wed:thu:fri:8\-17]tty3 significa che il -collegamento è consentito dal lunedì al venerdì fra le 8:00 e le 17:59 -(5:59 p.m.) dalla tty3. Questo mostra anche che un intervallo di ore a\-b -include tutti gli istanti fra a:00 e b:59. La specificazione di una singola -ora (come 10) significa l'intervallo di tempo fra le 10:00 e le 10:59. -.PP -La mancata specificazione di qualsiasi prefisso di tempo per una tty o host -significa che il collegamento da quella origine è permesso in qualunque -momento. Se dato un prefisso di tempo, ci si accerti di specificare sia un -insieme di giorni sia una una o più ore o intervalli di ore. Una -specificazione di ore non può comprendere nessuno spazio bianco. -.PP -Se non è data alcuna regola predefinita allora gli utenti che non -corrispondano ad alcuna riga di -.I /etc/usertty -possono collegarsi da qualunque posto, come è il comportamento standard. -.PP -.SH FILE -.nf -.I /var/run/utmp -.I /var/log/wtmp -.I /var/log/lastlog -.I /usr/spool/mail/* -.I /etc/motd -.I /etc/passwd -.I /etc/nologin -.I /etc/usertty -.I .hushlogin -.fi -.SH "VEDERE ANCHE" -.BR init (8), -.BR getty (8), -.BR mail (1), -.BR passwd (1), -.BR passwd (5), -.BR environ (7), -.BR shutdown (8) -.SH BACHI - -Linux, a differenza di altri sistemi operativi draconiani, non controlla le -quote di spazio. - -Non è supportata l'opzione non documentata del BSD -.BR \-r . -Ciò potrebbe essere richiesto da alcuni programmi di -.BR rlogind (8) . - -.SH AUTORE -Derivato dal BSD login 5.40 (5/9/89) da Michael Glad (glad@daimi.dk) per HP-UX -.br -Portato a Linux 0.12: Peter Orbaek (poe@daimi.aau.dk) diff --git a/man/it/newgrp.1 b/man/it/newgrp.1 deleted file mode 100644 index c7396e0b..00000000 --- a/man/it/newgrp.1 +++ /dev/null @@ -1,34 +0,0 @@ -.\" $Id: newgrp.1,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" Original author unknown. This man page is in the public domain. -.\" Modified Sat Oct 9 17:46:48 1993 by faith@cs.unc.edu -.\" -.\" Traduzione in italiano di Giovanni Bortolozzo -.\" Agosto 1996 -.\" -.\" " for hilit19 -.TH NEWGRP 1 "9 ottobre 1993" "Linux 1.2" "Linux Programmer's Manual" -.SH NOME -newgrp \- logga in un nuovo gruppo -.SH SINTASSI -.BI "newgrp [ " gruppo " ]" -.SH DESCRIZIONE -.B Newgrp -cambia l'identificatico del gruppo (GID) del suo chiamante, in modo analogo a -.BR login (1). -La stessa persona rimane loggata, e non è cambiata la directory corrente, -ma i calcoli sui permessi d'accesso ai file sono fatti rispetto a nuovo -group ID. -.LP -Se non è specificato alcun gruppo, il GID è posto pari al GID di login. -.LP -.SH FILE -.I /etc/group -.br -.I /etc/passwd - -.SH "VEDERE ANCHE" -.BR login "(1), " group (5) - -.SH AUTORE -All'inizio era Michael Haardt. Attualmente mantenuto da -Peter Orbaek (poe@daimi.aau.dk). diff --git a/man/it/passwd.1 b/man/it/passwd.1 deleted file mode 100644 index cf02ca50..00000000 --- a/man/it/passwd.1 +++ /dev/null @@ -1,57 +0,0 @@ -.\" $Id: passwd.1,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu) -.\" May be distributed under the GNU General Public License -.\" -.\" Traduzione in italiano di Giovanni Bortolozzo -.\" Agosto 1996 -.\" -.\" " for hilit19 -.TH PASSWD 1 "22 giugno 1994" "Linux 1.2" "Linux Programmer's Manual" -.SH NOME -passwd \- cambia la password -.SH SINTASSI -.BR "passwd [ " utente " [ " password " ] ]" -.SH DESCRIZIONE -Senza alcun argomento -.B passwd -cambierà la password per l'attuale utente. Per prima cosa all'utente è chiesta -la vecchia password, dopo di che, per evitare errori di battitura, va immessa -per due volte la nuova password. La nuova password deve essere lunga almeno -sei caratteri ed essere composta sia da maiuscole che da minuscole o da -caratteri non alfabetici. La nuova password non deve essere uguale alla -vecchia password, e non deve coincidere con il nome dell'utente. - -Le forme a uno e due argomenti possono essere usate solo dal superuser. Usando -la forma ad un argomento, il superuser può cambiare la password per -quell'utente. Al superuser non è chiesta la vecchia password, e non sono -applicate le regole per le password valide, poiché il superuser potrebbe -avere valide ragioni per scegliere una password che non ne sia conforme. - -La forma a due argomenti assegna ad -.I utente -la password passata come secondo argomento. Ciò può essere utile quando -si deve assegnare a molti utenti una password iniziale. - -Passando una stringa vuota come secondo argomento si cancella la password -dell'utente. - -.SH FILE -.I /etc/passwd -.br -.I /etc/shells -.SH "VEDERE ANCHE" -.BR chsh (1), -.BR chfn (1) -.SH BACHI -Sono permesse password composte solo da numeri. -.br -Non viene prodotto nessun messaggio d'avviso se il superuser sceglie una -password ``scadente''. -.br -Le opzioni -.B \-f -e -.B \-s -non sono supportare. -.SH AUTORE -Peter Orbaek (poe@daimi.aau.dk) diff --git a/man/it/passwd.5 b/man/it/passwd.5 deleted file mode 100644 index b97aa538..00000000 --- a/man/it/passwd.5 +++ /dev/null @@ -1,136 +0,0 @@ -.\" $Id: passwd.5,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" Copyright (c) 1993 Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de) -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" Traduzione in italiano di Giovanni Bortolozzo -.\" Agosto 1996 -.\" -.\" This is free documentation; 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. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual 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 manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. -.\" -.\" Modified Sun Jul 25 10:46:28 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Aug 21 18:12:27 1994 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Jun 18 01:53:57 1995 by Andries Brouwer (aeb@cwi.nl) -.\" Modified Mon Jan 5 20:24:40 MET 1998 by Michael Haardt -.\" (michael@cantor.informatik.rwth-aachen.de) -.TH PASSWD 5 "5 gennaio 1988" "Linux" "Linux Programmer's Manual" -.SH NOME -passwd \- file delle password -.SH DESCRIZIONE -.B Passwd -è un file di testo che contiene un elenco degli account sul sistema, e -per ciascuno di questi riporta alcune informazioni utili come user ID, -group ID, home directory, ecc. Spesso contiene anche le password -criptate di ciascun account. Il file delle password dovrebbe avere -permessi di lettura per tutti (molte utility, come -.BR ls (1), -ne fanno uso per associare lo user ID allo user name), ma permesso di -scrittura solo per il superuser. -.PP -Nei buoni tempi andati, il permesso di lettura per tutti non era un -grosso problema: chiunque poteva leggere le password criptate, ma i -calcolatori erano troppo lenti per decifrare una password scelta -bene. Soprattutto, si supponeva di lavorare fra amici. Oggigiorno, -molti usano una qualche versione di shadow password (chiavi ombra), in -cui -.I /etc/passwd -contiene degli * al posto delle password criptate, che a loro volta -sono nel file \fI/etc/shadow\fP, che solo il superuser può leggere. -.PP -Sia che si utilizzino o meno le shadow password, molti amministratori di -sistema usano un asterisco nel campo della password per far sì che un -utente non possa autenticarsi con una password (vedi le note più -sotto). -.PP -Se si crea una nuova login, si metta un asterisco nel campo della -password, e poi si usi il programma -.BR passwd (1) -per riempirlo. -.PP -C'è una voce per riga, ed ogni riga ha il formato: -.sp -.RS -account:passwd:UID:GID:GECOS:directory:shell -.RE -.sp -Il significato dei campi è il seguente: -.sp -.RS -.TP 1.0in -.I account -il nome dell'utente nel sistema. Non dovrebbe contenere maiuscole. -.TP -.I password -la password criptata o un asterisco. -.TP -.I UID -l'identificativo numerico dell'utente (UID = User IDentifier). -.TP -.I GID -l'identificativo numerico del gruppo principale per l'utente (GID = -Group IDentifier). -.TP -.I GECOS -Questo campo è opzionale e viene usato solo per fornire -informazioni. Di solito contiene il nome per esteso dell'utente. GECOS -sta per General Electric Comprehensive Operating System, (sistema -operativo comprensivo della General Electric), ribattezzato GCOS -quando la divisione grandi sistemi della GE fu venduta alla -Honeywell. Dennis Ritchie riferì: «A volte dovevamo spedire una stampa -o un gruppo di lavori alla macchina GCOS. Il campo del gcos nel file -delle password era un posto in cui sbattere le informazioni per la -$IDENTcard. Per niente elegante.» -.TP -.I directory -la $HOME directory dell'utente. -.TP -.I shell -il programma lanciato al login (se è vuoto, viene usato -.BR /bin/sh ). -Se punta ad un programma che non esiste, l'utente non potrà avere -accesso tramite -.BR login (1). -.RE -.SH NOTE -Se si vuole creare un gruppo di utenti, il loro GID deve -essere uguale e ci deve essere una voce nel file \fI/etc/group\fP, o il -gruppo non esisterà. -.PP -Se la password criptata è un asterisco, l'utente non potrà fare login -tramite -.BR login (1). -ma potrà ugualmente accedere al suo account usando -.BR rlogin (1), -far girare processi esistenti o iniziarne nuovi con -.BR rsh (1), -.BR cron (1), -.BR at (1) -o filtri per la posta, ecc. Bloccare un account semplicemente -modificando il campo della shell ha lo stesso effetto e in più -permette l'uso di -.BR su (1). -.SH FILE -.I /etc/passwd -.SH "VEDERE ANCHE" -.BR passwd (1), -.BR login (1), -.BR su (1), -.BR group (5), -.BR shadow (5) diff --git a/man/it/pwconv.8 b/man/it/pwconv.8 deleted file mode 100644 index a8edb920..00000000 --- a/man/it/pwconv.8 +++ /dev/null @@ -1,58 +0,0 @@ -.\" $Id: pwconv.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" Traduzione in italiano di Isabella Ruocco -.\" Giugno 1999 -.TH PWCONV 8 "26 sep 1997" -.SH NOME -pwconv, pwunconv, grpconv, grpunconv \- convertono a e da password e gruppi shadow. -.SH SINTASSI -.B pwconv -.br -.B pwunconv -.br -.B grpconv -.br -.B grpunconv -.SH DESCRIPTION -Questi quattro programmi agiscono tutti sui file normali e e oscurati (shadow) -delle password e dei gruppi: -.IR /etc/passwd ", " /etc/group ", " /etc/shadow ", e " /etc/gshadow . - -.B pwconv -.RI "crea " shadow " da " passwd " e, in modo opzionale, da un preesistente " shadow . -.B pwunconv -.RI "crea " passwd " da " passwd " e " shadow " e quindi rimuove " shadow . -.B grpconv -.RI "crea " gshadow " da " group " e, in modo opzionale, da un preesistente " gshadow . -.B grpunconv -.RI "crea " group " da " group " e " gshadow " e quindi rimuove " gshadow . - -Ciascun programma, prima della conversione, acquisisce i lock necessari. - -.BR pwconv " e " grpconv -sono simili. Per prima cosa vengono rimosse le voci nel file oscurato che non esistono -nel file principale. Quindi vengono aggiornate le voci oscurate che -non hanno `x' come password nel file principale. Vengono aggiunte le eventuali voci -oscurate mancanti. Infine, le password nel file principale vengono -sostituite con `x'. Questi programmi possono essere usati per le conversioni iniziali -così come per aggiornare il file oscurato se il file principale viene editato -a mano. - -.B pwconv -userà i valori di -.BR PASS_MIN_GIORNI ", " PASS_MAX_GIORNI ", e " PASS_GIORNI_PREAVVISO -da -.I /etc/login.defs -quando si aggiungono nuove voci a -.IR /etc/shadow . - -.RB "Analogamente, " pwunconv " e " grpunconv -sono simili. Le password nel file principale vengono aggiornate -dal file oscurato. Voci che esistono nel file principale ma non -nel file oscurato vengono lasciate stare. Infine, viene rimosso il file oscurato. - -Alcune informazioni sull'invecchiamento delle password vengono perse da -.BR pwunconv . -Questo convertirà quello che potrà. -.SH "VEDERE ANCHE" -.BR login.defs (5), -.BR shadowconfig (8) diff --git a/man/it/pwunconv.8 b/man/it/pwunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/it/pwunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/it/shadow.5 b/man/it/shadow.5 deleted file mode 100644 index 45d229fe..00000000 --- a/man/it/shadow.5 +++ /dev/null @@ -1,102 +0,0 @@ -.\" Copyright 1989 - 1990, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: shadow.5,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano di Isabella Ruocco -.\" Giugno 1999 -.\" -.TH SHADOW 5 -.SH NOME -shadow \- file crittato delle password -.SH DESCRIZIONE -.I shadow -contiene le informazioni sulle password crittate per gli account degli utenti -e, opzionalmente, informazioni sull'invecchiamento delle password. -E' incluso -.IP "" .5i -Nome di login -.IP "" .5i -Password crittata -.IP "" .5i -Giorni a partire dal 1 gennaio 1970 in cui la password è stata cambiata l'ultima volta -.IP "" .5i -Giorni prima che la password possa essere modificata -.IP "" .5i -Giorni dopo i quali la password deve essere modificata -.IP "" .5i -Giorni prima della scadenza della password in cui l'utente viene avvertito -.IP "" .5i -Giorni dopo la scadenza della password in cui l'account viene disabilitato -.IP "" .5i -Giorni a partire dal 1 gennaio 1970 dopo i quali l'account viene disabilitato -.IP "" .5i -Campo riservato -.PP -Il campo password deve essere riempito. -La password crittata è composta da un numero compreso tra 13 e 24 di caratteri dei -64 caratteri alfabetici -da a fino a z, da A a Z, da 0 a 9, \. e /. -Fate riferimento a \fBcrypt\fR(3) per dettagli riguardanti il modo in cui questa stringa -viene interpretata. -.PP -La data dell'ultima modifica della password è specificata come il numero -di giorni dal 1 gennaio 1970. -La passowrd non può essere modifcata nuovamente prima che sia passato -il numero di giorni previsto, e deve essere cambiata dopo il massimo numero -di giorni. -Se il minimo numero di giorni richiesto è superiore del -massimo numero di giorni permesso, questa password non potrà -essere modificata dall'utente. -.PP -Un account viene considerato inattivo e viene disabilitato se -la password non viene modificata entro il numero di giorni specificato -dopo la scadenza della password. -Un account sarà anche disabilitato il giorno specificato -senza tener conto di altre informazioni sulla scadenza della password. -.PP -Questa informazione ha la precedenza nei confronti di qualunque informazione sulla password o sulla scadenza della password -presente in \fI/etc/passwd\fR. -.PP -Questo file non deve essere leggibile dagli utenti normali se si vuole mantenere -la sicurezza sulle password. -.SH FILE -/etc/passwd \- informazioni sull'account dell'utente -.br -/etc/shadow \- password crittate degli utenti -.SH VEDERE ANCHE -.BR chage (1), -.BR login (1), -.BR passwd (1), -.BR su (1), -.BR sulogin (8), -.BR shadow (3), -.BR passwd (5), -.BR pwconv (8), -.BR pwunconv (8) -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) diff --git a/man/it/useradd.8 b/man/it/useradd.8 deleted file mode 100644 index f854cfe4..00000000 --- a/man/it/useradd.8 +++ /dev/null @@ -1,197 +0,0 @@ -.\" Copyright 1991 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: useradd.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH USERADD 8 -.SH NOME -useradd \- Crea un nuovo utente o aggiorna le informazioni predefinite per -i nuovi utenti -.SH SINTASSI -.TP 8 -.B useradd -.\" .RB [ -A -.\" .RI { metodo | \fBPREDEFINITO\fR "},... ]" -.RB [ -c -.IR commento ] -.RB [ -d -.IR home_dir ] -.br -.RB [ -e -.IR data_scadenza ] -.RB [ -f -.IR tempo_inattività ] -.br -.RB [ -g -.IR gruppo_iniziale ] -.RB [ -G -.IR gruppo [,...]] -.br -.RB [ -m " [" -k -.IR dir_scheletro ]] -.RB [ -s -.IR shell ] -.br -.RB [ -u -.IR uid " [" -.BR -o ]] -.I login -.TP 8 -.B useradd -\fB-D\fR -[\fB-g\fI gruppo_predefinito\fR] -[\fB-b\fI home_predefinita\fR] -.br -[\fB-f\fI inattività_predefinita\fR] -[\fB-e\fI data_scadenza_predefinita\fR] -.br -[\fB-s\fI shell_predefinita\fR] -.SH DESCRIZIONE -.SS Creare Nuovi Utenti -Quando viene invocato senza l'opzione \fB-D\fR, il comando \fBuseradd\fR -crea un nuovo account di utente usando i valori specificati sulla linea di -comando ed i valori predefiniti dal sistema. -Il nuovo account di utente verrà aggiunto ai file di sistema che lo necessitano, -verrà creata la home directory, e lì verranno copiati i file iniziali, a seconda -delle opzioni sulla linea di comando. -Le opzioni che si applicano al comando \fBuseradd\fR sono -.\" .IP "\fB-A {\fImetodo\fR|\fBPREDEFINITO\fR},..." -.\" Il valore del metodo di autenticazione dell'utente. -.\" Il metodo di autenticazione è il nome di un programma che è responsabile -.\" della validazione dell'identità dell'utente. -.\" La stringa \fBPREDEFINITO\fR può essere usata per cambiare il metodo di -.\" autenticazione dell'utente con il metodo standard di sistema delle -.\" password. -.\" Questa è una lista di nomi di programmi separati da virgole. -.\" Può includere \fBPREDEFINITO\fR esattamente una volta. -.IP "\fB-c \fIcommento\fR" -Il campo commento del nuovo utente nel file password. -.IP "\fB-d \fIhome_dir\fR" -Il nuovo utente verrà creato usando \fIhome_dir\fR come valore per la -directory di login dell'utente. -Il comportamento predefinito è di appendere il nome \fIlogin\fR a -\fIhome_predefinita\fR ed usare quella come nome di directory di login. -.IP "\fB-e \fIdata_scadenza\fR" -La data in cui verrà disabilitato l'account dell'utente. -La data è specificata nel formato \fIMM/GG/AA\fR. -.IP "\fB-f \fIgiorni_inattività\fR" -Il numero di giorni dopo la scadenza della password fino a quando l'account -verrà permanentemente disabilitato. -Un valore pari a 0 disabilita l'account non appena è scaduta la password, -ed un valore pari a -1 disabilita questa caratteristica. -Il valore predefinito è -1. -.IP "\fB-g \fIgruppo_iniziale\fR" -IL nome o numero del gruppo iniziale di login dell'utente. -Il nome del gruppo deve esistere. Un numero di gruppo deve fare riferimento -ad un gruppo già esistente. -Il numero di gruppo predefinito è 1. -.IP "\fB-G \fIgruppo,[...]\fR" -Una lista di gruppi supplementari di cui l'utente è altresì membro. -Ciascun gruppo è separato dal successivo da una virgola, senza spazi -bianchi intermedi. -I gruppi sono soggetti alle stesse restrizioni del gruppo dato con -l'opzione \fB-g\fR. -Il comportamento predefinito è che l'utente appartenga solo al gruppo -iniziale. -.IP \fB-m\fR -La home directory dell'utente verrà creata se non esiste. -I file contenuti in \fIdir_scheletro\fR saranno copiati nella home directory -se viene usata l'opzione \fB-k\fR, altrimenti verranno usati i file -contenuti in \fI/etc/skel\fR. -Anche tutte le directory contenute in \fIdir_scheletro\fR o \fI/etc/skel\fR -verranno create nella home directory dell'utente. -L'opzione \fB-k\fR è valida solo in congiunzione con l'opzione \fB-m\fR. -Il comportamento predefinito è di non creare la directory e di non copiarvi -alcun file. -.IP "\fB-s \fIshell\fR" -Il nome della shell di login dell'utente. -Il comportamento predefinito è di lasciare vuoto questo campo, che fa sì che -il sistema selezioni la shell di connessione predefinita. -.IP "\fB-u \fIuid\fR" -Il valore numerico dell'ID dell'utente. -Questo valore deve essere univoco, a meno che non venga usata l'opzione -\fI-o\fR. -Il valore deve essere non-negativo. -Il comportamento predefinito è di usare il minimo valore di ID superiore a 99 -e superiore a quello di ogni altro utente. -Valori tra 0 e 99 sono tipicamente riservati per account di sistema. -.SS Cambiare i valori predefiniti -Quando invocato con l'opzione \fB-D\fR, \fBuseradd\fR o mostrerà i valori -predefiniti correnti, oppure aggiornerà i valori predefiniti dalla linea -di comando. -Le opzioni valide sono -.IP "\fB-b \fIhome_predefinita\fR" -Il prefisso del percorso per la home directory del nuovo utente. -Il nome dell'utente verrà aggiunto alla fine di \fIhome_predefinita\fR -per creare il nome della nuova directory se non viene usata l'opzione \fB-d\fI -quando si crea un nuovo account. -.IP "\fB-e \fIdata_scadenza_predefinita\fR" -La data in cui l'account dell'utente verrà disabilitato. -.IP "\fB-f \fIinattività_predefinita\fR" -Il numero di giorni dopo la scadenza di una password prima che l'account -venga disabilitato. -.IP "\fB-g \fIgruppo_predefinito\fR" -Il nome o ID del gruppo iniziale per un nuovo utente. -Il gruppo nominato deve esistere, ed un ID numerico di gruppo deve avere una -voce esistente. -.IP "\fB-s \fIshell_predifinita\fR" -Il nome della shell di login per un nuovo utente. -Il programma nominato verrà usato per tutti gli account dei futuri nuovi -utenti. -.PP -Se non è specificata alcuna opzione, \fBuseradd\fR mostra i valori predefiniti -correnti. -.SH NOTE -L'amministratore di sistema è responsabile del posizionamento dei file -predefiniti degli utenti nella directory \fI/etc/skel\fR. -.SH CAVEAT -Non è possibile aggiungere un utente ad un gruppo NIS. -Questo deve essere fatto sul server NIS. -.SH FILE -/etc/passwd \- informazioni sugli account di utenti -.br -/etc/shadow \- informazioni sicure sugli account di utenti -.br -/etc/group \- informazioni sui gruppi -.br -/etc/default/useradd \- informazioni predefinite -.br -/etc/skel \- directory contenente i file predefiniti -.SH VEDERE ANCHE -.BR chfn (1), -.BR chsh (1), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR passwd (1), -.BR userdel (8), -.BR usermod (8) -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) diff --git a/man/it/usermod.8 b/man/it/usermod.8 deleted file mode 100644 index 8315da07..00000000 --- a/man/it/usermod.8 +++ /dev/null @@ -1,151 +0,0 @@ -.\" Copyright 1991 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: usermod.8,v 1.1 2002/03/10 07:41:07 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH USERMOD 8 -.SH NOME -usermod \- Modifica l'account di un utente -.SH SINTASSI -.TP 8 -.B usermod -.\" .RB [ -A -.\" .RI { metodo | \fBPREDEFINITO\fR "},... ]" -.RB [ -c -.IR commento ] -.RB [ -d -.IR home_dir " [" -.BR -m ]] -.br -.RB [ -e -.IR data_scadenza ] -.RB [ -f -.IR tempo_inattività ] -.br -.RB [ -g -.IR gruppo_iniziale ] -.RB [ -G -.IR gruppo [,...]] -.br -.RB [ -l -.IR nome_login ] -.RB [ -s -.IR shell ] -.br -.RB [ -u -.IR uid " [" -.BR -o ]] -.I login -.SH DESCRIZIONE -Il comando \fBusermod\fR modifica i file di account di sistema in modo da -riflettere le modifiche specificate sulla linea di comando. -Le opzioni che si applicano al comando \fBusermod\fR sono -.\" .IP "\fB-A \fImetodo\fR|\fBPREDEFINITO\fR" -.\" Il nuovo valore del metodo di autenticazione dell'utente. -.\" Il metodo di autenticazione è il nome di un programma che è responsabile -.\" della validazione dell'identità dell'utente. -.\" La stringa \fBPREDEFINITO\fR può essere usata per cambiare il metodo di -.\" autenticazione dell'utente con il metodo standard di sistema delle -.\" password. -.IP "\fB-c \fIcommento\fR" -Il campo commento del nuovo utente nel file password. -Normalmente viene modificato usando l'utilità \fBchfn\fR(1). -.IP "\fB-d \fIhome_dir\fR" -La nuova directory di login dell'utente. -Se è data l'opzione \fB-m\fR il contenuto della home directory corrente -sarà spostato nella nuova home directory, che viene creata se non esiste già. -.IP "\fB-e \fIdata_scadenza\fR" -La data in cui l'account dell'utente verrà disabilitato. -La data è specificata nel formato \fIMM/GG/AA\fR. -.IP "\fB-f \fIgiorni_inattività\fR" -Il numero di giorni dopo la scadenza di una password prima che l'account -venga permanentemente disabilitato. -Un valore pari a 0 disabilita l'account non appena la password è scaduta, -ed un valore pari a -1 disabilita la caratteristica. -Il valore predefinito è -1. -.IP "\fB-g \fIgruppo_iniziale\fR" -Il nuome o numero del nuovo gruppo di connessione dell'utente. -Il nome del gruppo deve esistere. Un numero di gruppo deve riferirsi ad un -gruppo già esistente. -Il numero di gruppo predefinito è 1. -.IP "\fB-G \fIgruppo,[...]\fR" -Una lista di gruppi supplementari di cui l'utente è altresì membro. -Ciascun gruppo è separato dal successivo da una virgola, senza spazi bianchi -intermedi. -I gruppi sono soggetti alle stesse restrizioni del gruppo dato con l'opzione -\fB-g\fR. -Se l'utente è attualmente membro di un gruppo che non è elencato, l'utente -verrà rimosso dal gruppo. -.IP "\fB-l \fInome_login\fR" -Il nome dell'utente verrà cambiato da \fIlogin\fR a \fInome_login\fR. -Niente altro viene cambiato. -In particolare, la home directory dell'utente dovrebbe probabilmente -essere modificata in modo da riflettere il nuovo nome di login. -.IP "\fB-s \fIshell\fR" -Il nome della nuova shell di login dell'utente. -Lasciando questo campo vuoto si fa in modo che il sistema selezioni la shell -di connessione predefinita. -.IP "\fB-u \fIuid\fR" -Il valore numerico dell'ID dell'utente. -Questo valore deve essere univoco, a meno che non venga usata l'opzione -\fI-o\fR. -Questo valore deve essere non-negativo. -Valori tra 0 e 99 sono tipicamente riservati ad account di sistema. -Tutti i file che l'utente possiede e che sono posiszionati nell'albero di -directory avente come radice la home directory dell'utente avranno l'ID utente del -file cambiato automaticamente. -I file fuori della home directory dell'utente devono essere modificati -manualmente. -.SH CAVEAT -\fBusermod\fR non permetterà di modificare il nome di un utente che è -attualmente connesso. -Occorre essere certi che l'utente nominato non sta eseguendo alcun processo -quando questo comando viene eseguito se l'ID numerico dell'utente sta per -essere cambiato. -Occorre cambiare il proprietario di ogni file crontab manualmente. -Occorre cambiare il proprietario di ogni job manualmente. -Occorre fare qualunque cambiamento che riguarda NIS sul server NIS. -.SH FILE -/etc/passwd \- informazioni sugli account di utenti -.br -/etc/shadow \- informazioni sicure sugli account di utenti -.br -/etc/group \- informazioni sui gruppi -.SH VEDERE ANCHE -.BR chfn (1), -.BR chsh (1), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR passwd (1), -.BR useradd (8), -.BR userdel (8) -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) diff --git a/man/it/vigr.8 b/man/it/vigr.8 deleted file mode 100644 index db77dbbf..00000000 --- a/man/it/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/wipw.8 diff --git a/man/it/vipw.8 b/man/it/vipw.8 deleted file mode 100644 index 8978019e..00000000 --- a/man/it/vipw.8 +++ /dev/null @@ -1,31 +0,0 @@ -.\" $Id: vipw.8,v 1.1 2002/03/10 07:41:07 kloczek Exp $ -.\" Traduzione in italiano di Isabella Ruocco -.\" Giugno 1999 -.TH VIPW 8 "26 sep 1997" -.SH NOME -vipw, vigr \- editano i file delle password, dei gruppi, delle password oscurate, o dei gruppi oscurati. -.SH SINTASSI -.BR vipw " [-s]" -.br -.BR vigr " [-s]" -.SH DESCRIZIONE -.BR vipw " e " vigr -editeranno i file -.IR /etc/passwd " ed " /etc/group ", rispettivamente." -Con l'opzione -.B -s -, editeranno la versione oscurata di quei file, -.IR /etc/shadow " ed " /etc/gshadow ", rispettivamente. -I programmi imposteranno i lock appropriati per evitare la corruzione dei file. - -Quando cercano un editor, i programmi prima proveranno -con la variabile d'ambiente -.BR VISUAL , -poi con la variabile d'ambiente -.BR EDITOR , -e infine con l'editor predefinito, -.BR vi . -.SH "VEDERE ANCHE" -.BR passwd (5), -.BR group (5), -.BR shadow (5) diff --git a/man/ja/Makefile.am b/man/ja/Makefile.am index 4195e30b..7a61fe43 100644 --- a/man/ja/Makefile.am +++ b/man/ja/Makefile.am @@ -7,12 +7,14 @@ man_MANS = \ chfn.1 \ chpasswd.8 \ chsh.1 \ + expiry.1 \ faillog.5 \ faillog.8 \ gpasswd.1 \ groupadd.8 \ groupdel.8 \ groupmod.8 \ + groups.1 \ grpck.8 \ grpconv.8 \ grpunconv.8 \ @@ -42,11 +44,8 @@ man_MANS = \ vipw.8 EXTRA_DIST = $(man_MANS) \ - dpasswd.8 \ - groups.1 \ id.1 \ pw_auth.3 \ - pwauth.8 \ shadow.3 \ shadowconfig.8 \ sulogin.8 diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in index 86d66065..ca6941f5 100644 --- a/man/ja/Makefile.in +++ b/man/ja/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,100 +14,144 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/ja +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ adduser.8 \ @@ -114,12 +159,14 @@ man_MANS = \ chfn.1 \ chpasswd.8 \ chsh.1 \ + expiry.1 \ faillog.5 \ faillog.8 \ gpasswd.1 \ groupadd.8 \ groupdel.8 \ groupmod.8 \ + groups.1 \ grpck.8 \ grpconv.8 \ grpunconv.8 \ @@ -150,16 +197,14 @@ man_MANS = \ EXTRA_DIST = $(man_MANS) \ - dpasswd.8 \ - groups.1 \ id.1 \ pw_auth.3 \ - pwauth.8 \ shadow.3 \ shadowconfig.8 \ sulogin.8 subdir = man/ja +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -167,10 +212,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/ja/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -180,13 +230,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ja/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -204,6 +247,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -221,6 +268,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -243,6 +294,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -260,6 +315,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -282,6 +341,10 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -299,6 +362,10 @@ uninstall-man8: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -308,6 +375,8 @@ uninstall-man8: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -315,15 +384,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -336,7 +416,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -348,6 +427,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -355,7 +435,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -365,7 +445,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -387,13 +467,21 @@ install-man: install-man1 install-man5 install-man8 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @@ -405,9 +493,9 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 install-info-am install-man install-man1 install-man5 \ install-man8 install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool uninstall \ - uninstall-am uninstall-info-am uninstall-man uninstall-man1 \ - uninstall-man5 uninstall-man8 + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man5 uninstall-man8 # 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. diff --git a/man/ja/chage.1 b/man/ja/chage.1 index a56f33a5..25038561 100644 --- a/man/ja/chage.1 +++ b/man/ja/chage.1 @@ -1,3 +1,4 @@ +.\"$Id: chage.1,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,16 +26,15 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: chage.1,v 1.2 2001/11/16 17:01:32 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH CHAGE 1 .SH ̾Á° -chage \- ¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤Î¾ðÊó¤òÊѹ¹¤¹¤ë¡£ +chage \- ¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¾ðÊó¤òÊѹ¹¤¹¤ë¡£ .SH ½ñ¼° .TP 6 \fBchage\fR @@ -44,71 +44,77 @@ chage \- [\fB-E \fIexpiredate\fR] [\fB-W \fIwarndays\fR] \fIuser\fR .TP 6 \fBchage\fR -\fB-l\fR \fIuser\fR +\fB-l \fIuser\fR .SH ÀâÌÀ -\fBchage\fR¤Ï¡¢ -¥Ñ¥¹¥ï¡¼¥É¤ÎºÇ½ª¹¹¿·Æü¤«¤é¼¡¤ËÊѹ¹¤¹¤Ù¤­´üÆü¤Þ¤Ç¤ÎÆü¿ô¤òÊѹ¹¤¹¤ë¡£ -¥·¥¹¥Æ¥à¤Ï¡¢¤³¤Î¾ðÊó¤òÍѤ¤¤Æ¡¢¥æ¡¼¥¶¤¬¤¤¤Ä¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤Ù¤­¤«¤ò·èÄꤹ¤ë¡£ -\fBchage\fR¥³¥Þ¥ó¥É¤Î»ÈÍѤϡ¢\fB-l\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç°Ê³°¤Ï -root¥æ¡¼¥¶¤Î¤ß¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¡£ -\fB-l\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢°ìÈ̥桼¥¶¤¬¼«Ê¬¤Î¥Ñ¥¹¥ï¡¼¥ÉËô¤Ï¥¢¥«¥¦¥ó¥È -¤Î´ü¸Â¤¬ÀÚ¤ì¤ëÆü¤¬¤¤¤Ä¤«¤òÃΤ뤿¤á¤Ë»È¤¦¤³¤È¤¬½ÐÍè¤ë¡£ +\fBchage\fR ¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¤òºÇ¸å¤Ë¹¹¿·¤·¤Æ¤«¤é¡¢ +¼¡¤ËÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤´üÆü¤Þ¤Ç¤ÎÆü¿ô¤òÊѹ¹¤¹¤ë¡£ +¥·¥¹¥Æ¥à¤Ï¤³¤Î¾ðÊó¤òÍѤ¤¤Æ¡¢ +¥æ¡¼¥¶¤¬¤¤¤Ä¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤ò·èÄꤹ¤ë¡£ +\fBchage\fR ¥³¥Þ¥ó¥É¤ò»È¤¨¤ë¤Î¤Ï root ¥æ¡¼¥¶¤Î¤ß¤Ë¸Â¤é¤ì¤Æ¤¤¤ë¡£ +¤¿¤À¤·°ìÈ̥桼¥¶¤â \fB-l\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ì¤Ð¤³¤Î¥³¥Þ¥ó¥É¤òÍøÍѤǤ­¡¢ +¼«Ê¬¤Î¥Ñ¥¹¥ï¡¼¥É¤Þ¤¿¤Ï¥¢¥«¥¦¥ó¥È¤¬¤¤¤ÄÀÚ¤ì¤ë¤«¤òÃΤ뤳¤È¤¬¤Ç¤­¤ë¡£ .PP -\fB-m\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ -\fImindays\fR¤ÎÃͤϥѥ¹¥ï¡¼¥ÉÊѹ¹¤Î´Ö¤ÎºÇÄãÆü¿ô¤Ë¤Ê¤ë¡£ -¤³¤ÎÍó¤ò¥¼¥í¤È¤·¤¿»þ¤Ï¡¢¥æ¡¼¥¶¤Ï¤¤¤Ä¤Ç¤â¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤Ç¤­¤ë¡£ +\fB-m\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ +\fImindays\fR ¤ÎÃͤϥѥ¹¥ï¡¼¥ÉÊѹ¹¤Î´Ö³Ö¤ÎºÇûÆü¿ô¤Ë¤Ê¤ë¡£ +¤³¤Î¥Õ¥£¡¼¥ë¥É¤ò¥¼¥í¤È¤·¤¿»þ¤Ï¡¢¥æ¡¼¥¶¤Ï¤¤¤Ä¤Ç¤â¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤Ç¤­¤ë¡£ .PP -\fB-M\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ -\fImaxdays\fR¤ÎÃͤϥѥ¹¥ï¡¼¥É¤¬Í­¸ú¤ÊºÇĹÆü¿ô¤È¤Ê¤ë¡£ -\fImaxdays\fR¤È\fIlastday\fR¤ò¤¿¤·¤¿Ãͤ¬¸½ºß¤ÎÆüÉÕ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢ -¥æ¡¼¥¶¤¬¥¢¥«¥¦¥ó¥È¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Ê¤¯¤Æ¤Ï -¤Ê¤é¤Ê¤¤¡£ -\fB-W\fR¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤³¤Î´üÆü¤¬¤¤¤ÄÍè¤ë¤«¤¬Ê¬¤«¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢ -¤½¤Î¾ì¹ç¤Ï¥æ¡¼¥¶¤Ë»öÁ°¤Ë·Ù¹ð¤¬Í¿¤¨¤é¤ì¤ë¡£ +\fB-M\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ +\fImaxdays\fR ¤ÎÃͤϥѥ¹¥ï¡¼¥É¤¬Í­¸ú¤ÊºÇĹÆü¿ô¤È¤Ê¤ë¡£ +\fImaxdays\fR ¤È \fIlastday\fR ¤ò­¤·¤¿Ãͤ¬¸½ºß¤ÎÆüÉÕ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢ +¥æ¡¼¥¶¤Ï¥¢¥«¥¦¥ó¥È¤ò»ÈÍѤ¹¤ëÁ°¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +\fB-W\fR ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤³¤Î´üÆü¤¬¤¤¤ÄÍè¤ë¤«¤¬Ê¬¤«¤ë¤è¤¦¤Ë¤Ç¤­¤ë¡£ +¤³¤Î¾ì¹ç¤Ï¥æ¡¼¥¶¤Ë»öÁ°¤Ë·Ù¹ð¤¬Í¿¤¨¤é¤ì¤ë¡£ .PP -\fB-d\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç¡¢ -\fIlastday\fR¤ÎÃͤÏ1970ǯ1·î1Æü¤«¤é¥Ñ¥¹¥ï¡¼¥ÉºÇ½ª¹¹¿·ÆüËø¤ÎÆü¿ô¤Ë¤Ê¤ë¡£ -Æü¿ô¤Ïǯǯǯǯ/·î·î/ÆüÆü¤È¤¤¤¦½ñ¼° (¼ã¤·¤¯¤Ï¤¢¤Ê¤¿¤ÎÃϰè¤Ç¤â¤Ã¤È¤è¤¯ÍѤ¤¤é¤ì¤Æ -¤¤¤ë½ñ¼°)¤Ç»ØÄꤹ¤ë»ö¤â¤Ç¤­¤ë¡£ +\fB-d\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¡¢ +¥Ñ¥¹¥ï¡¼¥É¤ÎºÇ½ª¹¹¿·Æü¤òÀßÄê¤Ç¤­¤ë¡£ +\fIlastday\fR ¤ÎÃÍ¤Ï +1970 ǯ 1 ·î 1 Æü¤«¤é¥Ñ¥¹¥ï¡¼¥ÉºÇ½ª¹¹¿·Æü¤Þ¤Ç¤ÎÆü¿ô¤Ç¤¢¤ë¡£ +ÆüÉÕ¤Ï YYYY-MM-DD ¤È¤¤¤¦½ñ¼° +(¤â¤·¤¯¤Ï¤¢¤Ê¤¿¤ÎÃϰè¤Ç¤â¤Ã¤È¤è¤¯ÍѤ¤¤é¤ì¤Æ¤¤¤ë½ñ¼°) +¤Ç»ØÄꤹ¤ë»ö¤â¤Ç¤­¤ë¡£ .PP -\fB-E\fR¥ª¥×¥·¥ç¥ó¤Ï¥æ¡¼¥¶¤¬¥¢¥«¥¦¥ó¥È¤ËºÇÁᥢ¥¯¥»¥¹¤Ç¤­¤Ê¤¯¤Ê¤ë -ÆüÉÕ¤òÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ -\fIexpiredate\fR¥ª¥×¥·¥ç¥ó¤Ï1970ǯ1·î1Æü¤«¤é¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯ -¤µ¤ì¤ëÆüËø¤ÎÆü¿ô¤Ç¤¢¤ë¡£ -Æü¿ô¤Ïǯǯǯǯ/·î·î/ÆüÆü¤È¤¤¤¦½ñ¼°(¼ã¤·¤¯¤Ï¤¢¤Ê¤¿¤ÎÃϰè¤Ç¤â¤Ã¤È¤è¤¯ -ÍѤ¤¤é¤ì¤Æ¤¤¤ë¤â¤Î)¤Ç»ØÄꤹ¤ë¤³¤È¤â½ÐÍè¤ë¡£ -¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯¤µ¤ì¤¿¥æ¡¼¥¶¤¬ºÆ¤Ó¤½¤Î¥·¥¹¥Æ¥à¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢ -¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ë¥³¥ó¥¿¥¯¥È¤ò¼è¤é¤Í¤Ð¤Ê¤é¤Ê¤¤¡£ +\fB-E\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢ +¤½¤ì°Ê¹ß¥æ¡¼¥¶¤¬¥¢¥«¥¦¥ó¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¯¤Ê¤ëÆüÉÕ¤òÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ +\fIexpiredate\fR ¤Ï 1970 ǯ 1 ·î 1 Æü¤«¤é +¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯¤µ¤ì¤ëÆü¤Þ¤Ç¤ÎÆü¿ô¤Ç¤¢¤ë¡£ +ÆüÉÕ¤Ï YYYY-MM-DD ¤È¤¤¤¦½ñ¼° +(¤â¤·¤¯¤Ï¤¢¤Ê¤¿¤ÎÃϰè¤Ç¤â¤Ã¤È¤è¤¯ÍѤ¤¤é¤ì¤Æ¤¤¤ë¤â¤Î) +¤Ç»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +¥¢¥«¥¦¥ó¥È¤ò¥í¥Ã¥¯¤µ¤ì¤¿¥æ¡¼¥¶¤¬ºÆ¤Ó¤½¤Î¥·¥¹¥Æ¥à¤ò»È¤¦¤Ë¤Ï¡¢ +¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ÈÏ¢Íí¤ò¼è¤ëɬÍפ¬¤¢¤ë¡£ .PP -\fB-I\fR¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯ -¤µ¤ì¤ëËø¤Î»ÈÍÑÉÔǽÆü¿ô¤òÀßÄꤹ¤ë¤¿¤á¤ËÍѤ¤¤ë¡£ -¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯¤µ¤ì¤¿¥æ¡¼¥¶¤¬ºÆ¤Ó¤½¤Î¥·¥¹¥Æ¥à¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢ -¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ë¥³¥ó¥¿¥¯¥È¤ò¼è¤é¤Í¤Ð¤Ê¤é¤Ê¤¤¡£ -\fIinactive\fR¥ª¥×¥·¥ç¥ó¤Ï»ÈÍÑÉÔǽ¤È¤Ê¤ë´ü´Ö¤ÎÆü¿ô¤Ç¤¢¤ë¡£ -0¤È¤¹¤ë¤È¤³¤Îµ¡Ç½¤ò¸ú¤«¤Ê¤¯¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +\fB-I\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯¤µ¤ì¤ë¤Þ¤Ç¤Î +ÊüÃÖÆü¿ô¤òÀßÄꤹ¤ë¤¿¤á¤ËÍѤ¤¤ë¡£ +¥¢¥«¥¦¥ó¥È¤ò¥í¥Ã¥¯¤µ¤ì¤¿¥æ¡¼¥¶¤¬ºÆ¤Ó¤½¤Î¥·¥¹¥Æ¥à¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢ +¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +\fIinactive\fR ¤Ï»ÈÍÑÉÔǽ´ü´Ö¤ÎÆü¿ô¤Ç¤¢¤ë¡£ +0 ¤Ë¤¹¤ì¤Ð¤³¤Îµ¡Ç½¤ò̵¸ú¤Ë¤Ç¤­¤ë¡£ .PP -\fB-W\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤¬É¬ÍפȤʤëÁ°¤Ë·Ù¹ð¤ò¹Ô¤¦ -Æü¿ô¤òÀßÄꤹ¤ë¤¿¤á¤ËÍѤ¤¤ë¡£ -\fIwarndays\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸ÂÀÚ¤ì¤ËÀè¤À¤Ã¤Æ +\fB-W\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤¬É¬ÍפȤʤëÁ°¤Ë·Ù¹ð¤ò¹Ô¤¦´ü´Ö¤ÎÆü¿ô¤òÀßÄꤹ¤ë¤¿¤á¤ËÍѤ¤¤ë¡£ +\fIwarndays\fR ¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸ÂÀÚ¤ì¤ËÀè¤À¤Ã¤Æ¡¢ ¥æ¡¼¥¶¤Ë´ü¸Â¤¬Àڤ줫¤«¤Ã¤Æ¤¤¤ë¤³¤È¤ò·Ù¹ð¤¹¤ëÆü¿ô¤Ç¤¢¤ë¡£ .PP -¥·¥ã¥É¡¼¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤¬ÍѤ¤¤é¤ì¤ë»þ¤Ï¡¢¾å¤Ëµó¤²¤¿ÃÍ¤ÏÆü¿ô¤È¤·¤Æ -Êݸ¤µ¤ì¤ë¤¬¡¢É¸½à¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤¬ÍѤ¤¤é¤ì¤ë»þ¤Ë¤Ï -½µ¤Î¿ô¤ËÊÑ´¹¤µ¤ì¤ë¡£ -¤³¤ÎÊÑ´¹¤¬¹Ô¤ï¤ì¤ë¤¿¤á¡¢´Ý¤á¤Î¸íº¹¤¬À¸¤¸¤ë¤³¤È¤â¤¢¤ë¡£ -.PP -¾å¤Ëµó¤²¤¿¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ -\fBchage\fR¤ÏÂÐÏÃŪ¤Ëưºî¤·¡¢Á´¤Æ¤ÎÍó¤ËÂФ·¤Æ¡¢³Æ¡¹¸½ºß¤ÎÀßÄêÃͤòɽ¼¨¤·¡¢ +¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Ê¤¤¤È +\fBchage\fR ¤ÏÂÐÏÃŪ¤Ëưºî¤¹¤ë¡£ +Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ³Æ¡¹¸½ºß¤ÎÀßÄêÃͤòɽ¼¨¤·¡¢ ¿·¤·¤¤ÃÍ¤ÎÆþÎϤòÂ¥¤¹¡£ -¿·¤·¤¤ÃͤòÀßÄꤹ¤ë¾ì¹ç¤Ï¤½¤ì¤òÆþÎϤ·¡¢¸½ºß¤ÎÃͤò»È¤¦¤Ê¤é¶õ¹Ô¤Î¤Þ¤Þ -¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¡£ -¸½ºß¤ÎÃͤϰìÂФÎ\fB[ ]\fRµ­¹æ¤Î´Ö¤Ëɽ¼¨¤µ¤ì¤ë¡£ +¿·¤·¤¤ÃͤòÀßÄꤹ¤ë¾ì¹ç¤Ï¤½¤ì¤òÆþÎϤ·¡¢ +¸½ºß¤ÎÃͤò»È¤¦¤Ê¤é¶õ¹Ô¤Î¤Þ¤Þ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¡£ +¸½ºß¤ÎÃÍ¤Ï \fB[ ]\fR ¤Î´Ö¤Ëɽ¼¨¤µ¤ì¤ë¡£ +.SH Ãí°Õ +\fBchage\fR ¥×¥í¥°¥é¥à¤òÍѤ¤¤ë¤Ë¤Ï shadow ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¢¤ë¡£ +¤³¤Îµ¡Ç½¤Ï¡¢passwd ¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Ï +ÍøÍѤǤ­¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- ¥æ¡¼¥¶¤Î shadow ¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/shadow\fR \- shadow ²½¤µ¤ì¤¿¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR passwd (5), .BR shadow (5) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/chfn.1 b/man/ja/chfn.1 index 049ec320..6a285829 100644 --- a/man/ja/chfn.1 +++ b/man/ja/chfn.1 @@ -1,3 +1,4 @@ +.\"$Id: chfn.1,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,16 +26,15 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: chfn.1,v 1.2 2001/11/16 17:01:32 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH CHFN 1 .SH ̾Á° -chfn \- ¥æ¡¼¥¶¤Î̾Á°Åù¤Î¾ðÊó¤òÊѹ¹¤¹¤ë¡£ +chfn \- ¥æ¡¼¥¶¤Î»á̾¤ä¾ðÊó¤òÊѹ¹¤¹¤ë¡£ .SH ½ñ¼° .TP 5 \fBchfn\fR @@ -43,29 +43,31 @@ chfn \- [\fB-w \fIwork_ph\fR] [\fB-h \fIhome_ph\fR] [\fB-o \fIother\fR] [\fIuser\fR] .SH ÀâÌÀ -\fBchfn\fR ¤Ï¡¢¥æ¡¼¥¶¤Î¥Õ¥ë¥Í¡¼¥à¡¢¥ª¥Õ¥£¥¹¤ÎÉô²°ÈÖ¹æµÚ¤ÓÆâÀþÈֹ桢 +\fBchfn\fR ¤Ï¡¢¥æ¡¼¥¶¤Î¥Õ¥ë¥Í¡¼¥à¡¦¥ª¥Õ¥£¥¹¤ÎÉô²°Èֹ桦ÆâÀþÈֹ桦 ¼«Âð¤ÎÅÅÏÃÈÖ¹æ¤È¤¤¤Ã¤¿¥¢¥«¥¦¥ó¥È¾ðÊó¤òÊѹ¹¤¹¤ë¡£ -¤³¤Î¾ðÊó¤Ï \fBfinger\fR(1) ¤ä¤½¤ì¤ÈÎà»÷¤Î¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¡£ -°ìÈ̥桼¥¶¤Ï¼«Ê¬¼«¿È¤Î¥¢¥«¥¦¥ó¥È¤Î¾ðÊó¤ÎÊѹ¹¤Î¤ß¹Ô¤¦¤³¤È¤¬½ÐÍè¤ë¡£ -¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤ÏÁ´¤Æ¤Î¥¢¥«¥¦¥ó¥È¤ËÂФ·¤Æ¾ðÊó¤ÎÊѹ¹¤¬½ÐÍè¤ë¡£ -¤Þ¤¿¡¢\fB-o\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ GCOS Íó¤Î̤ÄêµÁÉôʬ¤ÎÊѹ¹¤ò¹Ô¤¨¤ë¤Î¤â -¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤À¤±¤Ç¤¢¤ë¡£ +¤³¤Î¾ðÊó¤Ï \fBfinger\fR(1) ¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¡£ +°ìÈ̥桼¥¶¤Ï¼«Ê¬¼«¿È¤Î¥¢¥«¥¦¥ó¥È¾ðÊó¤Î¤ß¤òÊѹ¹¤Ç¤­¤ë¡£ +¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤ÏÁ´¤Æ¤Î¥¢¥«¥¦¥ó¥È¤ËÂФ·¤Æ¾ðÊó¤òÊѹ¹¤Ç¤­¤ë¡£ +¤Þ¤¿ \fB-o\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ +GECOS Íó¤Î̤ÄêµÁÉôʬ¤òÊѹ¹¤Ç¤­¤ë¤Î¤â¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤À¤±¤Ç¤¢¤ë¡£ .PP -³ÆÍó¤Ë¤Ï¡¢¥³¥ó¥È¥í¡¼¥ëʸ»úµÚ¤Ó¡¢¥³¥ó¥Þ¡¢¥³¥í¥ó¡¢Åù¹æ°Ê³°¤ÎÁ´¤Æ¤Îʸ»ú¤ò -½ñ¤¯¤³¤È¤¬½ÐÍè¤ë¡£ -\fIother\fR Íó¤ËÂФ·¤Æ¤Ï¤³¤ÎÀ©¸Â¤Ï¤Ê¤¤¤Î¤Ç¡¢Â¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÍѤ¤¤ë -¥¢¥«¥¦¥ó¥Æ¥£¥ó¥°¾ðÊó¤òµ­Ï¿¤·¤Æ¤ª¤¯»ö¤¬½ÐÍè¤ë¡£ +³Æ¥Õ¥£¡¼¥ë¥É¤Ë½ñ¤¯ÆâÍÆ¤Ë´Ø¤¹¤ëÀ©¸Â¤Ï¡¢ +¥³¥ó¥È¥í¡¼¥ëʸ»ú¡¦¥³¥ó¥Þ¡¦¥³¥í¥ó¡¦Åù¹æ¤ò´Þ¤ó¤Ç¤¤¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢ +¤È¤¤¤¦¤³¤È¤Î¤ß¤Ç¤¢¤ë¡£ +\fIother\fR Íó¤ËÂФ·¤Æ¤Ï¤³¤ÎÀ©¸Â¤Ï¤Ê¤¤¤Î¤Ç¡¢ +¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÍѤ¤¤ë¥¢¥«¥¦¥ó¥Æ¥£¥ó¥°¾ðÊó¤Îµ­Ï¿¤ËÍøÍѤµ¤ì¤ë¡£ .PP -¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤âÁªÂò¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\fBchfn\fR ¤ÏÂÐÏÃŪ¤Ëưºî¤·¡¢ -Á´¤Æ¤ÎÍó¤ËÂФ·¤Æ¡¢³Æ¡¹¸½ºß¤ÎÀßÄêÃͤòɽ¼¨¤·¡¢¿·¤·¤¤ÃÍ¤ÎÆþÎϤòÂ¥¤¹¡£ -¿·¤·¤¤ÃͤòÀßÄꤹ¤ë¾ì¹ç¤Ï¤½¤ì¤òÆþÎϤ·¡¢¤Þ¤¿¤Ï¸½ºß¤ÎÃͤò»È¤¦¤Ê¤é¶õ¹Ô¤Î¤Þ¤Þ -¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¡£ -¸½ºß¤ÎÃͤϰìÂФΠ\fB[ ]\fR µ­¹æ¤Î´Ö¤Ëɽ¼¨¤µ¤ì¤ë¡£ -¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢chfn ¤Ï¤½¤ì¤òµ¯Æ°¤·¤¿¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤Ë -ÂФ·¤ÆÆ¯¤¯¡£ +¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Ê¤¤¤È +\fBchfn\fR ¤ÏÂÐÏÃŪ¤Ëưºî¤¹¤ë¡£ +Á´¤Æ¤ÎÍó¤ËÂФ·¤Æ³Æ¡¹¸½ºß¤ÎÀßÄêÃͤòɽ¼¨¤·¡¢¿·¤·¤¤ÃÍ¤ÎÆþÎϤòÂ¥¤¹¡£ +¿·¤·¤¤ÃͤòÀßÄꤹ¤ë¾ì¹ç¤Ï¤½¤ì¤òÆþÎϤ·¡¢ +¸½ºß¤ÎÃͤò»È¤¦¤Ê¤é¶õ¹Ô¤Î¤Þ¤Þ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¡£ +¸½ºß¤ÎÃÍ¤Ï \fB[ ]\fR µ­¹æ¤Î´Ö¤Ëɽ¼¨¤µ¤ì¤ë¡£ +¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ +chfn ¤Ï¸½ºß¤Î¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ËÂФ·¤ÆÆ°ºî¤¹¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR passwd (5) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/chpasswd.8 b/man/ja/chpasswd.8 index d147cc9f..d5061a42 100644 --- a/man/ja/chpasswd.8 +++ b/man/ja/chpasswd.8 @@ -1,3 +1,4 @@ +.\"$Id: chpasswd.8,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,43 +26,45 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: chpasswd.8,v 1.2 2001/11/16 17:01:32 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka .\" Updated Wed Apr 26 18:06:10 JST 2000 .\" by Kentaro Shirakata +.\" Updated & Modified Sat 21 Sep 2002 by NAKANO Takeo .\" .TH CHPASSWD 8 .SH ̾Á° \fBchpasswd\fR \- ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ò¥Ð¥Ã¥Á½èÍý¤Ç¹¹¿·¤¹¤ë .SH ½ñ¼° -\fBchpasswd [-e]\fR +\fBchpasswd\fR [\fB-e\fR] .SH ÀâÌÀ -\fBchpasswd\fR¥³¥Þ¥ó¥É¤Ïɸ½àÆþÎϤ«¤é¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É -¤ÎÁȤ¬µ­¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢¤½¤Î¾ðÊó¤òÍѤ¤¤Æ´û¸¤Î¥æ¡¼¥¶·²¤Î -¥Ñ¥¹¥ï¡¼¥É¾ðÊó¤ò¹¹¿·¤¹¤ë¡£ --e ¥ª¥×¥·¥ç¥ó¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Ïʿʸ¤È¸«¤Ê¤µ¤ì¤ë¡£ --e ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï°Å¹æ²½¤µ¤ì¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤ë¡£ -³Æ¹Ô¤Ï +\fBchpasswd\fR ¥³¥Þ¥ó¥É¤Ï +ɸ½àÆþÎϤ«¤é¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤ÎÁȤ¬µ­¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢ +¤½¤Î¾ðÊó¤òÍѤ¤¤Æ´û¸¤Î¥æ¡¼¥¶·²¤Î¥Ñ¥¹¥ï¡¼¥É¾ðÊó¤ò¹¹¿·¤¹¤ë¡£ +-e ¥ª¥×¥·¥ç¥ó¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Ïʿʸ¤È¤ß¤Ê¤µ¤ì¤ë¡£ +-e ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï°Å¹æ²½¤µ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤µ¤ì¤ë¡£ +³Æ¹Ô¤Î½ñ¼°¤Ï¼¡¤ÎÄ̤ꡣ .sp 1 \fIuser_name\fR:\fIpassword\fR .sp 1 -¤È¤¤¤¦½ñ¼°¤Ç¤¢¤ë¡£ -»ØÄꤷ¤¿¥æ¡¼¥¶¤Ï´û¤Ë¸ºß¤·¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -Í¿¤¨¤é¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÏɬÍפ˱þ¤¸¤Æ°Å¹æ²½¤µ¤ì¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬Â¸ºß¤¹¤ë¤Ê¤é -¤½¤ì¤â¹¹¿·¤µ¤ì¤ë¡£ +»ØÄꤷ¤¿¥æ¡¼¥¶¤Ï´û¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +Í¿¤¨¤é¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÏɬÍפ˱þ¤¸¤Æ°Å¹æ²½¤µ¤ì¡¢ +¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬¤¢¤ë¾ì¹ç¤Ï¤½¤ì¤â¹¹¿·¤µ¤ì¤ë¡£ .PP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Æ±»þ¤ËÂçÎ̤Υ¢¥«¥¦¥ó¥È¤òºîÀ®¤¹¤ëÍͤÊÂ絬ÌϤʥ·¥¹¥Æ¥à´Ä¶­ -¤Ç»ÈÍѤ¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤Æ¤¤¤ë¡£ +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Æ±»þ¤ËÂçÎ̤Υ¢¥«¥¦¥ó¥È¤òºîÀ®¤¹¤ë¤è¤¦¤Ê¡¢ +Â絬ÌϤʥ·¥¹¥Æ¥à´Ä¶­¤ÇÍѤ¤¤ë¤¿¤á¤Ëºî¤é¤ì¤¿¡£ .SH ·Ù¹ð +.\" The \fBmkpasswd\fR command must be executed afterwards to update the +.\" DBM password files. ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë°Å¹æ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ñ¥¹¥ï¡¼¥É¤¬µ­¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ -¥×¥í¥Æ¥¯¥È¤ò¤«¤±¤Æ¤ª¤«¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +ŬÀÚ¤ËÊݸ¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +.\" This command may be discarded in favor of the newusers(8) command. .SH ´ØÏ¢¹àÌÜ +.\" mkpasswd(8), passwd(1), useradd(1) .BR passwd (1), -.BR useradd (8), -.BR newusers (8) +.BR newusers (8), +.BR useradd (8) .SH Ãø¼Ô Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/ja/chsh.1 b/man/ja/chsh.1 index 79b066d2..e10f3159 100644 --- a/man/ja/chsh.1 +++ b/man/ja/chsh.1 @@ -1,3 +1,4 @@ +.\"$Id: chsh.1,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,46 +26,47 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: chsh.1,v 1.2 2001/11/16 17:01:32 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH CHSH 1 .SH ̾Á° -chsh \- ¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤¹¤ë¡£ +chsh \- ¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤¹¤ë .SH ½ñ¼° .TP 5 \fBchsh\fR [\fB-s \fIlogin_shell\fR] [\fIuser\fR] .SH ÀâÌÀ -\fBchsh\fR¤Ï¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤¹¤ë¡£ +\fBchsh\fR ¤Ï¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤¹¤ë¡£ ¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤ÆºÇ½é¤Ë¼Â¹Ô¤µ¤ì¤ë¥³¥Þ¥ó¥É¤¬·è¤Þ¤ë¡£ °ìÈ̥桼¥¶¤Ï¼«Ê¬¤Î¥¢¥«¥¦¥ó¥È¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤Î¤ß¤òÊѹ¹¤Ç¤­¤ë¡£ -¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤ÏÁ´¤Æ¤Î¥¢¥«¥¦¥ó¥È¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤ÏÁ´¤Æ¤Î¥¢¥«¥¦¥ó¥È¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤Ç¤­¤ë¡£ .PP -¥í¥°¥¤¥ó¥·¥§¥ë¤Ï¡¢¥³¥Þ¥ó¥É̾¤¬\fI/etc/shells\fR¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ì¤Ð¤Ê¤ó¤Ç¤âÎɤ¤¡£ +¥í¥°¥¤¥ó¥·¥§¥ë¤Ï¡¢ +¥³¥Þ¥ó¥É̾¤¬ \fI/etc/shells\fR ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ì¤Ð¤Ê¤ó¤Ç¤âÎɤ¤¡£ ¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Î¾ì¹ç¤Ï¤³¤ÎÀ©¸Â¤Ï¤Ê¤¯¡¢¤¤¤«¤Ê¤ëÃÍ¤Ç¤â»ØÄê¤Ç¤­¤ë¡£ µ¡Ç½¤òÀ©¸Â¤µ¤ì¤¿¥í¥°¥¤¥ó¥·¥§¥ë¤òÍѤ¤¤Æ¤¤¤ë¥¢¥«¥¦¥ó¥È¤«¤é¤Ï¡¢ -¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹½ÐÍè¤Ê¤¤¡£ -¤³¤ÎÍýͳ¤«¤é¡¢\fB/bin/rsh\fR¤ò\fI/etc/shells\fR¤Ë½ñ¤¯¤³¤È¤Ï´«¤á¤é¤ì¤Ê¤¤¡£ -µ¡Ç½¤¬À©¸Â¤µ¤ì¤¿¥·¥§¥ë¤Ë¸í¤Ã¤ÆÊѹ¹¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡¢¤É¤¦¤ä¤Ã¤Æ¤â -¥í¥°¥¤¥ó¥·¥§¥ë¤ò¸µ¤Î¤â¤Î¤ËÌ᤹¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¢¤ë¡£ +¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤Ç¤­¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£ +¤³¤ÎÍýͳ¤«¤é¡¢ +\fB/bin/rsh\fR ¤Ï \fI/etc/shells\fR ¤Ë¤Ï½ñ¤«¤Ê¤¤¤Û¤¦¤¬Îɤ¤¡£ +¸í¤Ã¤Æµ¡Ç½¤¬À©¸Â¤µ¤ì¤¿¥·¥§¥ë¤ËÊѹ¹¤·¤Æ¤·¤Þ¤¦¤È¡¢ +¥í¥°¥¤¥ó¥·¥§¥ë¤ò¸µ¤Î¤â¤Î¤ËÌ᤻¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¢¤ë¡£ .PP -\fB-s\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ -\fBchsh\fR¤ÏÂÐÏÃŪ¤Ëưºî¤·¡¢³ÆÍó¤ËÂФ·¤Æ¸½ºß¤ÎÀßÄêÃͤòɽ¼¨¤·¡¢ -¿·¤·¤¤ÃÍ¤ÎÆþÎϤòÂ¥¤¹¡£ +\fB-s\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ +\fBchsh\fR ¤ÏÂÐÏÃŪ¤Ëưºî¤¹¤ë¡£ +¥æ¡¼¥¶¤Î¸½ºß¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òɽ¼¨¤·¡¢¿·¤·¤¤ÃÍ¤ÎÆþÎϤòÂ¥¤¹¡£ ÀßÄêÃͤòÊѹ¹¤¹¤ë¤Ê¤é¿·¤·¤¤ÃͤòÆþÎϤ·¡¢ -Ëô¤Ï¸½ºß¤ÎÃͤò»È¤¦¤Ê¤é¶õ¹Ô¤Î¤Þ¤Þ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¡£ -¸½ºß¤ÎÃͤϰìÂФΠ\fB[ ]\fR µ­¹æ¤Î´Ö¤Ëɽ¼¨¤µ¤ì¤ë¡£ +¸½ºß¤ÎÃͤò»È¤¦¤Ê¤é¶õ¹Ô¤Î¤Þ¤Þ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¡£ +¸½ºß¤Î¥·¥§¥ë¤Ï \fB[ ]\fR µ­¹æ¤Î´Ö¤Ëɽ¼¨¤µ¤ì¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shells \- »ØÄê¤Ç¤­¤ë¥í¥°¥¤¥ó¥·¥§¥ë¤Î¥ê¥¹¥È +\fI/etc/shells\fR \- »ØÄê¤Ç¤­¤ë¥í¥°¥¤¥ó¥·¥§¥ë¤Î¥ê¥¹¥È .SH ´ØÏ¢¹àÌÜ .BR chfn (1), .BR passwd (5) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/dpasswd.8 b/man/ja/expiry.1 similarity index 63% rename from man/ja/dpasswd.8 rename to man/ja/expiry.1 index 260cc30f..f450d377 100644 --- a/man/ja/dpasswd.8 +++ b/man/ja/expiry.1 @@ -1,5 +1,7 @@ -.\" Copyright 1991, Julianne Frances Haugh +.\"$Id: expiry.1,v 1.1 2003/04/28 02:14:00 kloczek Exp $ +.\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. +.\" Modified for expiry by Ben Collins , 1999 .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -25,35 +27,27 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: dpasswd.8,v 1.2 2001/11/16 17:01:32 ankry Exp $ +.\" Japanese Version Copyright (c) 2002 NAKANO Takeo all rights reserved. +.\" Translated Sun 3 Mar 2002 by NAKANO Takeo +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" -.\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka -.\" all rights reserved. -.\" Translated Fri Feb 14 23:06:00 JST 1997 -.\" by Kazuyoshi Furutaka -.\" -.TH DPASSWD 8 +.TH EXPIRY 1 .SH ̾Á° -\fBdpasswd\fR \- ¥À¥¤¥¢¥ë¥¢¥Ã¥×Íѥѥ¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë +expiry \- ¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸ÂÀÚ¤ì¥Ý¥ê¥·¡¼¤Î¥Á¥§¥Ã¥¯¤È¼¹¹Ô .SH ½ñ¼° -\fBdpasswd\fR -.RB [ - ( a | d )] -\fIshell\fR +.TP 6 +\fBexpiry\fR [\fB-c\fR] [\fB-f\fR] .SH ÀâÌÀ -\fBdpasswd\fR¤Ï¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤Î¥À¥¤¥¢¥ë¥¢¥Ã¥×Íѥѥ¹¥ï¡¼¥É¤Î -Äɲᢺï½üµÚ¤Ó¹¹¿·¤ò¹Ô¤Ê¤¦¡£ -¥æ¡¼¥¶¤¬¥À¥¤¥¢¥ë¥¢¥Ã¥×¤Ë¤è¤ê¥í¥°¥¤¥ó¤¹¤ëºÝ¤Ï¾ï¤Ë¡¢Ä̾ï¤Î¥Ñ¥¹¥ï¡¼¥É -¤Ë¤è¤ë¥æ¡¼¥¶Ç§¾Ú¤ò¹Ô¤Ê¤Ã¤¿¸å¤Ë¥À¥¤¥¢¥ë¥¢¥Ã¥×ÍѤΥѥ¹¥ï¡¼¥É¤ÎÆþÎϤòÂ¥¤µ¤ì¤ë¡£ -ÆþÎϤ¬Àµ¤·¤¯¹Ô¤Ê¤ï¤ì¤¿»ö¤ò³Îǧ¤¹¤ë°Ù¡¢ -\fBdpasswd\fR¤Ï¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆóÅÙÆþÎϤµ¤»¤ë¡£ -.PP -\fIshell\fR°ú¿ô¤Ï¥í¥°¥¤¥ó¥×¥í¥°¥é¥à¤Ø¤Î´°Á´¤Ê¥Ñ¥¹Ì¾¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +.B expiry +¤Ï¸½ºß¤Î¥Ñ¥¹¥ï¡¼¥É´ü¸ÂÀÚ¤ì¾ðÊó¤ò¥Á¥§¥Ã¥¯ (\fB-c\fR) ¤·¡¢ +ɬÍפʾì¹ç¤ÏÊѹ¹¤ò¶¯À©¤¹¤ë (\fB-f\fR)¡£ +¤³¤Î¥³¥Þ¥ó¥É¤ÏÄ̾ï¤Î¥æ¡¼¥¶¥³¥Þ¥ó¥É¤È¤·¤Æ¸Æ¤Ó½Ð¤·²Äǽ¤Ç¤¢¤ë¡£ .SH ¥Õ¥¡¥¤¥ë +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/d_passwd -.br -/etc/dialups +\fI/etc/shadow\fR \- shadow ²½¤µ¤ì¤¿¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .SH ´ØÏ¢¹àÌÜ -.BR login (1) +.BR passwd (5), +.BR shadow (5) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Ben Collins diff --git a/man/ja/faillog.5 b/man/ja/faillog.5 index 13763175..73e52057 100644 --- a/man/ja/faillog.5 +++ b/man/ja/faillog.5 @@ -1,3 +1,4 @@ +.\"$Id: faillog.5,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,27 +26,26 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: faillog.5,v 1.2 2001/11/16 17:01:32 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Tue 18 Sep 2002 by NAKANO Takeo .\" .TH FAILLOG 5 .SH ̾Á° faillog \- ¥í¥°¥¤¥ó¼ºÇÔ¤òµ­Ï¿¤¹¤ë¥Õ¥¡¥¤¥ë .SH ÀâÌÀ .I faillog -¤Ï¸Ä¡¹¤Î¥¢¥«¥¦¥ó¥È¤ËÂФ¹¤ë¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤È¤½¤Î¸ÂÅÙ¤ò´ÉÍý¤¹¤ë¡£ -¥Õ¥¡¥¤¥ë¤Ï¸ÇÄêĹ¥ì¥³¡¼¥É¤Ç¤¢¤ê¡¢³Æ¥ì¥³¡¼¥É¤ÏUIDÈÖ¹æ¤Ç»ØÄꤵ¤ì¤ë¡£ -³Æ¥ì¥³¡¼¥É¤Ë¤Ï¡¢ºÇ¸å¤Ë¥í¥°¥¤¥ó¤ËÀ®¸ù¤·¤Æ°ÊÍ貿²ó¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿¤«; -¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤È¤Ê¤ë¤Þ¤Ç¤Î¥í¥°¥¤¥ó¼ºÇÔ²Äǽ²ó¿ô; -°ìÈֺǶá¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿¤È¤­¤ÎÀܳ¥Ç¥Ð¥¤¥¹; -°ìÈֺǶá¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿ÆüÉÕ¡¢ +¤Ï¸Ä¡¹¤Î¥¢¥«¥¦¥ó¥È¤ËÂФ¹¤ë¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤È¤½¤Î¸ÂÅÙ¤òµ­Ï¿¤¹¤ë¡£ +¥Õ¥¡¥¤¥ë¤Ï¸ÇÄêĹ¥ì¥³¡¼¥É¤Ç¤¢¤ê¡¢UID ÈÖ¹æ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤µ¤ì¤Æ¤¤¤ë¡£ +³Æ¥ì¥³¡¼¥É¤Ë¤Ï¡¢ºÇ¸å¤Ë¥í¥°¥¤¥ó¤ËÀ®¸ù¤·¤Æ°Ê¹ß¤Î¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¡¢ +¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤È¤Ê¤ë¤Þ¤Ç¤Ëµö¤µ¤ì¤ë¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¡¢ +ºÇ¸å¤Ë¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿¤È¤­¤ÎÀܳ¥Ç¥Ð¥¤¥¹¡¢ +ºÇ¸å¤Ë¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿ÆüÉÕ¡¢ ¤¬µ­Ï¿¤µ¤ì¤Æ¤¤¤ë¡£ .PP -¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½Â¤¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë +¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½Â¤¤Ï°Ê²¼¤ÎÄ̤ꡣ .DS struct faillog { @@ -57,7 +57,7 @@ faillog \- .DE .SH ¥Õ¥¡¥¤¥ë -/var/log/faillog \- ¥í¥°¥¤¥ó¼ºÇԤε­Ï¿ +\fI/var/log/faillog\fR \- ¥í¥°¥¤¥ó¼ºÇԤε­Ï¿ .SH ´ØÏ¢¹àÌÜ .BR faillog (8) .SH Ãø¼Ô diff --git a/man/ja/faillog.8 b/man/ja/faillog.8 index 03ef95cc..76d8c9b9 100644 --- a/man/ja/faillog.8 +++ b/man/ja/faillog.8 @@ -1,3 +1,4 @@ +.\"$Id: faillog.8,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,77 +26,77 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: faillog.8,v 1.2 2001/11/16 17:01:32 ankry Exp $ .\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Sat 21 Sep 2002 by NAKANO Takeo .\" .TH FAILLOG 8 .SH ̾Á° -faillog \- faillog¤òÄ´¤Ù¡¢login¼ºÇÔ¤ÎÀ©¸Â¤òÀßÄꤹ¤ë +faillog \- faillog ¤òÄ´¤Ù¡¢login ¼ºÇÔ¤ÎÀ©¸Â¤òÀßÄꤹ¤ë .SH ½ñ¼° -.TP 8 -.B faillog -.RB [ -u -.IR login-name ] -.RB [ -a ] -.RB [ -t -.IR days ] -.RB [ -m -.IR max ] -.RB [ -pr ] +\fBfaillog\fR [\fB-u\fR \fIlogin-name\fR] [\fB-a\fR] [\fB-t\fR \fIdays\fR] +[\fB-m\fR \fImax\fR] [\fB-pr\fR] .SH ÀâÌÀ -\fBfaillog\fR¤Ï¥í¥°¥¤¥ó¤Î¼ºÇÔ¤òµ­Ï¿¤¹¤ë¥í¥°¥Õ¥¡¥¤¥ë\fI/var/log/faillog\fR -¤ÎÆâÍÆ¤òÀ°·Á¤·¡¢¼ºÇԤβó¿ôµÚ¤Ó¤½¤ÎÀ©¸Â¤ÎÊݼé¤ò¹Ô¤Ê¤¦¡£ -\fBfaillog\fR¤ËÍ¿¤¨¤ë°ú¿ô¤Î½ç½ø¤Ë¤Ï°ÕÌ£¤¬¤¢¤ë¡£ +\fBfaillog\fR ¤Ï¥í¥°¥¤¥ó¤Î¼ºÇÔ¤òµ­Ï¿¤¹¤ë¥í¥°¥Õ¥¡¥¤¥ë +\fI/var/log/faillog\fR ¤ÎÆâÍÆ¤òÀ°·Á¤·¡¢ +¼ºÇԤβó¿ô¤ÈÀ©¸ÂÃͤòµ­Ï¿¡¦´ÉÍý¤¹¤ë¡£ +\fBfaillog\fR ¤ËÍ¿¤¨¤ë°ú¿ô¤Î½ç½ø¤Ï½ÅÍפǤ¢¤ê¡¢ ³Æ°ú¿ô¤ÏÍ¿¤¨¤é¤ì¤¿½ç¤Ëľ¤Á¤Ë½èÍý¤µ¤ì¤ë¡£ .PP -\fB-p\fR¥Õ¥é¥Ã¥°¤Ï¥í¥°¥¤¥ó¼ºÇԤΥ¨¥ó¥È¥ê¤òUID½ç¤Ëɽ¼¨¤µ¤»¤ë¡£ -\fB-u \fIlogin-name\fR¤ÈÆþÎϤ·¤¿ºÝ¤Ï¡¢\fIlogin-name\fR¤Î -¥í¥°¥¤¥ó¼ºÇÔµ­Ï¿¤Î¤ß¤òɽ¼¨¤¹¤ë¡£ -\fB-t \fIdays\fR¤ÈÆþÎϤ¹¤ë¤È¡¢ºÇ¶á\fIdays\fRÆü°ÊÆâ¤Î¥í¥°¥¤¥ó¼ºÇÔ -¤Îµ­Ï¿¤òɽ¼¨¤¹¤ë¡£ -\fB-t\fR¥Õ¥é¥Ã¥°¤òÍѤ¤¤¿ºÝ¤Ï\fB-u\fR¥Õ¥é¥Ã¥°¤ÎƯ¤­¤¬ÍÞÀ©¤µ¤ì¤ë¡£ -\fB-a\fR¥Õ¥é¥Ã¥°¤òÍѤ¤¤ë¤ÈÁ´¥æ¡¼¥¶¤ËÂФ¹¤ëµ­Ï¿¤¬É½¼¨¤µ¤ì¤ë¡£ -¤³¤Î¥Õ¥é¥Ã¥°¤ò\fB-p\fR¥Õ¥é¥Ã¥°¤È¤È¤â¤ËÍѤ¤¤¿¾ì¹ç¤Ï¡¢¤³¤ì¤Þ¤Ç¤Ë¥í¥°¥¤¥ó¤Ë -¼ºÇÔ¤·¤¿»ö¤Î¤¢¤ëÁ´¤Æ¤Î¥æ¡¼¥¶¤¬Áª¤Ó½Ð¤µ¤ì¤ë¡£ -\fB-r\fR¥Õ¥é¥Ã¥°¤ÈÍѤ¤¤Æ¤â°ÕÌ£¤¬Ìµ¤¤¡£ +\fB-p\fR ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¥í¥°¥¤¥ó¼ºÇԤΥ¨¥ó¥È¥ê¤ò UID ½ç¤Ëɽ¼¨¤¹¤ë¡£ +\fB-u \fIlogin-name\fR ¤ÈÆþÎϤ¹¤ë¤È¡¢ +\fIlogin-name\fR ¤Î¥í¥°¥¤¥ó¼ºÇÔµ­Ï¿¤Î¤ß¤òɽ¼¨¤¹¤ë¡£ +\fB-t \fIdays\fR ¤ÈÆþÎϤ¹¤ë¤È¡¢ +ºÇ¶á \fIdays\fR Æü°ÊÆâ¤Î¥í¥°¥¤¥ó¼ºÇԤε­Ï¿¤òɽ¼¨¤¹¤ë¡£ +\fB-u\fR ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È \fB-t\fR ¥Õ¥é¥°¤Ï̵»ë¤µ¤ì¤ë¡£ +.\"nakano ¤È¤¤¤¦¤Î¤¬¼ÂºÝ¤Îưºî¤Î¤è¤¦¤Êµ¤¤¬¤¹¤ë¤Î¤À¤±¤É... +\fB-a\fR ¥Õ¥é¥°¤òÍѤ¤¤ë¤ÈÁ´¥æ¡¼¥¶¤ËÂФ¹¤ëµ­Ï¿¤¬É½¼¨¤µ¤ì¤ë¡£ +¤³¤Î¥Õ¥é¥°¤ò \fB-p\fR ¥Õ¥é¥°¤È¤È¤â¤ËÍѤ¤¤ë¤È¡¢ +¤³¤ì¤Þ¤Ç¤Ë¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿Á´¤Æ¤Î¥æ¡¼¥¶¤¬É½¼¨¤µ¤ì¤ë¡£ +\fB-a\fR ¤Ï \fB-r\fR ¥Õ¥é¥°¤ÈÍѤ¤¤Æ¤â°ÕÌ£¤¬Ìµ¤¤¡£ .PP -\fB-r\fR¥Õ¥é¥Ã¥°¤Ï¥í¥°¥¤¥ó¼ºÇԤβó¿ô¤ò¥ê¥»¥Ã¥È¤¹¤ë°Ù¤Î¤â¤Î¤Ç¤¢¤ë¡£ -¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤Ë¤Ï\fI/var/log/faillog\fR¤Ø¤Î½ñ¤­¹þ¤ß¸¢¤¬ -ɬÍפǤ¢¤ë¡£ -\fB-u \fIlogin-name\fR¤ÈÆþÎϤ·¤¿ºÝ¤Ï¡¢\fIlogin-name\fR¤Î -¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤Î¤ß¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£ +\fB-r\fR ¥Õ¥é¥°¤Ï¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤Îµ­Ï¿¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£ +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤Ë¤Ï +\fI/var/log/faillog\fR ¤Ø¤Î½ñ¤­¹þ¤ß¸¢¸Â¤¬É¬ÍפǤ¢¤ë¡£ +\fB-u \fIlogin-name\fR ¤ÈÆþÎϤ¹¤ë¤È¡¢ +\fIlogin-name\fR ¤Î¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤Î¤ß¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£ .PP -\fB-m\fR¥Õ¥é¥Ã¥°¤Ï¡¢¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ëºÇÂç¤Î¥í¥°¥¤¥ó -¼ºÇÔ²ó¿ô¤òÀßÄꤹ¤ë°Ù¤ËÍѤ¤¤ë¡£ -¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤Ë¤Ï\fI/var/log/faillog\fR¤Ø¤Î½ñ¤­¹þ¤ß¸¢¤¬ -ɬÍפǤ¢¤ë¡£ -\fB-m \fImax\fR¤ÈÆþÎϤ·¤¿¾ì¹ç¡¢¥í¥°¥¤¥ó¼ºÇÔ¤¬\fImax\fR²ó¤Ë㤷¤¿¸å¤Ï -Á´¤Æ¤Î¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¡£ -\fB-u \fIlogin-name\fR¤È¤È¤â¤ËÍѤ¤¤ì¤Ð¤³¤Îµ¡Ç½¤ò\fIlogin-name\fR¤Ë -¤Î¤ßºîÍѤµ¤»¤ë»ö¤¬½ÐÍè¤ë¡£ -\fImax\fR¤ÎÃͤò0¤Ë¤¹¤ë¤È¥í¥°¥¤¥ó¤Î¼ºÇÔ²ó¿ô¤Ë¤ÏÀ©¸Â¤¬Ìµ¤¯¤Ê¤ë¡£ -¥¢¥¿¥Ã¥¯¤Ë¤è¤ê\fBroot\fR¤¬¥í¥°¥¤¥óÉÔǽ¤È¤Ê¤ê¥·¥¹¥Æ¥à´ÉÍý¤¬ -½ÐÍè¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦»ö¤òËɤ°°Ù¤Ë¡¢\fBroot\fR¤ËÂФ·¤Æ¤Ï -ºÇÂç¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤Ï¤¤¤Ä¤Ç¤âɬ¤º0¤È¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +\fB-m\fR ¥Õ¥é¥°¤Ï¡¢ +¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¤Þ¤Ç¤ÎºÇÂç¤Î¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤òÀßÄꤹ¤ë¡£ +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤Ë¤Ï +\fI/var/log/faillog\fR ¤Ø¤Î½ñ¤­¹þ¤ß¸¢¸Â¤¬É¬ÍפǤ¢¤ë¡£ +\fB-m \fImax\fR ¤ÈÆþÎϤ¹¤ë¤È¡¢ +Á´¤Æ¤Î¥¢¥«¥¦¥ó¥È¤Ï¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤¬ \fImax\fR ¤Ë¤Ê¤ë¤È»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¡£ +.\"nakano double meaning... +\fB-u \fIlogin-name\fR ¤òƱ»þ¤ËÍѤ¤¤ë¤È¡¢ +¤³¤Îµ¡Ç½¤ò \fIlogin-name\fR ¤À¤±¤ËºîÍѤµ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ +\fImax\fR ¤ÎÃͤò 0 ¤Ë¤¹¤ë¤È¥í¥°¥¤¥ó¤Î¼ºÇÔ²ó¿ô¤Ë¤ÏÀ©¸Â¤¬Ìµ¤¯¤Ê¤ë¡£ +¥·¥¹¥Æ¥à¤ËÂФ¹¤ë¥µ¡¼¥Ó¥¹ÉÔǽ¹¶·â¤òËɤ°¤¿¤á¡¢ +\fBroot\fR ¤ÎºÇÂç¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¤Ï¾ï¤Ë 0 ¤Ë¤·¤Æ¤ª¤¯¤Ù¤­¤Ç¤¢¤ë¡£ .PP -¥ª¥×¥·¥ç¥ó¤Ï¤É¤Î¤è¤¦¤ËÁȤ߹ç¤ï¤»¤Æ¤âÎɤ¤¡£ -\fB-p\fR¡¢\fB-r\fRµÚ¤Ó\fB-m\fR¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ï\fB-u\fRËô¤Ï\fB-t\fR -¤Î¤¤¤º¤ì¤ÈÁȤ߹ç¤ï¤»¤Æ¤âľ¤Á¤Ë½èÍý¤µ¤ì¤ë¡£ +¥ª¥×¥·¥ç¥ó¤Ï¤Û¤Ü¤É¤Î¤è¤¦¤ËÁȤ߹ç¤ï¤»¤Æ¤âÎɤ¤¡£ +\fB-p\fR, \fB-r\fR, \fB-m\fR +¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ï¡¢ +\fB-u\fR, \fB-t\fR ¤Î»ØÄê¤Ë¤è¤ë½¤Àµ¤ò¼õ¤±¡¢ +»ØÄꤷ¤¿½ç¤Ë¼Â¹Ô¤µ¤ì¤ë¡£ .SH ·Ù¹ð -\fBfaillog\fR¤ÏºÇ¸å¤Ë¼ºÇÔ¤·¤Æ°ÊÍè¥í¥°¥¤¥ó¤ËÀ®¸ù¤·¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶¤Î¤ß¤ò -ɽ¼¨¤¹¤ë¡£ -¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿¸å¤ËÀµ¤·¤¯¥í¥°¥¤¥ó½ÐÍ褿¥æ¡¼¥¶¤òɽ¼¨¤µ¤»¤ë°Ù¤Ë¤Ï¡¢ -\fB-u\fR¥Õ¥é¥Ã¥°¤òÍѤ¤¤Æ¤½¤Î¥æ¡¼¥¶¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤«¡¢ -\fB-a\fR¥Õ¥é¥Ã¥°¤òÍѤ¤¤ÆÁ´¥æ¡¼¥¶¤òɽ¼¨¤µ¤»¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +\fBfaillog\fR ¤Ï¡¢ +ºÇ¸å¤Ë¼ºÇÔ¤·¤Æ°Ê¹ß¥í¥°¥¤¥ó¤ËÀ®¸ù¤·¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶¤Î¤ß¤òɽ¼¨¤¹¤ë¡£ +¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿¸å¤ËÀµ¤·¤¯¥í¥°¥¤¥ó¤Ç¤­¤¿¥æ¡¼¥¶¤âɽ¼¨¤µ¤»¤ë¤Ë¤Ï¡¢ +\fB-u\fR ¥Õ¥é¥°¤òÍѤ¤¤Æ¤½¤Î¥æ¡¼¥¶¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤«¡¢ +\fB-a\fR ¥Õ¥é¥°¤òÍѤ¤¤ÆÁ´¥æ¡¼¥¶¤òɽ¼¨¤µ¤»¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .PP -¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢/var/log¤ÎÂå¤ï¤ê¤Ë/var/admËô¤Ï/usr/adm¤òÍѤ¤¤Æ¤¤¤ë -¤³¤È¤â¤¢¤ë¡£ +¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï +/var/log ¤Ç¤Ï¤Ê¤¯ +/var/adm +¤ä +/usr/adm +¤Ë¥í¥°¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/var/log/faillog \- ¥í¥°¥¤¥ó¼ºÇÔ¤òµ­Ï¿¤¹¤ë¥Õ¥¡¥¤¥ë +\fI/var/log/faillog\fR \- ¼ºÇÔ¤òµ­Ï¿¤·¤¿¥Õ¥¡¥¤¥ë .SH ´ØÏ¢¹àÌÜ .BR login (1), .BR faillog (5) diff --git a/man/ja/gpasswd.1 b/man/ja/gpasswd.1 index cc5f56b7..32ba5554 100644 --- a/man/ja/gpasswd.1 +++ b/man/ja/gpasswd.1 @@ -1,85 +1,70 @@ -.\" Copyright 1996, Rafal Maszkowski, rzm@pdi.net +.\"$Id: gpasswd.1,v 1.4 2003/04/28 02:14:00 kloczek Exp $ +.\" Copyright 1996, Rafal Maszkowski .\" All rights reserved. You can redistribute this man page 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. .\" -.\" $Id: gpasswd.1,v 1.2 2001/11/16 17:01:32 ankry Exp $ -.\" -.\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka -.\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated & Modified 3 Mar 2002 by NAKANO Takeo +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH GPASSWD 1 -.SH NAME +.SH ̾Á° gpasswd \- /etc/group¥Õ¥¡¥¤¥ë¤ò´ÉÍý¤¹¤ë -.br .SH ½ñ¼° -.B gpasswd \fIgroup\fR +\fBgpasswd \fIgroup\fR .br -.B gpasswd -.B -a -\fIuser\fR \fIgroup\fR +\fBgpasswd -a \fIuser\fR \fIgroup\fR .br -.B gpasswd -.B -d -\fIuser\fR \fIgroup\fR +\fBgpasswd -d \fIuser\fR \fIgroup\fR .br -.B gpasswd -.B -R -\fIgroup\fR +\fBgpasswd -R \fIgroup\fR .br -.B gpasswd -.B -r -\fIgroup\fR -.br -.B gpasswd -.RB [ -A -\fIuser\fR,...] -.RB [ -M -\fIuser\fR,...] -\fIgruop\fR +\fBgpasswd -r \fIgroup\fR .br +\fBgpasswd\fR [\fB-A \fIuser\fR,...] [\fB-M\fR \fIuser\fR,...] \fIgroup\fR .SH ÀâÌÀ .B gpasswd -¤Ï/etc/group¥Õ¥¡¥¤¥ë -(µÚ¤Ó¡¢SHADOWGRP¤òÄêµÁ¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿»þ¤Ï/etc/gshadow¥Õ¥¡¥¤¥ë) -¤ò´ÉÍý¤¹¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ -³Æ¥°¥ë¡¼¥×¤Ë´ÉÍý¼Ô¤òÃÖ¤­¡¢¥á¥ó¥Ð¡¼µÚ¤Ó¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +¤Ï /etc/group ¥Õ¥¡¥¤¥ë +(¤ª¤è¤Ó SHADOWGRP ¤òÄêµÁ¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿»þ¤Ï /etc/gshadow ¥Õ¥¡¥¤¥ë) +¤Î´ÉÍý¤ËÍѤ¤¤é¤ì¤ë¡£ +³Æ¥°¥ë¡¼¥×¤Ë¤Ï¡¢´ÉÍý¼Ô¡¦¥á¥ó¥Ð¡¼¡¦¥Ñ¥¹¥ï¡¼¥É¤òÀßÄê¤Ç¤­¤ë¡£ ¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢ -\fB-A\fR¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥°¥ë¡¼¥×´ÉÍý¼Ô(Ê£¿ô¤Ç¤â²Ä)¤òÄêµÁ¤¹¤ë¤³¤È¤ä -\fB-M\fR¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥á¥ó¥Ð¡¼¤òÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢ -³Æ¥°¥ë¡¼¥×¤Î´ÉÍý¼ÔµÚ¤Ó¥á¥ó¥Ð¡¼¤ÈƱÅù¤ÎÆÃ¸¢¤ò»ý¤Ã¤Æ¤¤¤ë¡£ +\fB-A\fR ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥°¥ë¡¼¥×´ÉÍý¼Ô (Ê£¿ô¤Ç¤â²Ä) ¤òÄêµÁ¤·¤¿¤ê¡¢ +\fB-M\fR ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥á¥ó¥Ð¡¼¤òÄêµÁ¤·¤¿¤ê¤Ç¤­¡¢ +³Æ¥°¥ë¡¼¥×¤Î´ÉÍý¼Ô¡¦¥á¥ó¥Ð¡¼¤ÈƱÅù¤ÎÆÃ¸¢¤ò»ý¤Ä¡£ .PP -¥°¥ë¡¼¥×´ÉÍý¼Ô¤Ï¡¢¤½¤ì¤¾¤ì\fB-a\fRµÚ¤Ó\fB-d\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ -¥æ¡¼¥¶¤òÄɲä·¤¿¤êºï½ü¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -´ÉÍý¼Ô¤Ï\fB-r\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¥°¥ë¡¼¥×¥Ñ¥¹¥ï¡¼¥É¤òºï½ü¤¹¤ë»ö¤¬½ÐÍè¤ë¡£ +¥°¥ë¡¼¥×´ÉÍý¼Ô¤Ï¡¢\fB-a\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¥æ¡¼¥¶¤òÄɲä·¤¿¤ê¡¢ +\fB-d\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¥æ¡¼¥¶¤òºï½ü¤·¤¿¤ê¤Ç¤­¤ë¡£ +´ÉÍý¼Ô¤Ï \fB-r\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¥°¥ë¡¼¥×¥Ñ¥¹¥ï¡¼¥É¤òºï½ü¤Ç¤­¤ë¡£ ¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ï¡¢ ¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤Î¤ß¤¬ -.B newgrp(1) -¤òÍѤ¤¤Æ¥°¥ë¡¼¥×¤Î°ì°÷¤È¤Ê¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -¥ª¥×¥·¥ç¥ó\fB-R\fR¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ -.I newgrp(1) -¥³¥Þ¥ó¥É¤òÍѤ¤¤¿¥°¥ë¡¼¥×¤Ø¤Î¥¢¥¯¥»¥¹¤ò½ÐÍè¤Ê¤¯¤¹¤ë¡£ +.BR newgrp (1) +¤òÍѤ¤¤Æ¥°¥ë¡¼¥×¤Î°ì°÷¤Ë¤Ê¤ì¤ë¡£ +¥ª¥×¥·¥ç¥ó \fB-R\fR ¤ò»ØÄꤹ¤ë¤È¡¢ +.BR newgrp (1) +¥³¥Þ¥ó¥É¤òÍѤ¤¤¿¥°¥ë¡¼¥×¤Ø¤Î¥¢¥¯¥»¥¹¤Ï¤Ç¤­¤Ê¤¯¤Ê¤ë¡£ .PP ¥°¥ë¡¼¥×¤Î´ÉÍý¼Ô¤¬¥°¥ë¡¼¥×̾¤Î¤ß¤ò»ØÄꤷ¤Æ .B gpasswd -¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤Ï +¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤Ï¡¢ ¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤ë¡£ ¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢ ¥á¥ó¥Ð¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤Ê¤·¤Ç -.B newgrp(1) -¥³¥Þ¥ó¥É¤òÍѤ¤¤ë¤³¤È¤¬½ÐÍè¤ë¤¬¡¢ +.BR newgrp (1) +¥³¥Þ¥ó¥É¤ò»È¤¨¤ë¤¬¡¢ ¥á¥ó¥Ð¡¼¤Ç¤Ê¤¤¿Í¤Ï¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ - .SH ¥Õ¥¡¥¤¥ë -/etc/group \- ¥°¥ë¡¼¥×¾ðÊó +\fI/etc/group\fR \- ¥°¥ë¡¼¥×¾ðÊó .br -/etc/gshadow \- shadow¤·¤¿¥°¥ë¡¼¥×¾ðÊó +\fI/etc/gshadow\fR \- shadow ¤µ¤ì¤¿¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR newgrp (1), .BR groupadd (8), .BR groupdel (8), .BR groupmod (8), .BR grpck (8) +.SH Ãø¼Ô +Rafal Maszkowski diff --git a/man/ja/groupadd.8 b/man/ja/groupadd.8 index ec32bb99..366dd4ba 100644 --- a/man/ja/groupadd.8 +++ b/man/ja/groupadd.8 @@ -1,3 +1,4 @@ +.\"$Id: groupadd.8,v 1.7 2004/01/05 01:08:29 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,36 +26,35 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: groupadd.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated & Modified Sat 21 Sep 2002 by NAKANO Takeo .\" .TH GROUPADD 8 .SH ̾Á° groupadd \- ¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ë .SH ½ñ¼° -.B groupadd -[\fB-g\fI gid \fR[\fB-o\fR]] -.I group +\fBgroupadd\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-f\fR] \fIgroup\fR .SH ÀâÌÀ -\fBgroupadd\fR¥³¥Þ¥ó¥É¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Ç»ØÄꤵ¤ì¤¿ÃÍµÚ¤Ó -¥·¥¹¥Æ¥à¤Î¥Ç¥£¥Õ¥©¥ë¥ÈÃͤòÍѤ¤¤Æ¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ë¡£ -¿·¤·¤¤¥°¥ë¡¼¥×¤ÏɬÍפȤʤ俺ݤ˥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤Ëµ­Æþ¤µ¤ì¤ë¡£ -\fBgroupadd\fR¥³¥Þ¥ó¥É¤Ë»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ï¼¡¤Î¤â¤Î¤Ç¤¢¤ë +\fBgroupadd\fR ¥³¥Þ¥ó¥É¤Ï¡¢ +¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Ç»ØÄꤵ¤ì¤¿ÃÍ¤È +¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤȤòÍѤ¤¤Æ¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ë¡£ +¿·¤·¤¤¥°¥ë¡¼¥×¤¬É¬Íפ˱þ¤¸¤Æ¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤Ëµ­Æþ¤µ¤ì¤ë¡£ +\fBgroupadd\fR ¥³¥Þ¥ó¥É¤Ë»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ï¼¡¤ÎÄ̤ꡣ .IP "\fB-g \fIgid\fR" -¿·µ¬¥°¥ë¡¼¥×¤ÎIDÈֹ档 -¤³¤ÎÃͤϡ¢\fB-o\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Ê¤¤¸Â¤ê¤Ï¡¢Â¾¤È½ÅÊ£¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¤Þ¤¿¡¢ÈóÉéÃͤǤʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¥Ç¥£¥Õ¥©¥ë¥È¤Ï¡¢99¤è¤êÂ礭¤¯³î¤Ä¾¤ÎÁ´¤Æ¤Î´û¸¥°¥ë¡¼¥×¤ÎID¤è¤ê¤â -Â礭¤Ê¤â¤Î¤ÎÃæ¤ÇºÇ¾®¤Î¤â¤Î¤Ç¤¢¤ë¡£ -0¤«¤é99Ëø¤ÎÃͤÏÂçÄñ¥·¥¹¥Æ¥àÍѤΥ¢¥«¥¦¥ó¥È¤ËͽÌó¤µ¤ì¤Æ¤¤¤ë¡£ +¿·µ¬¥°¥ë¡¼¥×¤Î ID Èֹ档 +¤³¤ÎÃͤϡ¢\fB-o\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç¤ò½ü¤­¡¢Â¾¤È½ÅÊ£¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤Þ¤¿ÈóÉéÃͤǤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢99 ¤ª¤è¤Ó¾¤Î¤¢¤é¤æ¤ë´û¸¥°¥ë¡¼¥×¤Î ID ¤è¤ê¤âÂ礭¤¤¡¢ +ºÇ¾®¤Î¿ôÃͤȤʤ롣 +0 ¤«¤é 99 ¤Þ¤Ç¤ÎÃͤϡ¢ +Ä̾亮¥¹¥Æ¥àÍѤΥ¢¥«¥¦¥ó¥È¤ËͽÌó¤µ¤ì¤Æ¤¤¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/group \- ¥°¥ë¡¼¥×¤Î¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/group\fR \- ¥°¥ë¡¼¥×¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/gshadow \- ¥°¥ë¡¼¥×¤Î°ÂÁ´¤Ê¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/gshadow\fR \- °ÂÁ´¤Ê¥°¥ë¡¼¥×¥¢¥«¥¦¥ó¥È¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR chfn (1), .BR chsh (1), diff --git a/man/ja/groupdel.8 b/man/ja/groupdel.8 index c5c43443..6674dedf 100644 --- a/man/ja/groupdel.8 +++ b/man/ja/groupdel.8 @@ -1,3 +1,4 @@ +.\"$Id: groupdel.8,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,33 +26,32 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: groupdel.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated & Modified Sat 21 Sep 2002 by NAKANO Takeo .\" .TH GROUPDEL 8 .SH ̾Á° -groupdel \- ¥°¥ë¡¼¥×¤ò¾Ãµî¤¹¤ë +groupdel \- ¥°¥ë¡¼¥×¤òºï½ü¤¹¤ë .SH ½ñ¼° -.B groupdel -.I group +\fBgroupdel\fR \fIgroup\fR .SH ÀâÌÀ -\fBgroupdel\fR¥³¥Þ¥ó¥É¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¡¢ -\fIgroup\fR¤Ë°¤¹¤ëÁ´¤Æ¤Î¥¨¥ó¥È¥ê¡¼¤òºï½ü¤¹¤ë¡£ -»ØÄꤵ¤ì¤¿¥°¥ë¡¼¥×¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +\fBgroupdel\fR ¥³¥Þ¥ó¥É¤Ï¡¢¥·¥¹¥Æ¥à¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¡¢ +¥°¥ë¡¼¥× \fIgroup\fR ¤ËÂбþ¤¹¤ë¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤òºï½ü¤¹¤ë¡£ +»ØÄꤵ¤ì¤¿¥°¥ë¡¼¥×¤Ï¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .PP -Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÃæ¤Ë»ØÄꤷ¤¿¥°¥ë¡¼¥×¤ÎID¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤ -¤³¤È¤ò¡¢¼êºî¶È¤Ç³Îǧ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¡¢ +»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î ID ¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¡¢ +¼êºî¶È¤Ç³Îǧ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ .SH ·Ù¹ð ¸ºß¤¹¤ë¥æ¡¼¥¶¤Î¼ç¥°¥ë¡¼¥×¤òºï½ü¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¥°¥ë¡¼¥×¤òºï½ü¤¹¤ëÁ°¤Ë¤½¤Î¥æ¡¼¥¶¤òºï½ü¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥°¥ë¡¼¥×¤òºï½ü¤¹¤ëÁ°¤Ë¤½¤Î¥æ¡¼¥¶¤òºï½ü¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/group \- ¥°¥ë¡¼¥×¤Î¾ðÊó +\fI/etc/group\fR \- ¥°¥ë¡¼¥×¾ðÊó .br -/etc/gshadow \- ¥°¥ë¡¼¥×¤Î°ÂÁ´¤Ê¾ðÊó +\fI/etc/gshadow\fR \- °ÂÁ´¤Ê¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR chfn (1), .BR chsh (1), diff --git a/man/ja/groupmod.8 b/man/ja/groupmod.8 index d0622143..df7f9150 100644 --- a/man/ja/groupmod.8 +++ b/man/ja/groupmod.8 @@ -1,3 +1,4 @@ +.\"$Id: groupmod.8,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,47 +26,45 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: groupmod.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated & Modified Sat 21 Sep 2002 by NAKANO Takeo .\" .TH GROUPMOD 8 .SH ̾Á° -groupmod \- ¥°¥ë¡¼¥×¤ËÊѹ¹¤ò²Ã¤¨¤ë +groupmod \- ¥°¥ë¡¼¥×¤ò½¤Àµ¤¹¤ë .SH ½ñ¼° -.B groupmod -[\fB-g\fI gid \fR[\fB-o\fR]] -[\fB-n\fI group_name \fR] -.I group +\fBgroupmod\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-n\fI group_name \fR] +\fIgroup\fR .SH ÀâÌÀ -\fBgroupmod\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Ç»ØÄꤷ¤¿Êѹ¹»ö¹à¤Ë¨¤·¤Æ -¥·¥¹¥Æ¥à¤Î¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤ò²þÊѤ¹¤ë¡£ -\fIgroupmod\fR¥³¥Þ¥ó¥É¤Ë»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ï¼¡¤ÎÄ̤ê +\fBgroupmod\fR ¥³¥Þ¥ó¥É¤Ï¡¢ +¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¤Î»ØÄê¤Ë¤è¤Ã¤Æ¡¢ +¥·¥¹¥Æ¥à¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤¹¤ë¡£ +\fIgroupmod\fR ¥³¥Þ¥ó¥É¤Ë»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ï¼¡¤ÎÄ̤ꡣ .IP "\fB-g \fIgid\fR" -Êѹ¹¤ò¼õ¤±¤ë¥°¥ë¡¼¥×¤ÎIDÈֹ档 -¤³¤ÎÃͤϡ¢\fB-o\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç°Ê³°¤Ï¡¢Â¾¤È½ÅÊ£¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¤Þ¤¿¡¢ÈóÉéÃͤǤʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¥Ç¥£¥Õ¥©¥ë¥È¤Ç¤Ï¡¢99¤è¤êÂ礭¤¯³î¤Ä¾¤ÎÁ´¤Æ¤Î´û¸¥°¥ë¡¼¥×¤ÎID¤è¤ê¤â -Â礭¤Ê¤â¤Î¤ÎÃæ¤ÇºÇ¾®¤Î¤â¤Î¤Ç¤¢¤ë¡£ -Êѹ¹Á°¤Î¥°¥ë¡¼¥×ID¤ò»ý¤ÄÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¼êºî¶È¤Ç¿·¤·¤¤¥°¥ë¡¼¥×ID¤Ø¤È -Êѹ¹¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +Êѹ¹¤ò¼õ¤±¤ë¥°¥ë¡¼¥×¤Î ID Èֹ档 +¤³¤ÎÃͤϡ¢\fB-o\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç¤ò½ü¤­¡¢Â¾¤È½ÅÊ£¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤Þ¤¿ÈóÉéÃͤǤʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Ç¥Õ¥©¥ë¥È¤Ï¡¢99 ¤ª¤è¤Ó¾¤Î¤¢¤é¤æ¤ë´û¸¥°¥ë¡¼¥×¤Î ID ¤è¤ê¤âÂ礭¤¤¡¢ +ºÇ¾®¤Î¿ôÃͤȤʤ롣 +Êѹ¹Á°¤Î¥°¥ë¡¼¥× ID ¤ò»ý¤ÄÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ +¼êºî¶È¤Ç¿·¤·¤¤¥°¥ë¡¼¥× ID ¤Ø¤ÈÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .IP "\fB-n \fIgroup_name\fR" -¥°¥ë¡¼¥×¤Î̾Á°¤¬\fIgroup\fR¤«¤é\fIgroup_name\fR¤ËÊѹ¹¤µ¤ì¤ë¡£ +¥°¥ë¡¼¥×¤Î̾Á°¤¬ \fIgroup\fR ¤«¤é \fIgroup_name\fR ¤ËÊѹ¹¤µ¤ì¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/group \- ¥°¥ë¡¼¥×¤Î¾ðÊó +\fI/etc/group\fR \- ¥°¥ë¡¼¥×¾ðÊó .br -/etc/gshadow \- ¥°¥ë¡¼¥×¤Î°ÂÁ´¤Ê¾ðÊó +\fR/etc/gshadow\I \- °ÂÁ´¤Ê¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR chfn (1), .BR chsh (1), .BR passwd (1), .BR groupadd (8), -.BR groupdel (8) +.BR groupdel (8), .BR useradd (8), .BR userdel (8), -.BR usermod (8), +.BR usermod (8) .SH Ãø¼Ô Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/ja/groups.1 b/man/ja/groups.1 index 08736266..8efe7e67 100644 --- a/man/ja/groups.1 +++ b/man/ja/groups.1 @@ -1,3 +1,4 @@ +.\"$Id: groups.1,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,36 +26,40 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: groups.1,v 1.2 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 2001 Maki KURODA .\" all right reserved, .\" Translated Tue Oct 30 11:58:18 JST 2001 .\" by Maki KURODA +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo +.\" +.\"WORD: concurrent group set Ʊ»þ½ê°¥°¥ë¡¼¥×½¸¹ç +.\"WORD: real group ID ¼Â¥°¥ë¡¼¥× ID +.\"WORD: effective group ID ¼Â¸ú¥°¥ë¡¼¥× ID .\" .TH GROUPS 1 .SH ̾Á° -groups \- ¸½ºß¤Î¥°¥ë¡¼¥× ID ̾¤Îɽ¼¨ +groups \- ¸½ºß¤Î¥°¥ë¡¼¥×̾¤Îɽ¼¨ .SH ½ñ¼° -.B groups -.RI [ user ] +\fBgroups\fR [\fIuser\fR] .SH ÀâÌÀ .B groups -¤Ï¸½ºß¤Î¥°¥ë¡¼¥× ID ̾¤Þ¤¿¤ÏÃͤòɽ¼¨¤¹¤ë¡£ -¤½¤ÎÃͤ¬ \fI/etc/group\fR ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ -¤½¤ÎÃͤϿôÃÍ¥°¥ë¡¼¥× ID ¤È¤·¤ÆÉ½¼¨¤µ¤ì¤ë¡£ -\fIuser\fR ¥ª¥×¥·¥ç¥ó¥Ñ¥é¥á¥¿¤Ï \fIuser\fR ¤¬½ê°¤¹¤ë¥°¥ë¡¼¥×̾¤òɽ¼¨¤¹¤ë¡£ +¤Ï¸½ºß¤Î¥°¥ë¡¼¥×¤Î̾Á°¤Þ¤¿¤Ï ID Ãͤòɽ¼¨¤¹¤ë¡£ +ID ÃͤËÂбþ¤¹¤ë̾Á°¤¬ \fI/etc/group\fR ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ +¿ôÃͤΥ°¥ë¡¼¥× ID ¤Çɽ¼¨¤µ¤ì¤ë¡£ +¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ \fIuser\fR ¤òÍ¿¤¨¤ë¤È¡¢ +»ØÄꤷ¤¿ \fIuser\fR ¤¬½ê°¤¹¤ë¥°¥ë¡¼¥×̾¤òɽ¼¨¤¹¤ë¡£ .SH Ãí°Õ -¶¦Æ±¥°¥ë¡¼¥×¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤Ï \fI/etc/group\fR ¤Ë -Êó¹ð¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤òÀßÄꤹ¤ë¡£ -¥æ¡¼¥¶¤Ï¸½ºß¤Î real ¤ä effective ¥°¥ë¡¼¥× ID ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë \fBnewgrp\fR ¤Þ¤¿¤Ï \fBsg\fR ¤ò -»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +Ʊ»þ½ê°¥°¥ë¡¼¥×½¸¹ç (concurrent group set) +¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ +\fI/etc/group\fR ¤Î¾ðÊó¤¬Êó¹ð¤µ¤ì¤ë¡£ +¥æ¡¼¥¶¤¬¸½ºß¤Î¼Â¥°¥ë¡¼¥× ID ¤ä¼Â¸ú¥°¥ë¡¼¥× ID ¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢ +\fBnewgrp\fR ¤ä \fBsg\fR ¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë /etc/group \- ¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR newgrp (1), +.BR getuid (2), .BR getgid (2), -.BR getgroups (2), -.BR getuid (2) +.BR getgroups (2) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/grpck.8 b/man/ja/grpck.8 index 34c900ae..45dd41f1 100644 --- a/man/ja/grpck.8 +++ b/man/ja/grpck.8 @@ -1,3 +1,4 @@ +.\"$Id: grpck.8,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1992 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,77 +26,86 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: grpck.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated & Modified Sat 21 Sep 2002 by NAKANO Takeo .\" -.TH GRPCK 1 +.TH GRPCK 8 .SH ̾Á° -grpck \- ¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤Î´°Á´À­¤ò¸¡¾Ú¤¹¤ë +grpck \- ¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤¬Àµ¤·¤¤¤«¤É¤¦¤«¸¡ºº¤¹¤ë .SH ½ñ¼° \fBgrpck\fR [\fB-r\fR] [\fIgroup\fR \fIshadow\fR] .SH ÀâÌÀ -\fBgrpck\fR¥³¥Þ¥ó¥É¤Ï¥·¥¹¥Æ¥à¤Îǧ¾Ú¾ðÊ󤬴°Á´¤Ê¤â¤Î¤«¤É¤¦¤«¤Î¸¡¾Ú¤ò¹Ô¤¦¡£ -\fI/etc/group\fRµÚ¤Ó\fI/etc/gshadow\fR¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´¤Æ¤Î¥¨¥ó¥È¥ê¡¼¤ËÂФ·¤Æ¡¢ -½ñ¼°¤¬Àµ¤·¤¤¤«¡¢µÚ¤Ó³ÆÍó¤Ëµ­¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤ÏÍ­¸ú¤Ê¤â¤Î¤«¤É¤¦¤«¤Î¸¡¾Ú¤¬ -¹Ô¤Ê¤ï¤ì¤ë¡£ -½ñ¼°¤¬Àµ¤·¤¯¤Ê¤«¤Ã¤¿¤êÄûÀµÉÔǽ¤Ê¸í¤ê¤ò´Þ¤à¥¨¥ó¥È¥ê¡¼¤Ïºï½ü¤òÂ¥¤µ¤ì¤ë¡£ +\fBgrpck\fR ¥³¥Þ¥ó¥É¤Ï¥·¥¹¥Æ¥à¤Îǧ¾Ú¾ðÊó¤¬Àµ¤·¤¤¤«¤É¤¦¤«¸¡ºº¤¹¤ë¡£ +\fI/etc/group\fR ¤È \fI/etc/gshadow\fR +³Æ¥Õ¥¡¥¤¥ë¤ÎÁ´¤Æ¤Î¥¨¥ó¥È¥ê¤ËÂФ·¡¢ +³Æ¥Õ¥£¡¼¥ë¥É¤Î½ñ¼°¤¬Àµ¤·¤¤¤«¡¢ +¤½¤Î¥Ç¡¼¥¿¤¬Í­¸ú¤Ê¤â¤Î¤«¤É¤¦¤«¤ò¸¡¾Ú¤¹¤ë¡£ +½ñ¼°¤¬Àµ¤·¤¯¤Ê¤¤¥¨¥ó¥È¥ê¤ä¡¢ +½¤ÀµÉÔǽ¤Ê¸í¤ê¤ò´Þ¤à¥¨¥ó¥È¥ê¤Ïºï½ü¤¹¤ë¤è¤¦¥×¥í¥ó¥×¥È¤ò½Ð¤¹¡£ .P -³Æ¡¹¤Î¥¨¥ó¥È¥ê¡¼¤ËÂФ·¤Æ +³Æ¡¹¤Î¥¨¥ó¥È¥ê¤ËÂФ·¤Æ .sp .in +.5i -- Íó¤Î¿ô¤¬Àµ¤·¤¤¤« +- ¥Õ¥£¡¼¥ë¥É¤Î¿ô¤¬Àµ¤·¤¤¤« .br - ¥°¥ë¡¼¥×̾¤Ë½ÅÊ£¤¬¤Ê¤¤¤« .br -- ¥á¥ó¥Ð¡¼µÚ¤Ó´ÉÍý¼Ô¤Î¥ê¥¹¥È¤¬Àµ¤·¤¤¤« +- ¥á¥ó¥Ð¡¼¤Î¥ê¥¹¥È¤È´ÉÍý¼Ô¤Î¥ê¥¹¥È¤¬Àµ¤·¤¤¤« .in -.5i -Åù¤Î¥Á¥§¥Ã¥¯¤¬¹Ô¤ï¤ì¤ë¡£ .sp +¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£ .P -Íó¤Î¿ô¤¬Àµ¤·¤¤¤³¤ÈµÚ¤Ó¥°¥ë¡¼¥×̾¤Î½ÅÊ£¤¬¤Ê¤¤¤³¤È¤¬ºÇ¤â½ÅÍפǤ¢¤ë¡£ -Íó¤Î¿ô¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¡¢¤½¤Î¹Ô¤Î¥¨¥ó¥È¥ê¡¼¤òºï½ü¤¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ -ºï½ü¤ËƱ°Õ¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï̵»ë¤µ¤ì¤ë¡£ -½ÅÊ£¤·¤¿¥°¥ë¡¼¥×̾¤¬¤¢¤Ã¤¿¾ì¹ç¤âºï½ü¤òÂ¥¤µ¤ì¤ë¤¬¡¢¤³¤Î¾ì¹ç¤Ï -ºï½ü¤·¤Ê¤¯¤Æ¤â¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï³¹Ô¤µ¤ì¤ë¡£ -¾¤ÎÁ´¤Æ¤Î¥¨¥é¡¼¤ËÂФ·¤Æ¤Ï·Ù¹ð¤¬¤Ê¤µ¤ì¤ë¤Î¤ß¤Ç¤¢¤ê¡¢¤½¤Î¾ì¹ç¤Ï -¸í¤ê¤òÄûÀµ¤¹¤ë¤¿¤á¤Ë\fBgroupmod\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤è¤¦´«¤á¤é¤ì¤ë¡£ +¥Õ¥£¡¼¥ë¥É¤Î¿ô¤¬´Ö°ã¤Ã¤Æ¤¤¤¿¤ê¡¢ +¥°¥ë¡¼¥×̾¤¬½ÅÊ£¤·¤Æ¤¤¤ë¤Î¤ÏÃ×̿Ū¤Ê¥¨¥é¡¼¤Ç¤¢¤ë¡£ +¥Õ¥£¡¼¥ë¥É¤Î¿ô¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¡¢ +¥æ¡¼¥¶¡¼¤Ï¤½¤Î¥¨¥ó¥È¥ê¹Ô¤òºï½ü¤¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ +ºï½ü¤ËƱ°Õ¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ +½ÅÊ£¤·¤¿¥°¥ë¡¼¥×̾¤¬¤¢¤Ã¤¿¾ì¹ç¤âºï½ü¤òÂ¥¤µ¤ì¤ë¤¬¡¢ +¤³¤Î¾ì¹ç¤Ïºï½ü¤·¤Ê¤¯¤Æ¤â¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï³¹Ô¤µ¤ì¤ë¡£ +¾¤ÎÁ´¤Æ¤Î¥¨¥é¡¼¤ËÂФ·¤Æ¤Ï·Ù¹ð¤¬¤Ê¤µ¤ì¤ë¡£ +\fBgroupmod\fR ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤½¤Î¥¨¥é¡¼¤ò½¤Àµ¤¹¤ë¤ÈÎɤ¤¤À¤í¤¦¡£ .P -\fI/etc/group\fR¥Õ¥¡¥¤¥ë¤ËºîÍѤ¹¤ë¥³¥Þ¥ó¥É¤Ï¡¢²õ¤ì¤¿¤â¤·¤¯¤Ï -½ÅÊ£¤·¤¿¥¨¥ó¥È¥ê¡¼¤òÊѹ¹¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¡£ -¤½¤Î¤è¤¦¤ÊºÝ¤Ë¸í¤ê¤Î¤¢¤ë¥¨¥ó¥È¥ê¡¼¤òºï½ü¤¹¤ë¤¿¤á¤Ë¤Ï -\fBgrpck\fR¤òÍѤ¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +\fI/etc/group\fR ¥Õ¥¡¥¤¥ë¤òÁàºî¤¹¤ë¥³¥Þ¥ó¥É¤Ï¡¢ +²õ¤ì¤¿¥¨¥ó¥È¥ê¤ä½ÅÊ£¤·¤¿¥¨¥ó¥È¥ê¤òÊѹ¹¤Ç¤­¤Ê¤¤¡£ +¤½¤Î¤è¤¦¤ÊºÝ¤Ë¸í¤ê¤Î¤¢¤ë¥¨¥ó¥È¥ê¤òºï½ü¤¹¤ë¤Ë¤Ï +\fBgrpck\fR ¤òÍѤ¤¤ë¤È¤è¤¤¡£ .SH ¥ª¥×¥·¥ç¥ó -¥Ç¥£¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fBgrpck\fR¤Ï\fI/etc/group\fR¥Õ¥¡¥¤¥ëµÚ¤Ó -\fI/etc/gshadow\fR¤ËºîÍѤ¹¤ë¡£ -\fIgroup\fRµÚ¤Ó\fIshadow\fR¥Ñ¥é¥á¡¼¥¿¤òÍѤ¤¤ÆÊ̤Υե¡¥¤¥ë¤òÁªÂò¤¹¤ë -»ö¤â¤Ç¤­¤ë¡£ -²Ã¤¨¤Æ¡¢\fB-r\fR¥Õ¥é¥Ã¥°¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \fBgrpck\fR ¤Ï \fI/etc/group\fR ¥Õ¥¡¥¤¥ë¤È +\fI/etc/gshadow\fR ¤ËÂФ·¤ÆÆ°ºî¤¹¤ë¡£ +\fIgroup\fR ¥Ñ¥é¥á¡¼¥¿¤È \fIshadow\fR ¥Ñ¥é¥á¡¼¥¿¤òÍѤ¤¤Æ¡¢ +Ê̤Υե¡¥¤¥ë¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +¤µ¤é¤Ë \fB-r\fR ¥Õ¥é¥°¤ò»ØÄꤹ¤ì¤Ð¡¢ ¥ê¡¼¥É¥ª¥ó¥ê¡¼¥â¡¼¥É¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ -¤³¤Î¾ì¹ç¤Ï¡¢Êѹ¹¤ò¹Ô¤¦¤«¤É¤¦¤«¤Î¼ÁÌä¤ËÂФ·¤Æ¤¤¤Á¤¤¤ÁÅú¤¨¤Ê¤¯¤È¤â¡¢ -¼«Æ°Åª¤Ë\fBno\fR¤È²óÅú¤µ¤ì¤ë¡£ +¤³¤Î¾ì¹ç¡¢Êѹ¹¤ò¹Ô¤¦¤«¤É¤¦¤«¤Ï¥æ¡¼¥¶¤ØÌ䤤¹ç¤ï¤µ¤ì¤º¡¢ +¼«Æ°Åª¤Ë \fBno\fR ¤È²óÅú¤µ¤ì¤ë¡£ +.B grpck +¤Ï +\fI/etc/group\fR ¤È \fI/etc/gshadow\fR +¤Î¥¨¥ó¥È¥ê¤ò GID ¤Ç¥½¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +¥½¡¼¥È¥â¡¼¥É¤Çưºî¤µ¤»¤ë¤Ë¤Ï \fB-s\fR ¥Õ¥é¥°¤òÍ¿¤¨¤ë¡£ +¤³¤Î¾ì¹ç¥Á¥§¥Ã¥¯¤Ï¹Ô¤ï¤ì¤º¡¢Ã±¤Ë¥½¡¼¥È¤¹¤ë¤À¤±¤Ç¤¢¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/group \- ¥°¥ë¡¼¥×¥¢¥«¥¦¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/gshadow \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¡¢µÚ¤Ó¥°¥ë¡¼¥×´ÉÍý¼Ô¤Î¾ðÊó +\fI/etc/gshadow\fR \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤È¥°¥ë¡¼¥×´ÉÍý¼Ô¾ðÊó .br -/etc/passwd \- ¥æ¡¼¥¶¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/passwd\fR \ - ¥æ¡¼¥¶¡¼¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR group (5), .BR passwd (5), .BR shadow (5), .BR groupmod (8) .SH ÊÖ¤êÃÍ -\fBgrpck\fR¥³¥Þ¥ó¥É¤Ï°Ê²¼¤ÎÌá¤êÃͤòÊÖ¤·¤Æ½ªÎ»¤¹¤ë: +\fBgrpck\fR ¥³¥Þ¥ó¥É¤Ï½ªÎ»»þ¤Ë°Ê²¼¤ÎÃͤòÊÖ¤¹: .IP 0 5 À®¸ù .IP 1 5 ¹½Ê¸¥¨¥é¡¼ .IP 2 5 -¸í¤ê¤Î¤¢¤ë¥°¥ë¡¼¥×¥¨¥ó¥È¥ê¡¼¤¬Â¸ºß¤¹¤ë +¸í¤Ã¤¿¥°¥ë¡¼¥×¥¨¥ó¥È¥ê¤¬Â¸ºß¤¹¤ë .IP 3 5 ¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤ .IP 4 5 diff --git a/man/ja/id.1 b/man/ja/id.1 index 8ae3f615..37956fa3 100644 --- a/man/ja/id.1 +++ b/man/ja/id.1 @@ -1,3 +1,4 @@ +.\"$Id: id.1,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,31 +26,32 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: id.1,v 1.2 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 2000 ISHIKAWA Keisuke .\" all rights reserved. .\" Translated Thu Nov 9 23:17:10 JST 2000 .\" by ISHIKAWA Keisuke +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH ID 1 .SH ̾Á° id \- ¸½ºß¤Î¥æ¡¼¥¶ ID ̾¤È¥°¥ë¡¼¥× ID ̾¤òɽ¼¨¤¹¤ë .SH ½ñ¼° -.B id -.RB [ -a ] +\fBid\fR [\fB-a\fR] .SH ÀâÌÀ -.B id -¤Ï¡¢¸½ºß¤Î¼Â¥æ¡¼¥¶ ID¡¢¼Â¸ú¥æ¡¼¥¶ ID¡¢¼Â¥°¥ë¡¼¥× ID¡¢¼Â¸ú¥°¥ë¡¼¥× ID ¤Î̾Á°¤Þ¤¿¤ÏÃͤòɽ¼¨¤¹¤ë¡£ -\fI/etc/passwd\fR ¤Ë¡¢¤½¤ÎÃͤËÂбþ¤¹¤ë¥¨¥ó¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢Âбþ¤¹¤ë̾Á°¤Ïɽ¼¨¤µ¤ì¤º¤ËÃͤÀ¤±¤¬É½¼¨¤µ¤ì¤ë¡£ -\fB-a\fR ¥Õ¥é¥° (¥ª¥×¥·¥ç¥ó) ¤ò»ØÄꤹ¤ë¤È¡¢¥æ¡¼¥¶¤òÊ£¿ô¤Î¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤Ë¤Ç¤­¤ë¥·¥¹¥Æ¥à¤Ç¤Î¥°¥ë¡¼¥×¡¦¥»¥Ã¥È¤¬É½¼¨¤µ¤ì¤ë¡£ +\fBid\fR¤Ï¡¢¸½ºß¤Î¼Â¥æ¡¼¥¶ ID¡¢¼Â¸ú¥æ¡¼¥¶ ID¡¢¼Â¥°¥ë¡¼¥× ID¡¢ +¼Â¸ú¥°¥ë¡¼¥× ID ¤Î̾Á°¤Þ¤¿¤ÏÃͤòɽ¼¨¤¹¤ë¡£ +ÃͤËÂбþ¤¹¤ë¥¨¥ó¥È¥ê¤¬ \fI/etc/passwd\fR ¤ä +\fI/etc/group\fR ¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ +Âбþ¤¹¤ë̾Á°¤Ïɽ¼¨¤µ¤ì¤º¤ËÃͤÀ¤±¤¬É½¼¨¤µ¤ì¤ë¡£ +¥æ¡¼¥¶¤¬Æ±»þ¤ËÊ£¿ô¤Î¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤Ë¤Ê¤ì¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ +\fB-a\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¥°¥ë¡¼¥×¤Î½¸¹ç¤¬É½¼¨¤µ¤ì¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/group \- ¥°¥ë¡¼¥×¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR getgid (2), .BR getgroups (2), .BR getuid (2) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/lastlog.8 b/man/ja/lastlog.8 index 7493d7dd..18159625 100644 --- a/man/ja/lastlog.8 +++ b/man/ja/lastlog.8 @@ -1,3 +1,4 @@ +.\"$Id: lastlog.8,v 1.8 2003/04/28 06:38:54 kloczek Exp $ .\" Copyright 1992, Phillip Street and Julianne Frances Haugh .\" All rights reserved. .\" @@ -24,9 +25,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.\" .\" @(#)lastlog.8 3.3 08:24:58 29 Sep 1993 (National Guard Release) -.\" $Id: lastlog.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ .\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. @@ -34,41 +33,48 @@ .\" by Kazuyoshi Furutaka .\" Updated & Modified Thu Oct 14 1997 by NAKANO Takeo .\" Updated Fri Jan 12 2001 by Kentaro Shirakata +.\" Updated Mon Mar 4 2002 by kentaro Shirakata +.\" Modified Sat 21 Sep 2002 by NAKANO Takeo .\" .TH LASTLOG 8 .SH ̾Á° lastlog \- lastlog ¥Õ¥¡¥¤¥ë¤òÄ´¤Ù¤ë .SH ½ñ¼° -.B lastlog -.RB [ \-u -.IR login-name ] -.RB [ \-t -.IR days ] +.TP 8 +\fBlastlog\fR [(\fB-u\fR|\fB--user\fR) \fIlogin\fR] +[(\fB-t\fR|\fB--time\fR) \fIdays\fR] [(\fB-h\fR|\fB--help\fR)] .SH ÀâÌÀ \fBlastlog\fR ¤ÏºÇ½ª¥í¥°¥¤¥ó¤Îµ­Ï¿¥Õ¥¡¥¤¥ë \fI/var/log/lastlog\fR ¤ÎÆâÍÆ¤òÀ°·Á¤·¤ÆÉ½¼¨¤¹¤ë¡£ -\fBlogin-name\fR, \fBport\fR, \fBlast login time\fR ¤¬É½¼¨¤µ¤ì¤ë¡£ -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï (¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï) lastlog ¥¨¥ó¥È¥ê¤ò -UID ¤Î¿ôÃͤǥ½¡¼¥È¤·¤ÆÉ½¼¨¤¹¤ë¡£ -\fB\-u \fIlogin-name\fR ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È -\fIlogin-name\fR ¤Îµ­Ï¿¤À¤±¤¬É½¼¨¤µ¤ì¤ë¡£ -\fB\-t \fIdays\fR ¤ÈÆþÎϤ¹¤ë¤ÈºÇ¶á -\fIdays\fR Æü°ÊÆâ¤ÎºÇ½ª¥í¥°¥¤¥ó¤òɽ¼¨¤¹¤ë¡£ -\fB\-t\fR ¥Õ¥é¥°¤òÍѤ¤¤ë¤È \fB\-u\fR ¥Õ¥é¥°¤Î»ØÄê¤Ï̵»ë¤µ¤ì¤ë¡£ +\fB¥í¥°¥¤¥ó̾\fR¡¦\fB¥Ý¡¼¥È\fR¡¦\fBºÇ½ª¥í¥°¥¤¥ó»þ¹ï\fR¡¢¤¬É½¼¨¤µ¤ì¤ë¡£ +¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï +lastlog ¥¨¥ó¥È¥ê¤ò UID ¤Î¿ôÃͤǥ½¡¼¥È¤·¤ÆÉ½¼¨¤¹¤ë¡£ +.TP +\fB-u\fR, \fB--user\fR \fIlogin-name\fR +\fIlogin-name\fR ¤Îµ­Ï¿¤À¤±¤òɽ¼¨¤¹¤ë¡£ +.TP +\fB-t\fR, \fB--time\fR \fIdays\fR +ºÇ¶á \fIdays\fR Æü°ÊÆâ¤ÎºÇ½ª¥í¥°¥¤¥ó¤òɽ¼¨¤¹¤ë¡£ +.TP +\fB-h\fR, \fB--help\fR +¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë¡£ +.PP +\fB-u\fR ¥Õ¥é¥°¤òÍѤ¤¤ë¤È \fB-t\fR ¤Ï̵»ë¤µ¤ì¤ë¡£ +.\"nakano ¤È¤¤¤¦¤Î¤¬¼ÂºÝ¤Îưºî¤Î¤è¤¦¤Ë¸«¤¨¤ë¤Î¤À¤¬¡£ .PP °ìÅÙ¤â¥í¥°¥¤¥ó¤·¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶¤ËÂФ·¤Æ¤Ï¡¢ ¥Ý¡¼¥È¤È»þ¹ï¤ÎÂå¤ï¤ê¤Ë \fB"**Never logged in**"\fR ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/var/log/lastlog \- lastlog µ­Ï¿¥Õ¥¡¥¤¥ë +\fI/var/log/lastlog\fR \- lastlog µ­Ï¿¥Õ¥¡¥¤¥ë .SH ·Ù¹ð -uid ÈÖ¹æ¤ËÂ礭¤ÊÈô¤Ó¤¬¤¢¤ë¤È¡¢ -lastlog ¥×¥í¥°¥é¥à¤ÏĹ»þ´Ö¥¹¥¯¥ê¡¼¥ó¤Ë²¿¤â½ÐÎϤ·¤Ê¤¤¤Þ¤Þ -¼Â¹Ô¤ò³¤±¤ë (¤Ä¤Þ¤ê mmdf=800 ¤ÇºÇ¸å¤Î uid=170¤Î¾ì¹ç¡¢ -uid 171-799 ¤Î´Ö¥×¥í¥°¥é¥à¤Ï²¿¤â½ÐÎϤ·¤Ê¤¤¤Î¤Ç¡¢ +UID ÈÖ¹æ¤ËÂ礭¤ÊÈô¤Ó¤¬¤¢¤ë¤È¡¢ +lastlog ¥×¥í¥°¥é¥à¤ÏĹ»þ´Ö²èÌ̤˲¿¤â½ÐÎϤ·¤Ê¤¤¤Þ¤Þ +¼Â¹Ô¤ò³¤±¤ë (Î㤨¤Ð mmdf ¤¬ 800 ¤ÇºÇ¸å¤Î UID ¤¬ 170 ¤Î¾ì¹ç¡¢ +UID ¤¬ 171-799 ¤Î´Ö¥×¥í¥°¥é¥à¤Ï²¿¤â½ÐÎϤ·¤Ê¤¤¤Î¤Ç¡¢ ¥Ï¥ó¥°¤·¤¿¤è¤¦¤Ë¸«¤¨¤ë)¡£ .SH Ãø¼Ô Julianne Frances Haugh (jockgrrl@ix.netcom.com) -.br +.BR Phillip Street diff --git a/man/ja/limits.5 b/man/ja/limits.5 index 06342315..c0e8e179 100644 --- a/man/ja/limits.5 +++ b/man/ja/limits.5 @@ -1,77 +1,86 @@ +.\"$Id: limits.5,v 1.3 2003/04/28 02:14:00 kloczek Exp $ .\" .\" Japanese Version Copyright (c) 2001 Maki KURODA .\" all right reserved, .\" Translated Mon Nov 5 18:12:16 JST 2001 .\" by Maki KURODA +.\" Modified Tue 18 Sep 2002 by NAKANO Takeo .\" .TH LIMITS 5 .SH ̾Á° -limits \- »ñ¸»À©¸Â¤ÎÄêµÁ +limits \- ¥ê¥½¡¼¥¹À©¸Â¤ÎÄêµÁ .SH ÀâÌÀ .I limits -¥Õ¥¡¥¤¥ë (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï /etc/limits ¡¢config.h ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë LIMITS_FILE) ¤Ï -¶¯À©¤·¤¿¤¤»ñ¸»¤ÎÀ©¸Â¤òµ­½Ò¤¹¤ë¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤Ï root ¤¬½êÍ­¤·¡¢ root ¥¢¥«¥¦¥ó¥È¤Î¤ßÆÉ¤ß¹þ¤ß²Äǽ¤Ç¤¢¤ë¤Ù¤­¤Ç¤¢¤ë¡¥ +¥Õ¥¡¥¤¥ë (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï /etc/limits¡£ +¤¢¤ë¤¤¤Ï config.h ¤ÇÄêµÁ¤·¤¿ LIMITS_FILE) +¤Ë¤Ï¡¢ÀßÄꤷ¤¿¤¤¥ê¥½¡¼¥¹À©¸Â¤òµ­½Ò¤¹¤ë¡£ +¤³¤Î¥Õ¥¡¥¤¥ë¤Ï root ¤¬½êÍ­¤·¡¢ +root ¥¢¥«¥¦¥ó¥È¤Î¤ß¤¬ÆÉ¤ß¹þ¤ß²Äǽ¤È¤¹¤ë¤Ù¤­¤Ç¤¢¤ë¡¥ .PP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï root ¤ËÂФ¹¤ë³ä¤êÅö¤Æ¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£¼ÂºÝ¡¢root ¤ÈƱÅù¤Î¥¢¥«¥¦¥ó¥È ( UID 0 ¤òÈ÷¤¨¤¿¥¢¥«¥¦¥ó¥È) -¤Ø¤Î¤³¤Î¼ê³¤­¤Ë¤è¤Ã¤ÆÀ©¸Â¤¹¤ëÊýË¡¤Ï¤Ê¤¤¡£ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï root ¤ËÂФ¹¤ëÀ©¸Â¤ÏÀßÄê¤Ç¤­¤Ê¤¤¡£ +¼Â¤Ï¡¢root ¤ÈƱÅù¤Î¥¢¥«¥¦¥ó¥È (UID 0 ¤Î¥¢¥«¥¦¥ó¥È) +¤ò¤³¤Î¼êÃʤˤè¤Ã¤ÆÀ©¸Â¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ .PP -³Æ¹Ô¤Ë¤Ï°Ê²¼¤Î·Á¼°¤Ç¥æ¡¼¥¶¤ËÂФ¹¤ëÀ©¸Â¤òµ­½Ò¤¹¤ë¡§ +³Æ¹Ô¤Ë¤Ï°Ê²¼¤Î·Á¼°¤Ç¥æ¡¼¥¶¤ËÂФ¹¤ëÀ©¸Â¤òµ­½Ò¤¹¤ë¡£ .sp .I user LIMITS_STRING .PP -\fBLIMITS_STRING\fP ¤Ï»ñ¸»À©¸Â¤ÎÄêµÁ¤ò¤Ä¤Ê¤²¤¿Ê¸»úÎó¤Ç¤¢¤ë¡£ -³ÆÀ©¸Â¤ÎÄêµÁ¤Ï¡¢1 ʸ»ú¤Î¼±Ê̻Ҥȡ¢¤½¤ì¤Ë³¤¯¿ô»ú¤Çɽ¤·¤¿À©¸ÂÃͤǹ½À®¤µ¤ì¤ë¡£ +\fBLIMITS_STRING\fP ¤Ï¥ê¥½¡¼¥¹À©¸Â¤ÎÄêµÁ¤òÏ¢·ë¤µ¤»¤¿Ê¸»úÎó¤Ç¤¢¤ë¡£ +³ÆÀ©¸Â¤ÎÄêµÁ¤Ï¡¢1 ʸ»ú¤Î¼±Ê̻Ҥȡ¢¤½¤ì¤Ë³¤¯À©¸Â¿ôÃͤ«¤é¤Ê¤ë¡£ .PP -Í­¸ú¤Ê¼±Ê̻Ҥϰʲ¼¤Ç¤¢¤ë¡§ -A: ºÇÂ祢¥É¥ì¥¹¥¹¥Ú¡¼¥¹ (KB) +Í­¸ú¤Ê¼±Ê̻Ҥϰʲ¼¤ÎÄ̤ꡣ +.sp +A: ¥¢¥É¥ì¥¹¶õ´Ö¤ÎºÇÂçÃÍ (KB) .br -C: ºÇÂ祳¥¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º (KB) +C: ¥³¥¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÎºÇÂçÃÍ (KB) .br -D: ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º (KB) +D: ¥Ç¡¼¥¿¥µ¥¤¥º¤ÎºÇÂçÃÍ (KB) .br -F: ºÇÂç¥Õ¥¡¥¤¥ë¥µ¥¤¥º (KB) +F: ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÎºÇÂçÃÍ (KB) .br -M: ¥á¥â¥ê¾å¤Ë³ÎÊݤµ¤ì¤ëºÇÂ祢¥É¥ì¥¹¥¹¥Ú¡¼¥¹ (KB) +M: ¥á¥â¥ê¾å¤Ë¥í¥Ã¥¯¤Ç¤­¤ë¥¢¥É¥ì¥¹¶õ´Ö¤ÎºÇÂçÃÍ (KB) .br -N: ºÇÂ祪¡¼¥×¥ó¥Õ¥¡¥¤¥ë¿ô +N: ¥Õ¥¡¥¤¥ë¥ª¡¼¥×¥ó¿ô¤ÎºÇÂçÃÍ .br -R: ºÇÂç¥ì¥¸¥Ç¥ó¥ÈÀßÄꥵ¥¤¥º (KB) +R: ¥ì¥¸¥Ç¥ó¥È¥»¥Ã¥È¥µ¥¤¥º¤ÎºÇÂçÃÍ (KB) .br -S: ºÇÂ祹¥¿¥Ã¥¯¥µ¥¤¥º (KB) +S: ¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤ÎºÇÂçÃÍ (KB) .br -T: ºÇÂç CPU »þ´Ö (MIN) +T: CPU »þ´Ö¤ÎºÇÂçÃÍ (ʬ) .br -U: ºÇÂç¥×¥í¥»¥¹¿ô +U: ¥×¥í¥»¥¹¿ô¤ÎºÇÂçÃÍ .br -K: \fBumask\fR(2) ¤Ë¤è¤ëÀßÄꤵ¤ì¤ë¡¢¥Õ¥¡¥¤¥ëºîÀ®»þ¤Î mask +K: \fBumask\fR(2) ¤Ë¤è¤êÀßÄꤵ¤ì¤ë¡¢¥Õ¥¡¥¤¥ëºîÀ®»þ¤Î mask .br -L: ¥æ¡¼¥¶¤ÎºÇÂç¥í¥°¥¤¥ó¿ô +L: ¤³¤Î¥æ¡¼¥¶¤ÎƱ»þ¥í¥°¥¤¥ó¿ô¤ÎºÇÂçÃÍ .br P: \fBsetpriority\fR(2) ¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ë¥×¥í¥»¥¹Í¥ÀèÅÙ .PP -Î㤨¤Ð¡¢\fIL2D2048N5\fP ¤ÏÍ­¸ú¤Ê \fBLIMITS_STRING\fP ¤Ç¤¢¤ë¡£ÆÉ¤ß¤ä¤¹¤µ¤ò¹Í¤¨¤Æ¡¢ -2 ÈÖÌܤÎÎã¤Î¤è¤¦¤Ê½ñ¤­Êý¤ò¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡§ +Î㤨¤Ð¡¢\fIL2D2048N5\fP ¤ÏÀµ¤·¤¤ \fBLIMITS_STRING\fP ¤Ç¤¢¤ë¡£ +°Ê²¼¤Î 2 ¤Ä¤ÎÎã¤ÏÅù²Á¤Ç¤¢¤ë¡£2 ÈÖÌܤΤ褦¤ËÆÉ¤ß°×¤¯½ñ¤¯¤³¤È¤â¤Ç¤­¤ë¡£ .sp username L2D2048N5 .br username L2 D2048 N5 .PP -\fIusername\fP ¤Î¸å¤Î¹Ô¤Î»Ä¤ê¤¬À©¸Â¤µ¤ì¤¿Ê¸»úÎó¤È¤·¤Æ°·¤ï¤ì¤ë¤Î¤Ç¡¢ -¥³¥á¥ó¥È¤¬µö²Ä¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£ -̵¸ú¤ÊÀ©¸Âʸ»úÎó¤Ï¡¢login ¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤ÆµñÀ䤵¤ì¤ë(̵»ë¤µ¤ì¤ë)¤À¤í¤¦¡£ +\fIusername\fP °Ê¹ß¤Î¹Ô¤Î»Ä¤ê¤¬À©¸ÂÍѤÎʸ»úÎó¤È¤·¤Æ°·¤ï¤ì¤ë¤Î¤Ç¡¢ +¥³¥á¥ó¥È¤Ï½ñ¤¯¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£ +login ¥×¥í¥°¥é¥à¤Ï¡¢Àµ¤·¤¯¤Ê¤¤À©¸Âʸ»úÎó¤ÏµñÀ䤹¤ë (̵»ë¤¹¤ë)¡£ .PP -¥Ç¥Õ¥©¥ë¥È¤Î»ØÄê¤Ï¥æ¡¼¥¶Ì¾ "\fB*\fP" ¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¡£ -\fBLIMITS_FILE\fP ¤Ë¿¿ô¤Î \fIdefault\fP ¤òÅÐÏ¿¤·¤Æ¤¤¤ë¾ì¹ç¡¢ +¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥æ¡¼¥¶Ì¾¤¬ "\fB*\fP" ¤È¤Ê¤Ã¤Æ¤¤¤ë¤â¤Î¤Ç¤¢¤ë¡£ +\fBLIMITS_FILE\fP ¤ËÊ£¿ô¤Î\fI¥Ç¥Õ¥©¥ë¥È\fP¤òÅÐÏ¿¤¹¤ë¤È¡¢ ºÇ¸å¤Î¤â¤Î¤¬¥Ç¥Õ¥©¥ë¥È»ØÄê¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¡£ .PP -¤¢¤ë¥æ¡¼¥¶¤Ø¤ÎÀ©¸Â¤ò´°Á´¤Ë̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢¥·¥ó¥°¥ë¥À¥Ã¥·¥å "\fB-\fP" ¤ò»ÈÍѤ¹¤ë¡£ +¤¢¤ë¥æ¡¼¥¶¤Ø¤ÎÀ©¸Â¤ò´°Á´¤Ë̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢ +¥·¥ó¥°¥ë¥À¥Ã¥·¥å "\fB-\fP" ¤ò»ÈÍѤ¹¤ë¡£ .PP -¤µ¤é¤Ë¡¢Á´¤Æ¤ÎÀ©¸Â¤ÎÀßÄê¤Ï¡Ö¥í¥°¥¤¥óËè¡×¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£ -¤½¤ì¤é¤Ï¥°¥í¡¼¥Ð¥ë¤Ç¤Ï¤Ê¤¯¤Þ¤¿¡¢±Êµ×¤Ç¤Ï¤Ê¤¤¡£¥°¥í¡¼¥Ð¥ë¤ÊÀ©¸Â¤¬²Äǽ¤Ë¤Ê¤ë¤È¤­¤¬ -Íè¤ë¤À¤í¤¦¤¬¡¢º£¤Î¤È¤³¤í¤Ï¡Ö¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¡×¤Ç¤¢¤ë¡£;) +¤µ¤é¤Ë¡¢Á´¤Æ¤ÎÀ©¸Â¤ÎÀßÄê¤Ï¡Ö¥í¥°¥¤¥óñ°Ì¡×¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£ +À©¸Â¤Ï¥°¥í¡¼¥Ð¥ë¤Ç¤Ï¤Ê¤¯¡¢±Ê³Ū¤Ç¤â¤Ê¤¤¡£ +¥°¥í¡¼¥Ð¥ë¤ÊÀ©¸Â¤Ï¤¤¤º¤ì²Äǽ¤Ë¤Ê¤ë¤À¤í¤¦¤¬¡¢ +º£¤Î¤È¤³¤í¤Ï¡ÖTO DO¡×¤Ç¤¢¤ë¡£;) +.\"nakano ÆóÈÖÌܤÎʸ¤³¤ì¤Ç¤¤¤¤¤Î¤«¤Ê¤¢¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/limits +\fI/etc/limits\fR .SH ´ØÏ¢¹àÌÜ .BR login (1), .BR setpriority (2), diff --git a/man/ja/login.1 b/man/ja/login.1 index c51bc782..63738929 100644 --- a/man/ja/login.1 +++ b/man/ja/login.1 @@ -1,3 +1,4 @@ +.\"$Id: login.1,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,24 +26,23 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: login.1,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka .\" Updated Fri Jan 12 04:05:44 JST 2001 .\" by Kentaro Shirakata +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH LOGIN 1 .SH ̾Á° -login \- ¥·¥¹¥Æ¥à¾å¤Ë¥»¥Ã¥·¥ç¥ó¤ò³«¤¯ +login \- ¥·¥¹¥Æ¥à¾å¤Ç¥»¥Ã¥·¥ç¥ó¤ò³«¤¯ .SH ½ñ¼° -\fBlogin\fR [\fB-p\fR] [\fIusername\fR] [\fIENV=VAR ...\fR] +\fBlogin\fR [\fB-p\fR] [\fIusername\fR] [\fIENV=VAR\fR ...] .br -\fBlogin\fR [\fB-p\fR] [\fB-h\fR \fIhost\fR] [\fB-f\fR \fIusername\fR] +\fBlogin\fR [\fB-p\fR] [\fB-h \fIhost\fR] [\fB-f \fIusername\fR] .br -\fBlogin\fR [\fB-p\fR] \fB-r\fR \fIhost\fR +\fBlogin\fR [\fB-p\fR] \fB-r \fIhost\fR .SH ÀâÌÀ .B login ¤Ï¥·¥¹¥Æ¥à¤Ë¿·¤¿¤Ë¥»¥Ã¥·¥ç¥ó¤ò³«¤¯¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ @@ -50,148 +50,103 @@ login \- .I login: ¤È¤¤¤¦¥×¥í¥ó¥×¥È¤Ë±þ¤¸¤ë»ö¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ëµ¯Æ°¤µ¤ì¤ë¡£ .B login -¤Ï¥·¥§¥ë¤Ë¤Î¤ß¸ÂÄꤵ¤ì¤Æ¤ª¤ê¡¢¥µ¥Ö¥×¥í¥»¥¹¤È¤·¤Æµ¯Æ°¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¡£ -ŵ·¿Åª¤Ë¤Ï¡¢¥·¥§¥ë¤Ï +¤Ï¥·¥§¥ëÀìÍѤΤâ¤Î¤Ç¤¢¤ê¡¢ +¥µ¥Ö¥×¥í¥»¥¹¤È¤·¤Æµ¯Æ°¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ +Ä̾亮¥§¥ë¤Ï .B login ¤ò -\fBexec login\fR¤È¸«Ðö¤¹¤Î¤Ç¡¢¥æ¡¼¥¶¤Ï¸½ºß¤Î¥·¥§¥ë¤«¤éÈ´¤±¤ë¤³¤È¤Ë¤Ê¤ë¡£ -¥í¥°¥¤¥ó¥·¥§¥ë°Ê³°¤«¤é\fBlogin\fR¤òµ¯Æ°¤·¤è¤¦¤È¤¹¤ë¤È¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬ -ɽ¼¨¤µ¤ì¤ë¡£ +\fBexec login\fR ¤È¤ß¤Ê¤¹¤Î¤Ç¡¢¥æ¡¼¥¶¤Ï¸½ºß¤Î¥·¥§¥ë¤«¤éÈ´¤±¤ë¤³¤È¤Ë¤Ê¤ë¡£ +¥í¥°¥¤¥ó¥·¥§¥ë°Ê³°¤«¤é \fBlogin\fR ¤òµ¯Æ°¤·¤è¤¦¤È¤¹¤ë¤È¡¢ +¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¡£ .PP -\fIlogin:\fR¥×¥í¥ó¥×¥È¤«¤éµ¯Æ°¤·¤¿ºÝ¤Ï¡¢¥æ¡¼¥¶Ì¾¤Ë³¤¤¤Æ´Ä¶­ÊÑ¿ô¤òÆþÎÏ -¤¹¤ë»ö¤â¤Ç¤­¤ë¡£ -¤½¤ì¤é¤òÆþÎϤ¹¤ë¾ì¹ç¤Ï\fBNAME=VALUE\fR¤È¤¤¤¦½ñ¼°¤Ç¹Ô¤¦¡£ +\fIlogin:\fR¥×¥í¥ó¥×¥È¤«¤éµ¯Æ°¤·¤¿ºÝ¤Ï¡¢ +¥æ¡¼¥¶Ì¾¤Ë³¤¤¤Æ´Ä¶­ÊÑ¿ô¤òÆþÎϤ¹¤ë»ö¤â¤Ç¤­¤ë¡£ +¤½¤ì¤é¤òÆþÎϤ¹¤ë¾ì¹ç¤Ï \fBNAME=VALUE\fR ¤È¤¤¤¦½ñ¼°¤Ç¹Ô¤¦¡£ ¤³¤ÎÊýË¡¤ÇÁ´¤Æ¤ÎÊÑ¿ô¤òÀßÄê¤Ç¤­¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ -ÀßÄê¤Ç¤­¤Ê¤¤¤â¤Î¤ÎÂåɽÎã¤È¤·¤Æ¡¢\fBPATH\fR, \fBHOME\fR, \fBSHELL\fR¤¬ -¤¢¤ë¡£ -²Ã¤¨¤Æ¡¢¥í¥°¥¤¥ó¥·¥§¥ë¤¬\fB/bin/sh\fR¤Î¾ì¹ç¤Ï\fBIFS\fR¤ÎÀßÄê¤â -¹Ô¤¦»ö¤¬½ÐÍè¤Ê¤¤¡£ +Î㤨¤Ð +\fBPATH\fR, \fBHOME\fR, \fBSHELL\fR +¤Ê¤É¤ÏÀßÄê¤Ç¤­¤Ê¤¤¡£ +¤µ¤é¤Ë¥í¥°¥¤¥ó¥·¥§¥ë¤¬ \fB/bin/sh\fR ¤Î¾ì¹ç¤Ï +\fBIFS\fR ¤âÀßÄê¤â¤Ç¤­¤Ê¤¤¡£ .PP -¼¡¤¤¤Ç¡¢É¬Íפʤé¤Ð¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòÂ¥¤µ¤ì¤ë¡£ -¥Ñ¥¹¥ï¡¼¥É¤òÌÀ¤«¤·¤Æ¤·¤Þ¤ï¤Ê¤¤¤¿¤á¤Ë¡¢¥¨¥³¡¼¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ -¿ô²ó°Ê¾å¥Ñ¥¹¥ï¡¼¥ÉÆþÎϤ˼ºÇÔ¤¹¤ë¤È\fBlogin\fR¤Ï½ªÎ»¤·ÄÌ¿®¤ÎÀܳ¤Ï -ÀÚÃǤµ¤ì¤Æ¤·¤Þ¤¦¡£ +¼¡¤¤¤Ç¡¢É¬Íפʾì¹ç¤Ë¤Ï¡¢¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ +¥Ñ¥¹¥ï¡¼¥É¤òɽ¼¨¤·¤Æ¤·¤Þ¤ï¤Ê¤¤¤è¤¦¡¢¥¨¥³¡¼¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ +¿ô²ó°Ê¾å¥Ñ¥¹¥ï¡¼¥ÉÆþÎϤ˼ºÇÔ¤¹¤ë¤È +\fBlogin\fR ¤Ï½ªÎ»¤·¡¢ÄÌ¿®¤ÎÀܳ¤ÏÀÚÃǤµ¤ì¤Æ¤·¤Þ¤¦¡£ .PP ¥¢¥«¥¦¥ó¥È¤ËÂФ·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ Àè¤Ë¿Ê¤àÁ°¤Ë¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¤òÂ¥¤µ¤ì¤ë¤³¤È¤â¤¢¤ë¡£ -¥»¥Ã¥·¥ç¥ó¤ò³¤±¤ë¤¿¤á¤Ë¤Ï¸Å¤¤¥Ñ¥¹¥ï¡¼¥ÉµÚ¤Ó¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆþÎÏ -¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¾Ü¤·¤¤¾ðÊó¤Ï\fBpasswd\fR (1)¤ò»²¾È¤»¤è¡£ +¥»¥Ã¥·¥ç¥ó¤ò³¤±¤ë¤¿¤á¤Ë¤Ï¸Å¤¤¥Ñ¥¹¥ï¡¼¥É¤È +¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¾Ü¤·¤¤¾ðÊó¤Ï \fBpasswd\fR(1) ¤ò»²¾È¤¹¤ë¤³¤È¡£ .PP -¥í¥°¥¤¥ó¤ËÀ®¸ù¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¾ðÊó¤ä¥á¥¤¥ë¤Î̵ͭ¤¬É½¼¨¤µ¤ì¤ë¡£ -¥í¥°¥¤¥ó¥Ç¥£¥ì¥¯¥È¥ê¤ËŤµ 0 ¤Î¥Õ¥¡¥¤¥ë\fI.hushlogin\fR¤òºî¤Ã¤Æ¤ª¤¯¤³¤È¤Ç¡¢ -¥·¥¹¥Æ¥à¤Î¥á¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë¡¢Â¨¤Á\fI/etc/motd\fR¤¬É½¼¨¤µ¤ì¤Ê¤¯¤¹¤ë¤³¤È -¤â½ÐÍè¤ë¡£ -¥á¥¤¥ë¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤È¤·¤Æ¤Ï¡¢¥á¥¤¥ë¥Ü¥Ã¥¯¥¹¤Î¾õÂ֤ˤè¤Ã¤Æ +¥í¥°¥¤¥ó¤ËÀ®¸ù¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¥á¥Ã¥»¡¼¥¸¤ä¥á¡¼¥ë¤Î̵ͭ¤¬É½¼¨¤µ¤ì¤ë¡£ +¥í¥°¥¤¥ó¥Ç¥£¥ì¥¯¥È¥ê¤ËŤµ 0 ¤Î¥Õ¥¡¥¤¥ë \fI.hushlogin\fR ¤òºî¤Ã¤Æ¤ª¤±¤Ð¡¢ +¥·¥¹¥Æ¥à¥á¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë +\fI/etc/motd\fR ¤Îɽ¼¨¤ò̵¸ú¤Ë¤Ç¤­¤ë¡£ +¥á¡¼¥ë¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤Ï¡¢¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Î¾õÂ֤ˤè¤Ã¤Æ "\fBYou have new mail.\fR", -"\fBYou have mail.\fR", "\fBNo Mail.\fR"¤Î¤¤¤º¤ì¤¬É½¼¨¤µ¤ì¤ë¡£ +"\fBYou have mail.\fR", +"\fBNo Mail.\fR" +¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ë¡£ .PP -¥æ¡¼¥¶µÚ¤Ó¥°¥ë¡¼¥×¤ÎID¤Ï\fI/etc/passwd\fR¥Õ¥¡¥¤¥ëÃæ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ëÃÍ -¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£ -\fB$HOME\fR, \fB$SHELL\fR, \fB$PATH\fR, \fB$LOGNAME\fR, \fB$MAIL\fR¤ÎÃÍ -¤Ï¥Ñ¥¹¥ï¡¼¥É¥¨¥ó¥È¥ê¡¼Ãæ¤ÎÂбþ¤¹¤ëÍó¤Ëµ­¤µ¤ì¤¿Ãͤˤè¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£ -ulimit, umask, niceÃͤò GECOS Íó¤Î¥¨¥ó¥È¥ê¡¼¤Ë¤è¤Ã¤ÆÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +¥æ¡¼¥¶ ID ¤È¥°¥ë¡¼¥×¤Î ID ¤Ï +\fI/etc/passwd\fR ¥Õ¥¡¥¤¥ëÃæ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ëÃͤ˽¾¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£ +\fB$HOME\fR, \fB$SHELL\fR, \fB$PATH\fR, \fB$LOGNAME\fR, \fB$MAIL\fR +¤ÎÃͤϡ¢¥Ñ¥¹¥ï¡¼¥É¥¨¥ó¥È¥ê¤Î¤½¤ì¤¾¤ì¤Î¥Õ¥£¡¼¥ë¥É¤Ë½¾¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£ +ulimit, umask, nice Ãͤ¬¡¢ +GECOS ¥Õ¥£¡¼¥ë¥É¤Î¥¨¥ó¥È¥ê¡¼¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ë¤³¤È¤â¤¢¤ë¡£ .PP -¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¡¢ -tty¥Ç¥Ð¥¤¥¹¤ÎüËö¤Î¼ïÎà¤Ë¤¢¤ï¤»¤Æ¡¢ -´Ä¶­ÊÑ¿ô\fB$TERM\fR¤¬ -\fI/etc/ttytype\fR¤Ë»ØÄꤵ¤ì¤¿Ä̤ê¤Ë½é´ü²½¤µ¤ì¤ë¡£ +¥¤¥ó¥¹¥È¡¼¥ë»þ¤ÎÀßÄê¤Ë¤è¤Ã¤Æ¤Ï¡¢ +\fI/etc/ttytype\fR ¤Î»ØÄê¤Ë½¾¤Ã¤Æ¡¢ +´Ä¶­ÊÑ¿ô\fB$TERM\fR¤¬ tty Àܳ¤ÎüËö¤Î·¿ (terminal type) +¤Ë½é´ü²½¤µ¤ì¤ë¤³¤È¤â¤¢¤ë¡£ .PP ¥³¥Þ¥ó¥É¥¤¥ó¥¿¥×¥ê¥¿¤Î½é´ü²½¥¹¥¯¥ê¥×¥È¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤â¤¢¤ë¡£ ¤³¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Î¾Ü¤·¤¤¾ðÊó¤ÏŬÅö¤Ê¥Þ¥Ë¥å¥¢¥ë¥»¥¯¥·¥ç¥ó¤ò»²¾È¤Î¤³¤È¡£ .PP -¥µ¥Ö¥·¥¹¥Æ¥à¥í¥°¥¤¥ó¤Ï¥í¥°¥¤¥ó¥·¥§¥ë¤ÎºÇ½é¤Îʸ»ú¤È¤·¤Æ -"*" ¤òÃÖ¤¯¤³¤È¤Ç»ØÄꤹ¤ë¡£ -Í¿¤¨¤é¤ì¤¿¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥æ¡¼¥¶¤¬¼ÂºÝ¤Ë¥í¥°¥¤¥ó¤¹¤ë -¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È¤È¤·¤Æ°·¤ï¤ì¤ë¡£ +¥µ¥Ö¥·¥¹¥Æ¥à¥í¥°¥¤¥ó¤Ç¤Ï¡¢ +¥í¥°¥¤¥ó¥·¥§¥ë¤ÎºÇ½é¤Îʸ»ú¤Ë "*" ¤òÃÖ¤¯¡£ +ÅϤµ¤ì¤¿¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ +¥æ¡¼¥¶¤¬¼ÂºÝ¤Ë¥í¥°¥¤¥ó¤¹¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È¤È¤·¤Æ°·¤ï¤ì¤ë¡£ .SH ¥ª¥×¥·¥ç¥ó .TP .B -p ´Ä¶­¤òÊݸ¤¹¤ë¡£ .TP .B -f -¥æ¡¼¥¶¤Ï»öÁ°Ç§¾Ú¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¤·¤Æ¡¢Ç§¾Úưºî¤ò¹Ô¤Ê¤ï¤Ê¤¤¡£ +¥æ¡¼¥¶¤Ï¤¹¤Ç¤Ëǧ¾Ú¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¤·¤Æ¡¢Ç§¾Úưºî¤ò¹Ô¤Ê¤ï¤Ê¤¤¡£ .TP .B -h -¤³¤Î¥í¥°¥¤¥ó¤Î¤¿¤á¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¡£ +¤³¤Î¥í¥°¥¤¥ó¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¡£ .TP .B -r -rlogin ¤Î¤¿¤á¤Î¼«Æ°¥í¥°¥¤¥ó¥×¥í¥È¥³¥ë¤ò¼Â¹Ô¤¹¤ë¡£ +rlogin ¤Î¼«Æ°¥í¥°¥¤¥ó¥×¥í¥È¥³¥ë¤ò¼Â¹Ô¤¹¤ë¡£ .PP -\fB-r\fP, \fB-h\fP, \fB-f\fP ¥ª¥×¥·¥ç¥ó¤Ï \fBlogin\fP ¤¬ root ¤È¤·¤Æµ¯Æ°¤µ¤ì¤¿ -¾ì¹ç¤Ë¤Î¤ßÍѤ¤¤é¤ì¤ë¡£ +\fB-r\fP, \fB-h\fP, \fB-f\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢ +root ¤¬ \fBlogin\fP ¤òµ¯Æ°¤·¤¿¾ì¹ç¤Ë¤Î¤ßÍѤ¤¤ë¡£ .SH ·Ù¹ð +¤³¤ÎÈǤΠ\fBlogin\fR ¤Ë¤Ï¿¤¯¤Î¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤¬¡¢ +¥µ¥¤¥È¤Ë¤è¤Ã¤Æ¤Ï¤³¤Î¤¦¤Á¤Î°ìÉô¤·¤«»È¤ï¤ì¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£ .PP -¤³¤ÎÈǤÎ\fBlogin\fR¤Ë¤Ï¿¤¯¤Î¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤¬¡¢ -¥µ¥¤¥È¤Ë¤è¤Ã¤Æ¤Ï¡¢¤½¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤·¤«»È¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â¤¢¤ë¡£ -.PP -¥·¥¹¥Æ¥à¤ÎÀßÄê¤Î°ã¤¤¤Ë¤è¤Ã¤Æ¾åµ­¥Õ¥¡¥¤¥ë¤Îºß½è¤Ï¤«¤ï¤ë¡£ -.SH shadow ¥í¥°¥¤¥ó¥×¥í¥°¥é¥à¤Ç¤Î¥æ¡¼¥¶À©¸Â¤ÎÀßÄêÊýË¡ -.PP -¤Þ¤º¡¢¥ê¥½¡¼¥¹¤ËÂФ·¤Æ²Ý¤·¤¿¤¤À©¸Â¤òµ­¤·¤¿¡¢root ¤Î¤ß¤¬ÆÉ¤à¤³¤È¤Î½ÐÍè¤ë -¥Õ¥¡¥¤¥ë(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fB/etc/limits\fR¡¢ -¤Þ¤¿¤Ï config.h Ãæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë LIMITS_FILE ¤Ç»ØÄꤷ¤¿¤â¤Î)¤òºî¤ë¡£ -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢'root'¤Ë¤Ï quota ¤ÎÀ©¸Â¤Ï²Ý¤µ¤ì¤Ê¤¤¡£ -¼ÂºÝ¤Î¤È¤³¤í¡¢¤³¤Î¼êË¡¤Ë¤è¤Ã¤Æ root ¤ÈƱ¸¢¤Î¥¢¥«¥¦¥ó¥È(UID ¤¬ 0 ¤Î¥¢¥«¥¦¥ó¥È) -¤ËÀ©¸Â¤ò²Ý¤¹¼êΩ¤Æ¤Ï¸ºß¤·¤Ê¤¤¡£ -.PP -³Æ¹Ô¤Ë¤Ï°Ê²¼¤Î½ñ¼°¤Ç¥æ¡¼¥¶¤Ø¤ÎÀ©¸Â¤ò½ñ¤¤¤Æ¤ª¤¯¡£ -.br -\fBuser LIMITS_STRING\fR -.PP -\fBLIMITS_STRING\fR¤Ï¥ê¥½¡¼¥¹¤ËÂФ¹¤ëÀ©¸Â¤Î¥ê¥¹¥È¤òÏ¢·ë¤·¤¿ -ʸ»úÎó¤Ç¤¢¤ë¡£ -³ÆÀ©¸Â¤Ï¼±Ê̻Ұìʸ»ú¤È¤½¤ì¤Ë³¤¯À©¸Â¿ôÃͤˤè¤Ã¤Æ»ØÄꤹ¤ë¡£ -¼±Ê̻ҤȤ·¤ÆÍ­¸ú¤Ê¤â¤Î¤Ï: -.br -\fBC\fR: core ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÎºÇÂçÃÍ (KB) -.br -\fBD\fR: ºÇÂç¤Î¥Ç¡¼¥¿¥µ¥¤¥º (KB) -.br -\fBF\fR: ºÇÂç¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º (KB) -.br -\fBM\fR: ¥á¥â¥êÃæ¤ÇÀêÍ­¤¹¤ë¤³¤È¤Î½ÐÍè¤ë¥¢¥É¥ì¥¹¶õ´Ö¤ÎºÇÂçÃÍ (KB) -.br -\fBN\fR: ³«¤¯¤³¤È¤Î½ÐÍè¤ë¥Õ¥¡¥¤¥ë¿ô¤ÎºÇÂçÃÍ -.br -\fBR\fR: ¾ïÃ󤵤»¤é¤ì¤ëºÇÂ祵¥¤¥º (KB) -.br -\fBS\fR: ºÇÂç¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º (KB) -.br -\fBT\fR: ºÇÂç CPU ¥¿¥¤¥à (ʬ) -.br -\fBU\fR: ºÇÂç¥×¥í¥»¥¹¿ô -.br -\fBL\fR: ¥í¥°¥¤¥ó½ÐÍè¤ë¿ô¤ÎºÇÂçÃÍ -.PP -Î㤨¤Ð¡¢\fBL2D2048N5\fR¤ÏÀµ¤·¤¤\fBLIMITS_STRING\fR¤Ç¤¢¤ë¡£ -.PP -¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥ó¥È¥ê¡¼¤Ï'\fB*\fR'¤È¤¤¤¦¥æ¡¼¥¶Ì¾¤Çɽ¤µ¤ì¤ë¡£ -LIMITS_FILE Ãæ¤ËÊ£¿ô¤Î'¥Ç¥Õ¥©¥ë¥È'¥¨¥ó¥È¥ê¡¼¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ -ºÇ¸å¤Î¤â¤Î¤¬¥Ç¥Õ¥©¥ë¥È¥¨¥ó¥È¥ê¡¼¤È¤·¤ÆÍѤ¤¤é¤ì¤ë¡£ +¥·¥¹¥Æ¥àÀßÄê¤Î°ã¤¤¤Ë¤è¤Ã¤Æ¾åµ­¥Õ¥¡¥¤¥ë¤ÎÃÖ¤­¾ì½ê¤ÏÊѤï¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/utmp \- ¸½ºß¤Î¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤Î¥ê¥¹¥È +\fI/var/log/utmp\fR \ - ¸½ºß¤Î¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤Î¥ê¥¹¥È .br -/etc/wtmp \- ľÁ°¤Î¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤Î¥ê¥¹¥È +\fI/var/run/wtmp\fR \ - ²áµî¤Î¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤Î¥ê¥¹¥È .br -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Î¾ðÊó +\fI/etc/passwd\fR \ - ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- shadow ¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥ÉµÚ¤Ó¡¢´ü¸Â¤Î¾ðÊó +\fI/etc/shadow\fR \ - °Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤ÈÍ­¸ú´ü¸Â¾ðÊó .br -/etc/motd \- ¥·¥¹¥Æ¥à¥á¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë +\fI/etc/motd\fR \ - ¥·¥¹¥Æ¥à¥á¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë .br -/etc/nologin \- root °Ê³°¤Î¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¤òÍÞÀ©¤¹¤ë +\fI/etc/nologin\fR \ - root °Ê³°¤Î¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¤ò¶Ø»ß¤¹¤ë .br -/etc/ttytype \- üËö¤Î¼ïÎà¤Î¥ê¥¹¥È -.br -/etc/limits \- ¥æ¡¼¥¶¤Ë²Ý¤¹¥·¥¹¥Æ¥à¥ê¥½¡¼¥¹¤Ø¤ÎÀ©¸Â -.br -$HOME/.profile \- ¥Ç¥Õ¥©¥ë¥È¥·¥§¥ë¤Î½é´ü²½¥¹¥¯¥ê¥×¥È -.br -$HOME/.hushlogin \- ¥·¥¹¥Æ¥à¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨¤ò¤È¤á¤ë +\fI/etc/ttytype\fR \ - üËö¤Î·¿¤Î¥ê¥¹¥È .br +\fI$HOME/.hushlogin\fR \- ¥·¥¹¥Æ¥à¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨¤òÍÞÀ©¤¹¤ë .SH ´ØÏ¢¹àÌÜ -.PP .BR mail (1), .BR passwd (1), .BR sh (1), @@ -202,4 +157,4 @@ $HOME/.hushlogin \- .BR passwd (5), .BR getty (8) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/login.access.5 b/man/ja/login.access.5 index 6c4ef81c..2d97167c 100644 --- a/man/ja/login.access.5 +++ b/man/ja/login.access.5 @@ -1,54 +1,68 @@ -.\" This page is originally in the shadow package. -.\" -.\" Translated Fri 14 Feb 1997 by Kazuyoshi Furutaka -.\" +.\"$Id: login.access.5,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" this is comment +.\" +.\" This page is originally in the shadow package. +.\" Translated Fri 14 Feb 1997 +.\" by Kazuyoshi Furutaka +.\" Modified Tue 18 Sep 2002 by NAKNAO Takeo +.\" .TH LOGIN.ACCESS 5 .\" .Dt SKEY.ACCESS 5 .\" .Os FreeBSD 1.2 .SH ̾Á° -login.access \- ¥í¥°¥¤¥ó¥¢¥¯¥»¥¹¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¥Æ¡¼¥Ö¥ë +login.access \- ¥í¥°¥¤¥ó¥¢¥¯¥»¥¹¤ÎÀ©¸æÉ½ .SH ÀâÌÀ .I login.access -¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥í¥°¥¤¥ó¤òµö²ÄËô¤ÏµñÀ䤹¤ë(¥æ¡¼¥¶, ¥Û¥¹¥È)¤ÎÁȵڤÓ/Ëô¤Ï -(¥æ¡¼¥¶, tty)¤ÎÁȤߤ¢¤ï¤»¤ò»ØÄꤹ¤ë¡£ +¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥í¥°¥¤¥ó¤òµö²Ä¤Þ¤¿¤ÏµñÀ䤹¤ë¡¢ +(¥æ¡¼¥¶, ¥Û¥¹¥È) ¤ä (¥æ¡¼¥¶, tty) ¤ÎÁȤ߹ç¤ï¤»¤ò»ØÄꤹ¤ë¡£ .PP -狼¤¬¥í¥°¥¤¥ó¤·¤¿ºÝ¤Ï¡¢ +狼¤¬¥í¥°¥¤¥ó¤¹¤ë¤È¡¢ .I login.access -¥Õ¥¡¥¤¥ë¤¬¥¹¥­¥ã¥ó¤µ¤ì¡¢ºÇ½é¤ËÉä¹ç¤¹¤ë(¥æ¡¼¥¶,¥Û¥¹¥È)¤ÎÁȹ礻¡¢¤â¤·¤¯¤Ï -¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Î¥í¥°¥¤¥ó¤Ç¤Ê¤¤¾ì¹ç¤ÏºÇ½é¤ËÉä¹ç¤¹¤ë(¥æ¡¼¥¶, tty)¤ÎÁÈ¤ß -¹ç¤ï¤»¤òõ¤¹¡£ -¤³¤Î¥Æ¡¼¥Ö¥ë¤Îµö²ÄÍó¤Ë¤è¤Ã¤Æ¥í¥°¥¤¥ó¤¬µö²Ä¤µ¤ì¤ë¤«µñÀ䤵¤ì¤ë¤«¤¬·è¤Þ¤ë¡£ +¥Õ¥¡¥¤¥ë¤¬¥¹¥­¥ã¥ó¤µ¤ì¡¢ºÇ½é¤Ë¥Þ¥Ã¥Á¤¹¤ë +(¥æ¡¼¥¶,¥Û¥¹¥È) ¤ÎÁÈ¡¢ +¤¢¤ë¤¤¤Ï¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Î¥í¥°¥¤¥ó¤Ç¤Ê¤¤¾ì¹ç¤ÏºÇ½é¤Ë¥Þ¥Ã¥Á¤¹¤ë +(¥æ¡¼¥¶, tty) ¤ÎÁȤòõ¤¹¡£ +¤³¤Î¥Æ¡¼¥Ö¥ë¤Îµö²Ä¥Õ¥£¡¼¥ë¥É¤Ë¤è¤Ã¤Æ¡¢ +¥í¥°¥¤¥ó¤¬µö²Ä¤µ¤ì¤ë¤«µñÀ䤵¤ì¤ë¤«¤¬·è¤Þ¤ë¡£ .PP -¥í¥°¥¤¥ó¥¢¥¯¥»¥¹À©¸æÉ½¤Î³Æ¹Ô¤Ë¤Ï3¤Ä¤ÎÍ󤬤¢¤ê¡¢Ê¸»ú":"¤Çʬ³ä¤µ¤ì¤Æ¤¤¤ë: +¥í¥°¥¤¥ó¥¢¥¯¥»¥¹À©¸æÉ½¤Î³Æ¹Ô¤Ï 3 ¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤«¤é¤Ê¤ê¡¢ +ʸ»ú ":" ¤Çʬ³ä¤µ¤ì¤ë¡£ .sp 1 -.IR µö²Ä : ¥æ¡¼¥¶ : Àܳ¸µ +.IR permission : users : origins .sp 1 -ºÇ½é¤ÎÍó¤Ï"\fB+\fR"(¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë)¤â¤·¤¯¤Ï"\fB-\fR"(¥¢¥¯¥»¥¹¤òµñÈݤ¹¤ë)¤Ç¤Ê¤¯¤Æ¤Ï -¤Ê¤é¤Ê¤¤¡£ -ÆóÈÖÌܤÎÍó¤Ï°ì¤Ä°Ê¾å¤Î¥í¥°¥¤¥ó̾¤Þ¤¿¤Ï¥°¥ë¡¼¥×̾¡¢¤â¤·¤¯¤Ï +ºÇ½é¤Î¥Õ¥£¡¼¥ë¥É¤Ï "\fB+\fR" (¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë) ¤« +"\fB-\fR" (¥¢¥¯¥»¥¹¤òµñÈݤ¹¤ë) ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +ÆóÈÖÌܤΥե£¡¼¥ë¥É¤Ï¡¢°ì¤Ä°Ê¾å¤Î¥í¥°¥¤¥ó̾¤ä¥°¥ë¡¼¥×̾¡¢ +¤â¤·¤¯¤Ï .B ALL -(ɬ¤ºÉä¹ç¤¹¤ë) -¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -»°ÈÖÌܤÎÍó¤Ï¡¢°ì¤Ä°Ê¾å¤Îtty̾(¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¤Ê¤¤¥í¥°¥¤¥ó¤Î¾ì¹ç)¡¢ -¥Û¥¹¥È̾¡¢("\fB.\fR"¤Ç»Ï¤Þ¤ë)¥É¥á¥¤¥ó̾¡¢¥Û¥¹¥È¥¢¥É¥ì¥¹¡¢¤Þ¤¿¤Ï("\fB.\fR"¤Ç½ª¤ï¤ë) -¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯Èֹ椫¤é¤Ê¤ë¥ê¥¹¥È¡¢ +(ɬ¤º¥Þ¥Ã¥Á¤¹¤ë) +¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +»°ÈÖÌܤΥե£¡¼¥ë¥É¤Ï¡¢ +tty ̾ (¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¤Ê¤¤¥í¥°¥¤¥ó¤Î¾ì¹ç)¡¢ +¥Û¥¹¥È̾¡¢ +¥É¥á¥¤¥ó̾ ("\fB.\fR"¤Ç»Ï¤Þ¤ë)¡¢ +¥Û¥¹¥È¥¢¥É¥ì¥¹¡¢ +¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯ÈÖ¹æ ("\fB.\fR"¤Ç½ª¤ï¤ë)¡¢ +¤Î¤Ò¤È¤Ä°Ê¾å¤Î¹½À®Í×ÁǤ«¤é¤Ê¤ë¥ê¥¹¥È¤Ç¤¢¤ë¤«¡¢ .B ALL -(ɬ¤ºÉä¹ç¤¹¤ë)Ëô¤Ï +(ɬ¤º¥Þ¥Ã¥Á¤¹¤ë) ¤Þ¤¿¤Ï .B LOCAL -("\fB.\fR"¤òÁ´¤¯´Þ¤Þ¤Ê¤¤Ê¸»úÎóÁ´¤Æ¤ËÉä¹ç¤¹¤ë)¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -NIS¤ò±¿ÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Û¥¹¥ÈËô¤Ï¥æ¡¼¥¶¤Î¥Ñ¥¿¡¼¥óÃæ¤Ë@netgroupname -¤ò»ØÄꤹ¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +("\fB.\fR"¤òÁ´¤¯´Þ¤Þ¤Ê¤¤Ê¸»úÎóÁ´¤Æ¤Ë¥Þ¥Ã¥Á¤¹¤ë) +¤Î¤¤¤º¤ì¤«¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +NIS ¤ò±¿ÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Û¥¹¥È¤ä¥æ¡¼¥¶¤Î¥Ñ¥¿¡¼¥ó¤Ç +@netgroupname ¤¬»È¤¨¤ë¡£ .PP .B EXCEPT -¥ª¥Ú¥ì¡¼¥¿¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤ê¡¢¤È¤Æ¤â´Êά¤Ë¥ë¡¼¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +¥ª¥Ú¥ì¡¼¥¿¤òÍѤ¤¤ë¤È¡¢ +Èó¾ï¤Ë´Êά¤Ë¥ë¡¼¥ë¤ò»ØÄê¤Ç¤­¤ë¡£ .PP -¥í¥°¥¤¥ó¤¹¤ë¥æ¡¼¥¶Ì¾¤¬¤¤¤º¤ì¤Î̾Á°¤È¤âÉä¹ç¤·¤Ê¤¤¾ì¹ç¤Î¤ß¡¢group¥Õ¥¡¥¤¥ë -¤ò¸¡º÷¤¹¤ë¡£ -¥æ¡¼¥¶Ì¾¤¬Íۤ˵­¤µ¤ì¤Æ¤¤¤ë¥°¥ë¡¼¥×¤Ë¤Î¤ßÉä¹ç¤¹¤ë: ¥×¥í¥°¥é¥à¤Ï¥æ¡¼¥¶¤Î -¼ç¥°¥ë¡¼¥×¤ÎidÈÖ¹æËø¤Ï¸«¤Ê¤¤¡£ +group ¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤ë¤Î¤Ï¡¢ +¥í¥°¥¤¥ó¤¹¤ë¥æ¡¼¥¶Ì¾¤¬Ì¾Á°¤Ë¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¸Â¤é¤ì¤ë¡£ +¥Þ¥Ã¥Á¤¹¤ë¥°¥ë¡¼¥×¤Ï¡¢ +group ¥Õ¥¡¥¤¥ëÃæ¤Ç¥æ¡¼¥¶Ì¾¤¬ÌÀ¼¨Åª¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ë¸Â¤é¤ì¤ë¡£ +¤³¤Î¥×¥í¥°¥é¥à¤Ï¥æ¡¼¥¶¤Î¼ç¥°¥ë¡¼¥×¤Î ID ÈÖ¹æ¤Þ¤Ç¤Ï¸«¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/login.access +\fI/etc/login.access\fR .SH ´ØÏ¢¹àÌÜ .BR login (1) .SH Ãø¼Ô diff --git a/man/ja/login.defs.5 b/man/ja/login.defs.5 index 52da5559..01f5e123 100644 --- a/man/ja/login.defs.5 +++ b/man/ja/login.defs.5 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: login.defs.5,v 1.3 2002/03/09 11:16:16 ankry Exp $ +.\" $Id: login.defs.5,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. @@ -35,33 +35,37 @@ .\" by Kentaro Shirakata .\" Updated Sat Jan 13 09:24:04 JST 2001 .\" by Kentaro Shirakata +.\" Updated Tue 18 Sep 2002 by NAKNAO Takeo .\" .\" WORD: shadow login suite shadow ¥í¥°¥¤¥óµ¡Ç½ -.TH LOGIN 5 +.TH LOGIN.DEFS 5 .SH ̾Á° -/etc/login.defs \- login¤ÎÀßÄê +/etc/login.defs \- shadow ¥Ñ¥¹¥ï¡¼¥Éµ¡Ç½¤ÎÀßÄê .SH ÀâÌÀ .I /etc/login.defs -¥Õ¥¡¥¤¥ë¤Ï shadow ¥í¥°¥¤¥óµ¡Ç½¤ËÂФ¹¤ë¥µ¥¤¥È¸ÇÍ­¤ÎÀßÄê¤ò¹Ô¤¦¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£ +¥Õ¥¡¥¤¥ë¤Ï shadow ¥í¥°¥¤¥óµ¡Ç½¤ËÂФ¹¤ë¥µ¥¤¥È¸ÇÍ­¤ÎÀßÄê¤òÄêµÁ¤¹¤ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ïɬ¤ºÂ¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤¬Ìµ¤¯¤È¤â¥·¥¹¥Æ¥à±¿ÍѤϲÄǽ¤Ç¤¢¤ë¤¬¡¢¤ª¤½¤é¤¯Ë¾¤Þ¤Ê¤¤ -·ë²Ì¤È¤Ê¤ë¤À¤í¤¦¡£ +¤³¤Î¥Õ¥¡¥¤¥ë¤¬Ìµ¤¯¤Æ¤â¥·¥¹¥Æ¥à±¿ÍѤϲÄǽ¤Ç¤¢¤ë¤¬¡¢ +¤ª¤½¤é¤¯Ë¾¤Þ¤Ê¤¤·ë²Ì¤È¤Ê¤ë¤À¤í¤¦¡£ .PP -¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÆÉ¤ß¼è¤ê²Äǽ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¡¢¥Õ¥¡¥¤¥ëÃæ¤Î°ì¹Ô¤Ë¤Ä¤­ -°ì¤Ä¤Î¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤷ¤Æ¤¤¤ë¡£ -³Æ¹Ô¤ÏÀßÄê¥Ñ¥é¥á¡¼¥¿¤Î̾Á°µÚ¤Ó¤½¤ÎÃͤ¬¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¤â¤Î¤«¤é¤Ê¤ë¡£ -¶õ¹ÔµÚ¤Ó¥³¥á¥ó¥È¹Ô¤Ï̵»ë¤µ¤ì¤ë¡£ -¥³¥á¥ó¥È¹Ô¤Ï`#'µ­¹æ¤Ç»Ï¤Þ¤ë¡£µ­¹æ`#'¤Ï¤½¤Î¹Ô¤Ç¤Î¶õÇò°Ê³°¤ÎºÇ½é¤Îʸ»ú -¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÆÉ¤ß¼è¤ê²Äǽ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¡¢ +¥Õ¥¡¥¤¥ëÃæ¤Î°ì¹Ô¤Ë¤Ä¤­°ì¤Ä¤ÎÀßÄê¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤷ¤Æ¤¤¤ë¡£ +³Æ¹Ô¤Ç¤Ï¡¢ÀßÄê¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤È¤½¤ÎÃͤ¬¶õÇò¤Ç¶èÀÚ¤é¤ì¤Æ¼¨¤µ¤ì¤ë¡£ +¶õ¹Ô¤È¥³¥á¥ó¥È¹Ô¤Ï̵»ë¤µ¤ì¤ë¡£ +¥³¥á¥ó¥È¹Ô¤Ï `#' µ­¹æ¤Ç»Ï¤Þ¤ë¡£ +µ­¹æ`#'¤Ï¤½¤Î¹Ô¤Ç¤Î¶õÇò°Ê³°¤ÎºÇ½é¤Îʸ»ú¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .PP -¥Ñ¥é¥á¡¼¥¿ÃͤϻͤĤη¿¤ò¼è¤ë¤³¤È¤¬½ÐÍè¤ë: ʸ»úÎó¡¢¥Ö¡¼¥ë·¿¡¢¿ô¡¢ÇÜÀºÅÙ¿ô -¤Ç¤¢¤ë¡£ -ʸ»úÎó¤Ë¤ÏÁ´¤Æ¤Î°õºþ²Äǽʸ»ú¤ò»È¤¦¤³¤È¤¬½ÐÍè¤ë¡£ -¥Ö¡¼¥ë·¿¥Ñ¥é¥á¡¼¥¿¤ÎÃͤÏ``yes''Ëô¤Ï``no''¤Î¤¤¤º¤ì¤«¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -̤ÄêµÁ¤Î¡¢¤â¤·¤¯¤Ï¾åµ­°Ê³°¤ÎÃͤΥ֡¼¥ë·¿¥Ñ¥é¥á¡¼¥¿¤ÎÃͤÏ``no''¤È¤µ¤ì¤ë¡£ -(ñÀºÅÙµÚ¤ÓÇÜÀºÅÙ)¿ô¤Ï¡¢½½¿Ê¿ô¡¢(¿ôÃͤÎÁ°¤Ë``0''¤òÉÕ¤±¤¿)Ȭ¿Ê¿ô¤Þ¤¿¤Ï -(¿ôÃͤÎÁ°¤Ë``0x''¤òÉÕ¤±¤¿)½½Ï»¿Ê¿ô¤Î¤¤¤º¤ì¤«¤Ç»ØÄꤹ¤ë¡£ -ñµÚ¤ÓÇÜÀºÅÙ¿ô¥Ñ¥é¥á¡¼¥¿¤ÎºÇÂçÃͤϷ׻»µ¡¤Ë°Í¸¤¹¤ë¡£ +¥Ñ¥é¥á¡¼¥¿ÃͤϻͤĤη¿¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ +ʸ»úÎ󡦥֡¼¥ë·¿¡¦¿ôÃÍ¡¦ÇÜÀºÅÙ¿ôÃÍ¡¢¤Ç¤¢¤ë¡£ +ʸ»úÎó¤Ë¤ÏÁ´¤Æ¤Î°õ»ú²Äǽʸ»ú¤ò»È¤¨¤ë¡£ +¥Ö¡¼¥ë·¿¥Ñ¥é¥á¡¼¥¿¤ÎÃÍ¤Ï ``yes'' ¤« ``no'' ¤Î¤¤¤º¤ì¤«¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +ÃͤλØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥Ö¡¼¥ë·¿¥Ñ¥é¥á¡¼¥¿¤ä¡¢ +``yes'', ``no'' °Ê³°¤¬»ØÄꤵ¤ì¤¿¥Ö¡¼¥ë·¿¥Ñ¥é¥á¡¼¥¿¤ÎÃÍ¤Ï ``no''¤È¤µ¤ì¤ë¡£ +(ñÀºÅÙ¤ª¤è¤ÓÇÜÀºÅÙ) ¿ôÃͤϡ¢ +10 ¿Ê¿ô¡¢ +(¿ôÃͤÎÁ°¤Ë ``0'' ¤òÉÕ¤±¤¿) 8 ¿Ê¿ô¡¢ +(¿ôÃͤÎÁ°¤Ë ``0x'' ¤òÉÕ¤±¤¿) 16 ¿Ê¿ô¤Î¤¤¤º¤ì¤«¤Ç»ØÄꤹ¤ë¡£ +ñÀºÅÙ¡¦ÇÜÀºÅÙ¿ôÃͥѥé¥á¡¼¥¿¤ÎºÇÂçÃͤϷ׻»µ¡¤Ë°Í¸¤¹¤ë¡£ .PP °Ê²¼¤Ë¼¨¤¹¤è¤¦¤ÊÀßÄê¹àÌܤ¬¤¢¤ë: .\" @@ -69,11 +73,9 @@ ¤â¤· .I yes ¤Ê¤é¡¢ -.B chfn -¤È -.B chsh -¥×¥í¥°¥é¥à¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤¬µ¯Æ°¤·¤¿¤Î¤Ç¤Ê¤¤¸Â¤ê -²¿¤é¤«¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦Á°¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò¿Ö¤Í¤ë¡£ +.BR chfn ", " chsh +ξ¥×¥í¥°¥é¥à¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤¬µ¯Æ°¤·¤¿¤Î¤Ç¤Ê¤¤¸Â¤ê +²¿¤é¤«¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦Á°¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò¿Ò¤Í¤ë¡£ .\" .IP "CHFN_RESTRICT (ʸ»úÎó)" ¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï @@ -83,503 +85,114 @@ ¥Õ¥£¡¼¥ë¥É¤Î¤¦¤Á¡¢ °ìÈ̥桼¥¶¤¬ .B chfn -¤ò»È¤Ã¤ÆÊѹ¹½ÐÍè¤ë¥Õ¥£¡¼¥ë¥É¤ò»ØÄꤹ¤ë¡£ +¤ò»È¤Ã¤ÆÊѹ¹¤Ç¤­¤ë¥Õ¥£¡¼¥ë¥É¤ò»ØÄꤹ¤ë¡£ »ØÄꤹ¤ëʸ»úÎó¤Ï .IR f , .IR r , .IR w , .I h -¤Îʸ»ú¤ÎǤ°Õ¤ÎÁȤ߹ç¤ï¤»¤Ç¡¢¤½¤ì¤¾¤ì¥Õ¥ë¥Í¡¼¥à¡¢Éô²°Èֹ桢 +³ÆÊ¸»ú¤ÎǤ°Õ¤ÎÁȤ߹ç¤ï¤»¤Ç¡¢¤½¤ì¤¾¤ì¥Õ¥ë¥Í¡¼¥à¡¢Éô²°Èֹ桢 ¿¦¾ìÅÅÏÃÈֹ桢¼«ÂðÅÅÏÃÈÖ¹æ¤ò°ÕÌ£¤¹¤ë¡£ -»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤À¤±¤¬Á´¤Æ¤Î¹àÌܤòÊѹ¹½ÐÍè¤ë¡£ +»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤À¤±¤¬Á´¤Æ¤Î¹àÌܤòÊѹ¹¤Ç¤­¤ë¡£ +ºÇ¤âÀ©¸Â¤ò¤­¤Ä¤¯¤·¤¿¤¤¾ì¹ç¤Ï¡¢ +chfn ¤ò SUID ¤Ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤è¤¤¡£ .\" -.IP "CLOSE_SESSIONS (¥Ö¡¼¥ëÃÍ)" -pam_close_session() ¸Æ¤Ó½Ð¤·¤òÍ­¸ú¤Ë¤¹¤ë¡£ -Ä̾ï¤Î(pam_unix.so)¥»¥Ã¥·¥ç¥ó´ÉÍý¥â¥¸¥å¡¼¥ë¤ò»È¤¦¾ì¹ç¤Ï¡¢¤³¤ì¤ÏÉÔÍפǤ¢¤ë¡£ -¤·¤«¤· kerberos ¤ä¤½¤Î¾¤Î±Ê³Ū¥»¥Ã¥·¥ç¥ó¥â¥Ç¥ë¤òÍѤ¤¤ë¥â¥¸¥å¡¼¥ë¤Ç¤Ï¡¢ -.B login -¤Ï fork ¤·¤Æ¥·¥§¥ë¤¬½ªÎ»¤¹¤ë¤Î¤òÂÔ¤ÄɬÍפ¬¤¢¤ê¡¢ -¤½¤ì¤Ç¥»¥Ã¥·¥ç¥ó¤ò¥¯¥ê¡¼¥ó¥¢¥Ã¥×½ÐÍè¤ë¡£ +.IP "CREATE_HOME (¥Ö¡¼¥ëÃÍ)" +useradd ¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ò +ºîÀ®¤¹¤ë¤«¤É¤¦¤«¤òÄêµÁ¤¹¤ë¡£ +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï useradd ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î -m ¥Õ¥é¥°¤È OR ¤µ¤ì¤ë¡£ .\" -.IP "CONSOLE (ʸ»úÎó)" -¤³¤Î¹àÌܤò»ØÄꤹ¤ë¤È¡¢root¤¬¥í¥°¥¤¥ó¤Ç¤­¤ë¥³¥ó¥½¡¼¥ë¥Ç¥Ð¥¤¥¹¤òÀ©¸Â¤¹¤ë -¤³¤È¤¬½ÐÍè¤ë¡£ -¤³¤³¤Ç»ØÄꤷ¤¿ÀßÄê¤òËþ¤¿¤µ¤Ê¤¤¥³¥ó¥½¡¼¥ë¥Ç¥Ð¥¤¥¹¤«¤éroot¤È¤·¤Æ¥í¥°¥¤¥ó -¤·¤è¤¦¤È¤·¤Æ¤âµñÈݤµ¤ì¤ë¡£¤³¤Î¹àÌܤÎÀßÄê¤ÏÆó¤Ä¤Î·Á¼°¤òÍѤ¤¤ë¤³¤È¤¬½ÐÍè¡¢ -¤Ò¤È¤Ä¤Ï -.sp -.ft I - CONSOLE /etc/consoles -.ft R -.sp -¤ÎÍͤÊÀäÂХѥ¹¤òÍѤ¤¤¿»ØÄêË¡¡¢ -º£°ì¤Ä¤Ï -.sp -.ft I - CONSOLE console:tty01:tty02:tty03:tty04 -.ft R -.sp -¤ÎÍͤ˥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿¥ê¥¹¥È¤ÇüËöÀþ¤ò»ØÄꤹ¤ëÊýË¡¤Ç¤¢¤ë¡£ -¥Ñ¥¹Ì¾¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢°ì¹Ô¤Ç°ì¤Ä¤ÎüËöÀܳÀþ¤ò»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬Ì¤ÄêµÁ¤Ç¤¢¤ë¾ì¹ç¤ä»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ -root¤ÏÁ´¤Æ¤ÎüËö¥Ç¥Ð¥¤¥¹¤«¤é¥í¥°¥¤¥ó½ÐÍè¤Æ¤·¤Þ¤¦¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤ä²õ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ïroot¤È¤·¤Æ¤ÎÉÔÀµ¤Ê¥í¥°¥¤¥ó¤¬ -½ÐÍè¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥×¥í¥Æ¥¯¥È¤ò¤«¤±¤Æ¤ª¤«¤Ê¤¯¤Æ¤Ï -¤Ê¤é¤Ê¤¤¡£ -¥»¥­¥å¥ê¥Æ¥£¤¬Èó¾ï¤Ë½ÅÍפǤ¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤è¤¦¤Ê¥¢¥¿¥Ã¥¯¤Î²ÄǽÀ­¤ò̵¤¯¤¹ -¤¿¤á¤Ë¡¢¥³¥í¥ó¤Ç¶èÀڤä¿·Á¼°¤òÍѤ¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -.\" -.IP "CONSOLE_GROUPS (ʸ»úÎó)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "CRACKLIB_DICTPATH (ʸ»úÎó)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "DEFAULT_HOME (¥Ö¡¼¥ëÃÍ)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "DIALUPS_CHECK_ENAB (¥Ö¡¼¥ëÃÍ)" -Ãͤ¬ -.I yes -¤Ç¡¢¤«¤Ä -.I /etc/dialups -¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥À¥¤¥¢¥ë¥¢¥Ã¥×¥Ç¥Ð¥¤¥¹ -¤Ç¤ÏÂèÆó¤Î¥Ñ¥¹¥ï¡¼¥É¤â»ÈÍѤµ¤ì¤ë¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¥À¥¤¥¢¥ë¥¢¥Ã¥×ÀܳÀþ¤Î¥ê¥¹¥È¤ò°Ê²¼¤ÎÍͤ˰ì¹Ô¤Ë°ì¤Ä¤º¤Ä -»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤: -.nf -.sp -.ft I - ttyfm01 - ttyfm02 - \0\0. - \0\0. - \0\0. -.ft R -.sp -.fi -.\" -.IP "ENVIRON_FILE (ʸ»úÎó)" -¥í¥°¥¤¥ó¤·¤¿¤ê su ¤·¤¿¤ê¤·¤¿»þ¤Ë¥»¥Ã¥È¤¹¤ë´Ä¶­ÊÑ¿ô¤Î¥ê¥¹¥È (°ì¹Ô¤Ë¤Ò¤È¤Ä¤º¤Ä) -¤¬½ñ¤«¤ì¤¿¥Õ¥¡¥¤¥ë¡£ -.\" -.IP "ENV_HZ (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤ÏHZ´Ä¶­ÊÑ¿ô¤ÎÆâÍÆ¤ò»ØÄꤹ¤ë¡£ -»ÈÍÑÎã¤Ï: -.sp - \fIENV_HZ HZ=50\fR -.sp -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢HZ¤ÎÃͤϽé´ü²½¤µ¤ì¤Ê¤¤¡£ -.\" -.IP "ENV_PATH (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï°ìÈ̥桼¥¶¤Î¸¡º÷¥Ñ¥¹¤ËÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -UID¤¬¥¼¥í°Ê³°¤Î¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤¿¾ì¹ç¡¢´Ä¶­ÊÑ¿ôPATH¤ÎÆâÍÆ¤Ï¤³¤Î -Ãͤ˽é´ü²½¤µ¤ì¤ë¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ïɬ¤ºÉ¬ÍפǤ¢¤ë; ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¸í¤Ã¤¿ -¥Ç¥Õ¥©¥ë¥ÈÃͤËÀßÄꤵ¤ì¤Æ¤·¤Þ¤¦¤À¤í¤¦¡£ -.\" -.IP "ENV_SUPATH (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Î¸¡º÷¥Ñ¥¹¤ËÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -UID¤¬¥¼¥í¤Î¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤¿¾ì¹ç¡¢´Ä¶­ÊÑ¿ôPATH¤ÎÆâÍÆ¤Ï¤³¤Î -Ãͤ˽é´ü²½¤µ¤ì¤ë¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ïɬ¤ºÉ¬ÍפǤ¢¤ë; ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¸í¤ê¤Î¤¢¤êÆÀ¤ë -¥Ç¥Õ¥©¥ë¥ÈÃͤËÀßÄꤵ¤ì¤Æ¤·¤Þ¤¦¤À¤í¤¦¡£ -.\" -.IP "ENV_TZ (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï´Ä¶­ÊÑ¿ôTZ¤òºî¤ê½Ð¤¹¤¿¤á¤Î¾ðÊó¤ò»ØÄꤹ¤ë¡£ -¥Ñ¥é¥á¡¼¥¿¤ÎÃͤϡ¢TZ¤Ë»ØÄꤷ¤¿¤¤Ãͤ«¡¢¤³¤Î¾ðÊ󤬵­½Ò¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î -ÀäÂХѥ¹Ì¾¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -»ÈÍÑÎã¤Ï: -.sp - \fIENV_TZ\0\0\0\0TZ=CST6CDT\fP -.sp -Ëô¤Ï -.sp - \fIENV_TZ\0\0\0\0/etc/tzname\fP -.sp -¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢TZ¤Ï¤¢¤ë¥Ç¥Õ¥©¥ë¥ÈÃͤ˽é´ü²½¤µ¤ì¤ë¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬Ì¤ÄêµÁ¤Î¾ì¹ç¤ÏTZ¤ÎÃͤϽé´ü²½¤µ¤ì¤Ê¤¤¡£ -.\" -.IP "ERASECHAR (¿ô)" -üËö¤Î -.I erase -ʸ»ú¤¬¤³¤ÎÃͤ˽é´ü²½¤µ¤ì¤ë¡£ -.I termio -¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÈ÷¤¨¤¿¥·¥¹¥Æ¥à(Î㤨¤Ð System V)¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢eraseʸ»ú¤Ï¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤Ë½é´ü²½¤µ¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤Ë¤Ä¤¤¤Æ¤ÏKILLCHAR¤ò»²¾È¤»¤è¡£ -.\" -.IP "FAILLOG_ENAB (¥Ö¡¼¥ëÃÍ)" -.I yes -¤ËÀßÄꤷ¤¿¾ì¹ç¤Ï¡¢¥í¥°¥¤¥ó¤Î¼ºÇÔ¤¬ -.I /var/log/faillog -Ãæ¤Ë -.BR faillog (8) -¤Î½ñ¼°¤Çµ­Ï¿¤µ¤ì¤ë¡£ -.\" -.IP "FAIL_DELAY (¿ô)" -¥í¥°¥¤¥ó¤¬¼ºÇÔ¤¹¤ëËè¤ËÃٱ䤵¤»¤ëÉÿô¡£ -.\" -.IP "FAKE_SHELL (ʸ»úÎó)" -ËÜÅö¤Î¥æ¡¼¥¶¡¼¥·¥§¥ë¤ÎÂå¤ï¤ê¤Ë¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ç»ØÄꤵ¤ì¤¿¥×¥í¥°¥é¥à¤¬µ¯Æ°¤µ¤ì¤ë¡£ -¤·¤«¤·¡¢¤½¤ÎÌܤ˸«¤¨¤ë̾Á° (argv[0]) ¤Ï¸µ¤Î¥·¥§¥ë¤È¤Ê¤ë¡£ -µ¯Æ°¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ï¼ÂºÝ¤Î¥·¥§¥ë¤Îµ¯Æ°Á°¤ËɬÍפʺî¶È -(¥í¥®¥ó¥°¡¢ÄɲÃǧ¾Ú¡¢¥Ð¥Ê¡¼¡¢...)¤¬¹Ô¤Ê¤¨¤ë¡£ -.\" -.IP "FTMP_FILE (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï¥í¥°¥¤¥ó¼ºÇÔ¤òµ­Ï¿¤¹¤ë¥Õ¥¡¥¤¥ë¤ÎÀäÂХѥ¹Ì¾¤ò»ØÄꤹ¤ë¡£ -¥í¥°¥¤¥ó¼ºÇÔ¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¤½¤Îµ­Ï¿¤¬¤³¤Î¥Õ¥¡¥¤¥ë¤Ë -.I utmp -·Á¼°¤Î¥ì¥³¡¼¥É¤ÇÄɲ䵤ì¤ë¡£ -.I /var/log/faillog -.\" this parameter is not specified then logging will be inhibited. See -.\" FAILLOG_ENAB and LOG_UNKFAIL_ENAB for related information. -¤Ø¤Î¥í¥°¥¤¥ó¼ºÇԤε­Ï¿¤È¤Ï¡¢°Ê²¼¤ÎÅÀ¤Ç°Û¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¡£ -¤³¤Îµ¡Ç½¤Ç¤Ï¥í¥°¥¤¥ó¼ºÇÔ¤òÁ´¤Æµ­Ï¿¤¹¤ë¤¬¡¢``faillog''µ¡Ç½¤Ç¤Ï¥í¥°¥¤¥ó¼ºÇÔ -¾ðÊó¤ò¥æ¡¼¥¶Ëè¤Ëµ­Ï¿¤·¤Æ¹Ô¤¯¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥í¥®¥ó¥°¤¬ÍÞÀ©¤µ¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤ÏFAILLOG_ENAB¤ÈLOG_UNKFAIL_ENAB¤ò»²¾È¤»¤è¡£ -.\" -.IP "GID_MAX (¿ô)" -.IP "GID_MIN (¿ô)" +.IP "GID_MAX (¿ôÃÍ)" +.IP "GID_MIN (¿ôÃÍ)" +.B useradd +¥×¥í¥°¥é¥à¤ª¤è¤Ó .B groupadd -¥×¥í¥°¥é¥à¤¬¥°¥ë¡¼¥×ID¤òÁªÂò¤¹¤ë»þ¤ÎÈϰϡ£ -.\" -.IP "HUSHLOGIN_FILE (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï``hushlogin''¤Î¾ò·ï¤òÀßÄꤹ¤ë¤¿¤á¤ËÍѤ¤¤ë¡£ -¤³¤ÎÀßÄê¤ò¹Ô¤¦ÊýË¡¤Ë¤ÏÆóÄ̤ꤢ¤ë¡£ -Âè°ì¤ÎÊýË¡¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ÎÃͤ¬¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ê³î¤Ä¤½¤Î¥Õ¥¡¥¤¥ë¤¬ -¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï``hushlogin''¤Î¾ò·ï¤¬À®Î©¤¹¤ë¡¢ -¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£ -¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤Ï̵»ë¤µ¤ì¤ë; ¤½¤ì¤¬Â¸ºß¤¹¤ë»ö¤Î¤ß¤¬``hushlogin''¾ò·ï¤ò -À®Î©¤µ¤»¤ë¤Î¤Ç¤¢¤ë¡£ -ÂèÆó¤ÎÊýË¡¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ÎÃͤ¬ÀäÂХѥ¹Ì¾¤Ç¡¢¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó̾Ëô¤Ï -¥·¥§¥ë¤¬¤³¤Î¥Õ¥¡¥¤¥ëÃæ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë``hushlogin''¾ò·ï¤¬À®¤êΩ¤Ä¡¢ -¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£ -¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤ÎÍͤʽñ¼°¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤: -.nf -.sp -.ft I - demo - /usr/lib/uucp/uucico - \0\0. - \0\0. - \0\0. -.ft R -.sp -.fi -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬Ì¤ÄêµÁ¤Î¾ì¹ç¤Ï¡¢``hushlogin''¾ò·ï¤¬À®Î©¤¹¤ë¤³¤È¤Ï̵¤¤¡£ -``hushlogin''¾ò·ï¤¬À®Î©¤·¤¿¾ì¹ç¡¢¤½¤ÎÆü¤Î¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨¡¢¤â¤Ã¤È¤âºÇ¶á¤Î -¥í¥°¥¤¥óÀ®¸ùµÚ¤Ó¼ºÇÔ¤Îɽ¼¨¡¢¥á¥¤¥ë¤Î̵ͭ¤Îɽ¼¨¡¢¥Ñ¥¹¥ï¡¼¥É´ü¸Â¤Î¥Á¥§¥Ã¥¯¤Ï -¹Ô¤ï¤ì¤Ê¤¤¡£ -¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ëhushlogin¥Õ¥¡¥¤¥ë¤òÃÖ¤«¤»¤ëÊýË¡¤òÍѤ¤¤ë¤È -¥æ¡¼¥¶¤¬¥Ñ¥¹¥ï¡¼¥É´ü¸Â¤Î¥Á¥§¥Ã¥¯¤ò²óÈò¤Ç¤­¤Æ¤·¤Þ¤¦¤³¤È¤ËÃí°Õ¡£ -´ØÏ¢¤¹¤ë¾ðÊó¤ÏMOTD_FILE, FAILLOG_ENAB, LASTLOG_ENAB, µÚ¤ÓMAIL_CHECK_ENAB -¤ò»²¾È¤»¤è¡£ -.\" -.IP "ISSUE_FILE (ʸ»úÎó)" -¥í¥°¥¤¥ó¥×¥í¥ó¥×¥È¤ò½Ð¤¹Á°¤Ëɽ¼¨¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹Ì¾¡£ -.\" -.IP "KILLCHAR (¿ô)" -üËö¤Î -.I kill -ʸ»ú¤¬¤³¤ÎÃͤ˽é´ü²½¤µ¤ì¤ë¡£ -.I termio -¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÈ÷¤¨¤¿¥·¥¹¥Æ¥à(Î㤨¤Ð System V)¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢killʸ»ú¤Ï\s-2CTRL/U\s0¤Ë½é´ü²½¤µ¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤Ë¤Ä¤¤¤Æ¤ÏERASECHAR¤ò»²¾È¤»¤è¡£ -.\" -.IP "LASTLOG_ENAB (¥Ö¡¼¥ëÃÍ)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò -.I yes -¤ËÀßÄꤷ¡¢³î¤Ä¥Õ¥¡¥¤¥ë -.I /var/log/lastlog -¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤ËÀ®¸ù¤·¤¿µ­Ï¿¤¬¤³¤Î¥Õ¥¡¥¤¥ë¤Ë»Ä¤µ¤ì¤ë¡£ -¤µ¤é¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¥ª¥ó¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤ÏºÇ¤âºÇ¶á¤Î¥í¥°¥¤¥óÀ®¸ù -µÚ¤Ó¼ºÇÔÆü»þ¤¬¥æ¡¼¥¶¤Ëɽ¼¨¤µ¤ì¤ë¡£FAILLOG_ENAB¤¬¥ª¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï -¥í¥°¥¤¥ó¼ºÇÔ¤Îɽ¼¨¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ -``hushlogin''¾ò·ï¤¬À®¤êΩ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¥í¥°¥¤¥óÀ®¸ù¤â¼ºÇÔ¤âɽ¼¨¤µ¤ì¤Ê¤¤¡£ -.\" -.IP "LOGIN_RETRIES (¿ô)" -.B login -¥×¥í¥°¥é¥à¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Ë²Äǽ¤Ê¥í¥°¥¤¥ó¤ÎºÆ»î¹Ô¤Î¿ô¡£ -.\" -.IP "LOGIN_STRING (ʸ»úÎó)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.IP "LOGIN_TIMEOUT (¿ô)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.IP "LOG_OK_LOGINS (¥Ö¡¼¥ëÃÍ)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.IP "LOG_UNKFAIL_ENAB (¥Ö¡¼¥ëÃÍ)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ -.I yes -¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¥í¥°¥¤¥ó¼ºÇÔ¤¬µ­Ï¿¤µ¤ì¤ëºÝ¤Ë̤ÅÐÏ¿¤Î¥æ¡¼¥¶Ì¾¤â -´Þ¤á¤é¤ì¤ë¡£¥»¥­¥å¥ê¥Æ¥£¤ò´í¸±¤Ë»¯¤¹²ÄǽÀ­¤â¤¢¤ë¤³¤È¤ËÃí°Õ; ¤è¤¯¸«¤é¤ì¤ë -¥í¥°¥¤¥ó¤Î¼ºÇԤˡ¢¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤òÆþ¤ì´¹¤¨¤ÆÆþÎϤ·¤Æ¤·¤Þ¤¦¤³¤È¤¬ -µó¤²¤é¤ì¤ë¤¬¡¢¤³¤Î¾ì¹ç¥Ñ¥¹¥ï¡¼¥É¤¬¼ºÇÔ¥í¥°¤Ëµ­Ï¿¤µ¤ì¤Æ¤·¤Þ¤¦¡£ -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥ª¥Õ¤Ë¤·¤Æ¤ª¤¯¤È¡¢Ì¤ÅÐÏ¿¥æ¡¼¥¶Ì¾¤Ï¥í¥°¥¤¥ó¼ºÇÔ¥á¥Ã¥»¡¼¥¸¤Ë -µ­Ï¿¤µ¤ì¤Ê¤¤¡£ -.\" -.IP "MAIL_CHECK_ENAB (¥Ö¡¼¥ëÃÍ)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò -.I yes -¤ËÀßÄꤹ¤ë¤È¡¢¥í¥°¥¤¥ó»þ¤Ë¥æ¡¼¥¶¤Ë¥á¥¤¥ë¥Ü¥Ã¥¯¥¹¤Î¾õÂÖ¤òÄÌÃΤ¹¤ë¡£ -´ØÏ¢¾ðÊó¤ÏMAIL_DIR¤ò»²¾È¤»¤è¡£ +¥×¥í¥°¥é¥à¤¬¥°¥ë¡¼¥× ID ¤òÁªÂò¤¹¤ë»þ¤ÎÈϰϡ£ .\" .IP "MAIL_DIR (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï¥æ¡¼¥¶¤Î¥á¥¤¥ë¥Ü¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î -ÀäÂХѥ¹¤ò»ØÄꤹ¤ë¡£ -¤³¤Î¥Ñ¥¹¤Ë¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó̾¤òÉÕ¤±Â­¤·¤ÆMAIL´Ä¶­ÊÑ¿ô \- ¥æ¡¼¥¶¤Î -¥á¥¤¥ë¥Ü¥Ã¥¯¥¹¤Ø¤Î¥Ñ¥¹ \- ¤òºî¤ê½Ð¤¹¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤È MAIL_FILE ¤Î¤É¤Á¤é¤«¤Ïɬ¤ºÄêµÁ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤; -̤ÄêµÁ¤Î¾ì¹ç¤ÏÀµ¤·¤¯¤Ê¤¤²ÄǽÀ­¤Î¤¢¤ë¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»È¤ï¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤ÏMAIL_CHECK_ENAB¤ò»²¾È¤»¤è¡£ +¥á¡¼¥ë¥¹¥×¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¡£ +¤¢¤ë¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤¬½¤Àµ¡¦ºï½ü¤µ¤ì¤¿ºÝ¤Ë¡¢ +¤½¤Î¥æ¡¼¥¶¤Î¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤ËÂФ¹¤ëºî¶È¤Î¤¿¤á¤ËɬÍפȤʤ롣 +»ØÄꤵ¤ì¤Ê¤¤¤È¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤ¬ÍѤ¤¤é¤ì¤ë¡£ .\" -.IP "MAIL_FILE (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï¥á¥¤¥ë¥Ü¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¡£ -¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤³¤Î̾Á°¤¬Äɲäµ¤ì¤Æ¡¢ -MAIL´Ä¶­ÊÑ¿ô \- ¥æ¡¼¥¶¤Î¥á¥¤¥ë¥Ü¥Ã¥¯¥¹¤Ø¤Î¥Ñ¥¹ \- ¤òºî¤ê½Ð¤¹¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤È MAIL_DIR ¤Î¤É¤Á¤é¤«¤Ïɬ¤ºÄêµÁ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤; -̤ÄêµÁ¤Î¾ì¹ç¤ÏÀµ¤·¤¯¤Ê¤¤²ÄǽÀ­¤Î¤¢¤ë¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»È¤ï¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤ÏMAIL_CHECK_ENAB¤ò»²¾È¤»¤è¡£ -.\" -.IP "MD5_CRYPT_ENAB (¥Ö¡¼¥ëÃÍ)" -.I yes -¤Ê¤é¡¢ -.B passwd -¥×¥í¥°¥é¥à¤Ï¿·¤·¤¯Êѹ¹¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¿·¤·¤¤ MD5 ¥Ù¡¼¥¹¤Î -.BR crypt (3) -¥Ñ¥¹¥ï¡¼¥É¥Ï¥Ã¥·¥å¥¢¥ë¥´¥ê¥º¥à¤òÍѤ¤¤Æ°Å¹æ²½¤¹¤ë¡£ -¤³¤ì¤Ï FreeBSD ¤ÇºÇ½é¤ËºÎÍѤµ¤ì¡¢Linux ¤Ç¤Ï -libc-5.4.38 ¤È glibc-2.0 (¤Þ¤¿¤Ï¤½¤ì°Ê¾å) ¤ÇÂбþ¤·¤Æ¤¤¤ë¡£ -¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï 8 ʸ»ú°Ê¾å¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÂбþ¤·¤Æ¤¤¤ë ( -.BR getpass (3) -¤Ë¤è¤ê 127 ʸ»ú¤ËÀ©¸Â¤µ¤ì¤ë)¤¬¡¢½¾Íè¤Î -.BR crypt (3) -¼ÂÁõ¤È¸ß´¹À­¤¬¤Ê¤¤¡£ -.\" -.IP "MOTD_FILE (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï``¤½¤ÎÆü¤Î¥á¥Ã¥»¡¼¥¸''¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹Ì¾¤ò¥³¥í¥ó¤Ç¶èÀÚ¤Ã¤Æ -»ØÄꤹ¤ë¡£ -»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó»þ¤Ë¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤¬ -ɽ¼¨¤µ¤ì¤ë¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤â¤·¤¯¤Ï``hushlogin''¥í¥°¥¤¥ó¾ò·ï -¤¬À®¤êΩ¤Ä¾ì¹ç¤Ë¤Ï¡¢É½¼¨¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ -.\" -.IP "NOLOGINS_FILE (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ïroot°Ê³°¤Î¥í¥°¥¤¥ó¤ò¶Ø»ß¤¹¤ë¥Õ¥¡¥¤¥ë¤ÎÀäÂХѥ¹Ì¾¤ò»ØÄê -¤¹¤ë¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢root°Ê³°¤Î¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤è¤¦¤È¤·¤¿ºÝ -¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤¬É½¼¨¤µ¤ì¡¢¥í¥°¥¤¥ó¤ÏµñÈݤµ¤ì¤ë¡£¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ -¤¤¤Ê¤¤¾ì¹ç¤Ï¤³¤Îµ¡Ç½¤Ï»ÈÍѤǤ­¤Ê¤¤¡£ -.\" -.IP "NOLOGIN_STR (ʸ»úÎó)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "OBSCURE_CHECKS_ENAB (¥Ö¡¼¥ëÃÍ)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ -.I yes -¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤ò¼õ¤±ÉÕ¤±¤ëÁ°¤Ë¥×¥í¥°¥é¥à -.B passwd -¤¬Í¾Ê¬¤Ë¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¡£ -¹Ô¤ï¤ì¤ë¥Á¥§¥Ã¥¯¤ÏÈó¾ï¤Ëñ½ã¤Ç¤¢¤ê¡¢À§Èó¤È¤âÍѤ¤¤ë¤Ù¤­¤Ç¤¢¤ë¡£ -.B passwd -¥×¥í¥°¥é¥à¤¬ -.I root -¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆñ²òÅÙ¥Á¥§¥Ã¥¯¤Ï¥Ð¥¤¥Ñ¥¹¤µ¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤ÏPASS_MIN_LEN¤ò»²¾È¤»¤è¡£ -.\" -.IP "PASS_ALWAYS_WARN (¥Ö¡¼¥ëÃÍ)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "PASS_CHANGE_TRIES (¿ô)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "PASS_MIN_DAYS (¿ô)" -¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¤ÎºÇûÆü¿ô¡£ +.IP "PASS_MAX_DAYS (¿ôÃÍ)" +°ì¤Ä¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤¨¤ëºÇĹÆü¿ô¡£ +¥Ñ¥¹¥ï¡¼¥É¤¬¤³¤ÎÆü¿ô¤è¤ê¤â¸Å¤¤¾ì¹ç¤Ï¡¢Êѹ¹¤¹¤ë¤è¤¦¶¯À©¤µ¤ì¤ë¡£ +»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï -1 ¤È¤Ê¤ë (¤³¤ÎÀ©¸Âµ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë)¡£ +.IP "PASS_MIN_DAYS (¿ôÃÍ)" +¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Æ¤«¤é¼¡¤ËÊѹ¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¤ÎºÇûÆü¿ô¡£ ¤³¤ÎÆü¿ô¤¬·Ð¤¿¤Ê¤¤¤¦¤Á¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤è¤¦¤È¤·¤Æ¤âµñÈݤµ¤ì¤ë¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥¼¥í¤È¸«Ðö¤µ¤ì¤ë¡£ +»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï -1 ¤È¤Ê¤ë (¤³¤ÎÀ©¸Âµ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë)¡£ +.IP "PASS_WARN_AGE (¿ôÃÍ)" +¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬Íè¤ëÁ°¤Ë·Ù¹ð¤òȯ¤¹¤ë´ü´Ö¤ÎÆü¿ô¡£ +¥¼¥í¤Ë¤·¤Æ¤ª¤¯¤È¡¢´ü¸ÂÀÚ¤ì¤ÎÅöÆü¤Ë¤Î¤ß·Ù¹ð¤ò¹Ô¤¤¡¢ +Éé¤Î¿ô¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï°ìÀÚ·Ù¹ð¤ò¹Ô¤ï¤Ê¤¤¡£ +»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï·Ù¹ð¤ò¹Ô¤ï¤Ê¤¤¡£ +.PP +PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_WARN_AGE +¤Ï¥¢¥«¥¦¥ó¥È¤òºî¤ë¤È¤­¤Ë¤À¤±ÍøÍѤµ¤ì¤ë¡£ +¤³¤ì¤é¤ÎÀßÄê¤òÊѹ¹¤·¤Æ¤â¡¢´û¸¤Î¥¢¥«¥¦¥ó¥È¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¡£ .\" -.IP "PASS_MIN_LEN (¿ô)" -¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æµö¤µ¤ì¤ëºÇ¾®¤Îʸ»ú¿ô¡£ -¤³¤ì¤è¤ê¤âû¤¤¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤è¤¦¤È¤·¤Æ¤âµñÈݤµ¤ì¤ë¡£ -¥¼¥í¤ËÀßÄꤷ¤Æ¤ª¤¯¤È¤³¤Î¸¡ºº¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥¼¥í¤È¸«Ðö¤µ¤ì¤ë¡£ +.IP "UID_MAX (¿ôÃÍ)" +.IP "UID_MIN (¿ôÃÍ)" +.B useradd +¥×¥í¥°¥é¥à¤¬¥æ¡¼¥¶ ID ¤òÁªÂò¤¹¤ë»þ¤ÎÈϰϡ£ .\" -.IP "PASS_MAX_DAYS (¿ô)" -°ì¤Ä¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤¨¤ëºÇĹÆü¿ô¡£¥Ñ¥¹¥ï¡¼¥É¤¬¤³¤ÎÆü¿ô¤è¤ê¤â¸Å¤¤¾ì¹ç¤Ï -¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯¤µ¤ì¤ë¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¤¢¤ëÂ礭¤Ê¿ô¤¬ÍѤ¤¤é¤ì¤ë¡£ -.\" -.IP "PASS_MAX_LEN (¿ô)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "PASS_WARN_AGE (¿ô)" -¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬Íè¤ëÁ°¤Ë·Ù¹ð¤òȯ¤¹¤ëÆü¿ô¡£¥¼¥í¤Ë¤·¤Æ¤ª¤¯¤È¡¢ÅöÆü¤Ë¤Î¤ß -·Ù¹ð¤ò¹Ô¤¤¡¢Éé¿ô¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï·Ù¹ð¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï·Ù¹ð¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ -.\" -.IP "PORTTIME_CHECKS_ENAB (¥Ö¡¼¥ëÃÍ)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò -.I yes -¤ËÀßÄꤷ¡¢³î¤Ä -.I /etc/porttime -¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¤¬¤½¤Î»þ´Ö»ØÄꤷ¤¿Ã¼Ëö¤«¤é¥í¥°¥¤¥ó¤·¤ÆÎɤ¤¤« -¤ò³Îǧ¤¹¤ë¤Î¤Ë¤½¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¡£ -c.f. -.BR porttime (5) -.\" -.IP "QMAIL_DIR (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï Qmail ¥æ¡¼¥¶¤Î¤¿¤á¤Î Maildir ¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»Ø -Äꤹ¤ë¡£´ØÏ¢¾ðÊó¤Ï MAIL_CHECK_ENAB ¤ò»²¾È¤»¤è¡£ -.\" -.IP "QUOTAS_ENAB (¥Ö¡¼¥ëÃÍ)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ -.I yes -¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¤Î``ulimit'', ``umask'', ``niceness'' -¤¬ -.I passwd -¥Õ¥¡¥¤¥ë¤Î -.I gecos -Íó¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ëÃͤ˽é´ü²½¤µ¤ì¤ë¡£ -c.f. -.BR passwd (5) -.\" -.IP "SU_NAME (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï``su -''¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Î¥³¥Þ¥ó¥É̾¤òÀßÄꤹ¤ë¡£ -Î㤨¤Ð¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬``su''¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ -.BR ps (1) -¤Ç¤Ï¼Â¹ÔÃæ¤Î¥³¥Þ¥ó¥É¤¬``-su''¤Èɽ¼¨¤µ¤ì¤ë¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ -.BR ps (1) -¤Ë¤Ï¼Â¹ÔÃæ¤Î¼ÂºÝ¤Î¥·¥§¥ë¤Î̾Á°¡¢Î㤨¤Ð``-sh``¤È¤¤¤Ã¤¿É½¼¨¤¬¤Ê¤µ¤ì¤ë¡£ -.\" -.IP "SULOG_FILE (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï -.B su -¥³¥Þ¥ó¥É¤Î¼Â¹Ôµ­Ï¿¤ò½ñ¤­¹þ¤à¥Õ¥¡¥¤¥ë¤ÎÀäÂХѥ¹Ì¾¤ò»ØÄꤹ¤ë¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢µ­Ï¿¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ -.B su -¥³¥Þ¥ó¥É¤Ï¥Ñ¥¹¥ï¡¼¥É¤òǧ¾Ú¤¹¤ëºÝ¤Ë»È¤ï¤ì¤ë»ö¤â¤¢¤ë¤Î¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥óËô¤Ï -.I syslog -¤Î¤¤¤º¤ì¤«¤òÍѤ¤¤Æ -.B su -¼Â¹Ô¤òµ­Ï¿¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -´ØÏ¢¾ðÊó¤ÏSYSLOG_SU_ENAB¥ª¥×¥·¥ç¥ó¤ò»²¾È¤»¤è¡£ -.\" -.IP "SU_WHEEL_ONLY (¥Ö¡¼¥ëÃÍ)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "SYSLOG_SG_ENAB (¥Ö¡¼¥ëÃÍ)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "SYSLOG_SU_ENAB (¥Ö¡¼¥ëÃÍ)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ -.I yes -¤ËÀßÄꤵ¤ì¡¢³î¤Ä -.B login -¤¬ -.I syslog -µ¡Ç½¤òƯ¤«¤»¤ë¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Á´¤Æ¤Î -.B su -¼Â¹Ô¤¬ -.I syslog -µ¡Ç½¤òÍѤ¤¤ÆÄÌÃΤµ¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤ÏSULOG_FILE¤ò»²¾È¤»¤è¡£ -.\" -.IP "TTYGROUP (ʸ»úÎóËô¤Ï¿ô)" -üËö¤Î¥°¥ë¡¼¥×½êͭ°À­¤¬¤³¤Î¥°¥ë¡¼¥×̾¤â¤·¤¯¤ÏID¤Ë½é´ü²½¤µ¤ì¤ë¡£ -Îɤ¯ÃΤé¤ì¤¿¥»¥­¥å¥ê¥Æ¥£¹¶·â¤Î°ì¤Ä¤Ë¡¢Â¾¤Î¥æ¡¼¥¶¤ÎüËöÀþ¤ËüËö -¥³¥ó¥È¥í¡¼¥ë¥·¡¼¥±¥ó¥¹¤òÁ÷¤ë¡¢¤È¤¤¤¦¤â¤Î¤¬¤¢¤ë¡£ -¤³¤ÎÌäÂê¤Ï¡¢Â¾¤Î¥æ¡¼¥¶¤¬Ã¼ËöÀþ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤è¤¦¤Ëµö²Ä°À­¤òÀßÄꤹ¤ì¤Ð -²óÈò¤Ç¤­¤ë¤¬¡¢¤³¤¦¤¹¤ë¤È»Äǰ¤Ê¤¬¤é -.B write -¤È¤¤¤Ã¤¿¥×¥í¥°¥é¥à¤¬µ¡Ç½¤·¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£Â¾¤Î²ò·èÊýË¡¤È¤·¤Æ¤Ï¡¢ -ÀøºßŪ¤Ë´í¸±¤òÕÔ¤ó¤Àʸ»ú¥·¡¼¥±¥ó¥¹¤ò¥Õ¥£¥ë¥¿¡¼¤·¤Æ¼è¤ê½ü¤¤¤Æ¤·¤Þ¤¦ÍÍ¤Ê -.B write -¥×¥í¥°¥é¥à¤ò»È¤¤¡¢¤³¤ì¤òÆÃ¼ì¤Ê¥°¥ë¡¼¥×¤Ë``setgid''¤µ¤»¡¢¤³¤Î¥°¥ë¡¼¥×¤Ë -üËö¥Ç¥Ð¥¤¥¹¤Î¥°¥ë¡¼¥×½êͭ°À­¤ò³ä¤êÅö¤Æ¡¢Ã¼ËöÀþ¤Îµö²Ä°À­¤ò\fI0620\fR¤Ë -ÀßÄꤹ¤ë¡¢¤È¤¤¤¦¤â¤Î¤â¤¢¤ë¡£ -TTYGROUP¤Ï¤Þ¤µ¤Ë¤³¤ÎÍͤʾõ¶·¤Î¤¿¤á¤ËÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ë¡£ -¤³¤Î¹àÌܤ¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢Ã¼Ëö¤Î¥°¥ë¡¼¥×½êͭ°À­¤Ï¥æ¡¼¥¶¤Î¥°¥ë¡¼¥× -ÈÖ¹æ¤Ë½é´ü²½¤µ¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤Ï TTYPERM ¤ò»²¾È¤»¤è¡£ -.\" -.IP "TTYPERM (¿ô)" -¥í¥°¥¤¥óüËö¤Îµö²Ä°À­¤¬¤³¤ÎÃͤ˽é´ü²½¤µ¤ì¤ë¡£ -ŵ·¿Åª¤ÊÀßÄêÃͤȤ·¤Æ¤Ï¡¢\fI0622\fR¤ËÀßÄꤷ¤ÆÂ¾¤Î¥æ¡¼¥¶¤¬¤½¤ÎüËö¤Ëwrite -¥¢¥¯¥»¥¹½ÐÍè¤ëÍͤˤ¹¤ë¤â¤Î¤ä¡¢\fI0600\fR¤ËÀßÄꤷ¤ÆÂ¾¤Î¥æ¡¼¥¶¤«¤éüËö¤ò -¼é¤ë¤â¤Î¤Ê¤É¤¬¤¢¤ë¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢Ã¼Ëö¤Îµö²Ä°À­¤Ï\fI0622\fR¤Ë½é´ü²½¤µ¤ì¤ë¡£ -´ØÏ¢¾ðÊó¤ÏTTYGROUP¤ò»²¾È¤»¤è¡£ -.\" -.IP "TTYTYPE_FILE (ʸ»úÎó)" -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤ÏüËö¥Ç¥Ð¥¤¥¹¤òüËö¤Î¼ïÎà¤Ë¥Þ¥Ã¥×¤¹¤ë¥Õ¥¡¥¤¥ë¤ÎÀäÂХѥ¹Ì¾¤ò -»ØÄꤹ¤ë¡£³Æ¹Ô¤Ë¤ÏüËö¤Î¼ïÎà¤ò°ì¤Ä¤ÈüËöÀþ¤ò°ì¤Ä¡¢¶õÇò¤Ç¶èÀڤäƵ­½Ò¤¹¤ë¡£ -Î㤨¤Ð: -.nf -.sp -.ft I - vt100\0 tty01 - wyse60 tty02 - \0\0.\0\0\0 \0\0. - \0\0.\0\0\0 \0\0. - \0\0.\0\0\0 \0\0. -.ft R -.sp -.fi -¤³¤Î¾ðÊó¤Ï´Ä¶­ÊÑ¿ô TERM ¤¬¤Þ¤ÀÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë -¤³¤ì¤ò½é´ü²½¤¹¤ë¤¿¤á¤À¤±¤ËÍѤ¤¤é¤ì¤ë¡£ -µ­¹æ``#''¤Ç»Ï¤Þ¤ë¹Ô¤Ï¥³¥á¥ó¥È¤È¤·¤Æ°·¤ï¤ì¤ë¡£ -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¤â¤·¤¯¤Ï¤³¤Î -¥Õ¥¡¥¤¥ëÃæ¤ÇüËöÀþ¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢´Ä¶­ÊÑ¿ôTERM¤ÏÀßÄꤵ¤ì¤Ê¤¤¡£ -.\" -.IP "UID_MAX (¿ô)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.IP "UID_MIN (¿ô)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ -.\" -.IP "ULIMIT (ÇÜÀºÅÙ¿ô)" -¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Î¸ÂÅÙ¤ò¤³¤ÎÃͤ˽é´ü²½¤¹¤ë¡£ -.I ulimit -¤¬È÷¤ï¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¡¢Î㤨¤ÐSystem V¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º¸ÂÅ٤Ϥ¢¤ëÂ礭¤ÊÃͤ˽é´ü²½¤µ¤ì¤ë¡£ -.\" -.IP "UMASK (¿ô)" +.IP "UMASK (¿ôÃÍ)" µö²Ä°À­¥Þ¥¹¥¯¤ò¤³¤ÎÃͤ˽é´ü²½¤¹¤ë¡£ -»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢µö²Ä°À­¥Þ¥¹¥¯¤Ï¥¼¥í¤Ë½é´ü²½¤µ¤ì¤ë¡£ +»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢µö²Ä°À­¥Þ¥¹¥¯¤Ï 077 ¤Ë½é´ü²½¤µ¤ì¤ë¡£ .\" .IP "USERDEL_CMD (ʸ»úÎó)" -XXX ʸ½ñ²½¤ÎɬÍפ¢¤ê¡£ +ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢¥æ¡¼¥¶¤òºï½ü¤¹¤ë¤È¤­¤Ë¤³¤Î¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¡£ +ºï½ü¤µ¤ì¤ë¥æ¡¼¥¶ (ºÇ½é¤Î°ú¤­¿ô¤ËÅϤµ¤ì¤ë) ¤Î at/cron/print +¥¸¥ç¥Ö¤Ê¤É¤òºï½ü¤¹¤ë¥³¥Þ¥ó¥É¤Ë¤·¤Æ¤ª¤¯¤È¤è¤¤¡£ .\" -.SH Áê¸ß»²¾È -°Ê²¼¤ÎÁê¸ß»²¾È¤Ï shadow ¥í¥°¥¤¥óµ¡Ç½Ãæ¤Î¤É¤Î¥×¥í¥°¥é¥à¤¬ +.SH »²¾Èɽ +°Ê²¼¤Î»²¾Èɽ¤Ï¡¢ +shadow ¥Ñ¥¹¥ï¡¼¥Éµ¡Ç½¤Î¤É¤Î¥×¥í¥°¥é¥à¤¬ ¤É¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ¹¤ë¤«¤ò¼¨¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ .na -.IP login 12 -CONSOLE DIALUPS_CHECK_ENAB ENV_HZ ENV_SUPATH ENV_TZ ERASECHAR FAILLOG_ENAB -FTMP_FILE HUSHLOGIN_FILE KILLCHAR LASTLOG_ENAB LOG_UNKFAIL_ENAB -MAIL_CHECK_ENAB MAIL_DIR MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB -QUOTAS_ENAB TTYPERM TTYTYPE_FILE ULIMIT UMASK +.IP chfn 12 +CHFN_AUTH CHFN_RESTRICT +.IP chsh 12 +CHFN_AUTH +.IP groupadd 12 +GID_MAX GID_MIN .IP newusers 12 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK -.IP passwd 12 -OBSCURE_CHECKS_ENAB PASS_MIN_LEN +PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE +UMASK .IP pwconv 12 PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.IP su 12 -ENV_HZ ENV_SUPATH ENV_TZ HUSHLOGIN_FILE MAIL_CHECK_ENAB MAIL_DIR -MOTD_FILE NOLOGIN_STR QUOTAS_ENAB SULOG_FILE SYSLOG_SU_ENAB -.IP sulogin 12 -ENV_HZ ENV_SUPATH ENV_TZ MAIL_DIR QUOTAS_ENAB TTYPERM +.IP useradd 12 +CREATE_HOME +GID_MAX GID_MIN +PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE +UID_MAX UID_MIN +UMASK +.IP userdel 12 +MAIL_DIR +USERDEL_CMD +.IP usermod 12 +MAIL_DIR .ad .SH ¥Ð¥° -¤³¤Î man ¥Ú¡¼¥¸¤Ë½ñ¤«¤ì¤Æ¤¤¤Ê¤¤ÀßÄê¥Ñ¥é¥á¡¼¥¿¤â¤¢¤ë¡£ +shadow ¥Ñ¥¹¥ï¡¼¥Éµ¡Ç½¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤Æ¤­¤¿µ¡Ç½¤ÎÂçÉôʬ¤Ï¡¢ +¸½ºß¤Ï PAM ¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤Æ¤¤¤ë¡£ +¤·¤¿¤¬¤Ã¤Æ¡¢ +.BR login (1), +.BR passwd (1), +.BR su (1) +¤Ê¤É¤Î¥×¥í¥°¥é¥à¤Ï¡¢¤â¤Ï¤ä +\fI/etc/login.defs\fR +¤òÍѤ¤¤Ê¤¤¡£ +Âбþ¤¹¤ë PAM ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤òÄ´¤Ù¤ë¤è¤¦¤Ë¤·¤Æ¤Û¤·¤¤¡£ .SH ´ØÏ¢¹àÌÜ .BR login (1), -.BR faillog (5), +.BR passwd (1), +.BR su (1), .BR passwd (5), -.BR porttime (5), -.BR faillog (8) +.BR shadow (5), +.BR pam (8) .SH Ãø¼Ô Julianne Frances Haugh (jockgrrl@ix.netcom.com) .br diff --git a/man/ja/logoutd.8 b/man/ja/logoutd.8 index 04c8e4b8..fd260c6b 100644 --- a/man/ja/logoutd.8 +++ b/man/ja/logoutd.8 @@ -1,3 +1,4 @@ +.\"$Id: logoutd.8,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,33 +26,29 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: logoutd.8,v 1.2 2001/11/16 17:01:32 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Sat 21 Sep 2002 by NAKANO Takeo .\" .TH LOGOUTD 8 .SH ̾Á° -logoutd \- ¥í¥°¥¤¥ó»þ´Ö¤ÎÀ©¸Â¤ò²Ê¤¹ +logoutd \- ¥í¥°¥¤¥ó»þ´Ö¤ÎÀ©¸Â¤ò¼Â»Ü¤¹¤ë .SH ½ñ¼° -.B logoutd +\fBlogoutd\fR .SH ÀâÌÀ +\fBlogoutd\fR ¤Ï \fI/etc/porttime\fR +¤Ëµ­¤µ¤ì¤Æ¤¤¤ë¥í¥°¥¤¥ó»þ´Ö¡¦¥Ý¡¼¥È¤ËÂФ¹¤ëÀ©¸Â¤ò¼Â»Ü¤¹¤ë¡£ .B logoutd -¤Ï -.I /etc/porttime -¤Ëµ­¤µ¤ì¤Æ¤¤¤ë¥í¥°¥¤¥ó»þ´ÖµÚ¤Ó¥Ý¡¼¥È¤ËÂФ¹¤ë -À©¸Â»ö¹à¤ò¼Â»Ü¤¹¤ë¡£ -.B logoutd -¤Ï\fI/etc/rc\fR¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -.\" at the current time. -\fI/etc/utmp\fR¥Õ¥¡¥¤¥ë¤òÄê´üŪ¤ËÁöºº¤·¡¢¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë³Æ¥æ¡¼¥¶¤¬ -\fI/etc/porttime\fRÃæ¤Ç»ØÄꤵ¤ì¤¿¥í¥°¥¤¥ó²Äǽ¥æ¡¼¥¶Ì¾¡¢¥Ý¡¼¥ÈµÚ¤Ó»þ¹ï¤Ë -È¿¤·¤Æ¤¤¤Ê¤¤¤«¤ò¸¡ºº¤¹¤ë¡£ -\fI/etc/porttime\fR¤ÎÀ©¸Â¤ËÈ¿¤¹¤ë¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤Ï½ªÎ»¤µ¤»¤é¤ì¤ë¡£ +¤Ï \fI/etc/rc\fR ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¡£ +\fI/etc/utmp\fR ¥Õ¥¡¥¤¥ë¤¬Äê´üŪ¤Ë¥¹¥­¥ã¥ó¤µ¤ì¡¢ +¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë³Æ¥æ¡¼¥¶¤¬ +\fI/etc/porttime\fR Ãæ¤Ç¤Î¤½¤Î¥æ¡¼¥¶¤Îµö²Ä +(¥Ý¡¼¥È¤È»þ¹ï) ¤ËÈ¿¤·¤Æ¤¤¤Ê¤¤¤«Ä´¤Ù¤ë¡£ +\fI/etc/porttime\fR ¤ÎÀ©¸Â¤ËÈ¿¤¹¤ë¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤Ï½ªÎ»¤µ¤»¤é¤ì¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/porttime \- ¥í¥°¥¤¥óµÚ¤Ó¥Ý¡¼¥È¤ËÂФ¹¤ëµö²Ä +/etc/porttime \- ¥í¥°¥¤¥ó¤È¥Ý¡¼¥È¤Îµö²Ä .br /etc/utmp \- ¸½ºß¤Î¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó .SH Ãø¼Ô diff --git a/man/ja/mkpasswd.8 b/man/ja/mkpasswd.8 index c973d9be..3eeda4c5 100644 --- a/man/ja/mkpasswd.8 +++ b/man/ja/mkpasswd.8 @@ -1,3 +1,4 @@ +.\"$Id: mkpasswd.8,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,60 +26,62 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: mkpasswd.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated & Modified Sat 21 Sep 2002 by NAKANO Takeo .\" -.\" .TH MKPASSWD 1 .TH MKPASSWD 8 .SH ̾Á° -mkpasswd \- passwdµÚ¤Ógroup¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë +mkpasswd \- passwd ¤È group ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë .SH ½ñ¼° \fBmkpasswd\fR [\fB-fvgps\fR] \fIfile\fR .SH ÀâÌÀ .B mkpasswd -¤Ï¥Õ¥é¥Ã¥°¤ÇÍ¿¤¨¤é¤ì¤¿½ñ¼°¤Ë¤·¤¿¤¬¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢ -Âбþ¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤ËÊÑ´¹¤¹¤ë¡£ -ºîÀ®¤µ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢Â¿¤¯¤Î¥æ¡¼¥¶¤¬¤¤¤ë¥·¥¹¥Æ¥à¤Ç¤Î¥¢¥¯¥»¥¹ -¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò²þÁ±¤¹¤ë°Ù¤ËÍѤ¤¤é¤ì¤ë¡£ -½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï\fIfile\fR.dirµÚ¤Ó\fIfile\fR.pag¤È¤Î̾Á°¤¬ÉÕ¤±¤é¤ì¤ë¡£ +¤Ï¥Õ¥é¥°¤ÇÍ¿¤¨¤é¤ì¤¿½ñ¼°¤Ë¤·¤¿¤¬¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢ +¤½¤ì¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë·Á¼°¤ËÊÑ´¹¤¹¤ë¡£ +ºîÀ®¤µ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢ +¿¤¯¤Î¥æ¡¼¥¶¤¬¤¤¤ë¥·¥¹¥Æ¥à¤Ç¤Î¥¢¥¯¥»¥¹À­Ç½¤ò²þÁ±¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ +½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï +\fIfile\fR.dir ¤ª¤è¤Ó \fIfile\fR.pag¤È¤Ê¤ë¡£ .PP -\fB-f\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\fBmkpasswd\fR¤Ï´û¤Ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬Â¸ºß -¤·¤Æ¤¤¤Æ¤â̵»ë¤·¤Æ¾å½ñ¤­¤ò¹Ô¤Ê¤¦¡£ -Ä̾ï¤Ï¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤¹¤ë¤È¤Î·Ù¹ð¤òȯ¤·¤ÆÃæÅÓ½ªÎ»¤¹¤ë¡£ +\fB-f\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ +\fBmkpasswd\fR ¤Ï½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Æ¤â̵»ë¤·¤Æ¾å½ñ¤­¤¹¤ë¡£ +Ä̾ï¤Ï¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤¹¤ë»Ý¤Î·Ù¹ð¤òȯ¤·¤Æ½ªÎ»¤¹¤ë¡£ .PP -\fB-v\fR¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤¿¾ì¹ç¡¢\fBmkpasswd\fR¤ÏÊÑ´¹¤ò¹Ô¤Ê¤¦Ëè¤Ë -³Æ¥ì¥³¡¼¥É¤Î¾ðÊó¤ò½ÐÎϤ¹¤ë¤È¤È¤â¤Ë¡¢ºÇ¸å¤Ë½ªÎ»¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£ +\fB-v\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ +\fBmkpasswd\fR ¤ÏÊÑ´¹¤ò¹Ô¤Ê¤¦Ëè¤Ë³Æ¥ì¥³¡¼¥É¤Î¾ðÊó¤ò½ÐÎϤ·¡¢ +ºÇ¸å¤Ë½ªÎ»¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£ .PP -\fB-g\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬\fI/etc/group\fR -¥Õ¥¡¥¤¥ë¤ÈƱ¤¸½ñ¼°¤Ç¤¢¤ë¤È¤·¤Æ½èÍý¤ò¹Ô¤Ê¤¦¡£ -\fB-s\fR¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤ÆÍѤ¤¤¿¾ì¹ç¤Ï¡¢\fI/etc/gshadow\fR¥Õ¥¡¥¤¥ë -¤Î½ñ¼°¤È¤·¤Æ°·¤¦¡£ +\fB-g\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ +ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬ \fI/etc/group\fR +¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ç¤¢¤ë¤È¤ß¤Ê¤·¤Æ½èÍý¤ò¹Ô¤Ê¤¦¡£ +\fB-s\fR ¥ª¥×¥·¥ç¥ó¤ÈƱ»þ¤ËÍѤ¤¤¿¾ì¹ç¤Ï¡¢ +\fI/etc/gshadow\fR ¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤¬ÍѤ¤¤é¤ì¤ë¡£ .PP -\fB-p\fR¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤¿¾ì¹ç¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤¬\fB/etc/passwd\fR -¤Î·Á¼°¤Ç¤¢¤ë¤È¤·¤Æ½èÍý¤¹¤ë¡£ -¥Ç¥£¥Õ¥©¥ë¥È¡£ -\fB-s\fR¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤¿¾ì¹ç¤Ï¡¢\fI/etc/shadow\fR¥Õ¥¡¥¤¥ë¤Î -½ñ¼°¤È¤·¤Æ½èÍý¤ò¹Ô¤¦¡£ +\fB-p\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ +ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬ \fB/etc/passwd\fR +¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ç¤¢¤ë¤È¤ß¤Ê¤·¤Æ½èÍý¤ò¹Ô¤¦¡£ +¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¢¤ë¡£ +\fB-s\fR ¥ª¥×¥·¥ç¥ó¤ÈƱ»þ¤ËÍѤ¤¤¿¾ì¹ç¤Ï¡¢ +\fI/etc/shadow\fR ¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤¬ÍѤ¤¤é¤ì¤ë¡£ .SH ·Ù¹ð -Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¡¢NDBM¥Ç¡¼¥¿¥Ù¡¼¥¹¥é¥¤¥Ö¥é¥ê -¤¬È÷¤ï¤Ã¤¿¥·¥¹¥Æ¥à¤Ç¤Î¤ß²Äǽ¤Ç¤¢¤ê¡¢Á´¤Æ¤Î¥·¥¹¥Æ¥à¤ÇÍѤ¤¤ë»ö¤¬½ÐÍè¤ë -Ìõ¤Ç¤Ï¤Ê¤¤¡£ +Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»È¤¨¤ë¤Î¤Ï¡¢ +NDBM ¥Ç¡¼¥¿¥Ù¡¼¥¹¥é¥¤¥Ö¥é¥ê¤òÈ÷¤¨¤¿¥·¥¹¥Æ¥à¤Î¤ß¤Ç¤¢¤ê¡¢ +¤É¤ó¤Ê¥·¥¹¥Æ¥à¤Ç¤â²Äǽ¤Ê¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ .SH Ãí°Õ -ÂçÄñ¤Î¥³¥Þ¥ó¥É¤ÏÊѹ¹¤ò»Ü¤·¤¿ºÝ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë¤³¤È¤¬½ÐÍè¤ë -¤Î¤Ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¸í¤Ã¤Æ¾Ãµî¤·¤Æ¤·¤Þ¤Ã¤¿¡¢¤Þ¤¿¤Ï²õ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹ -¥Õ¥¡¥¤¥ë¤òºÆÀ¸¤¹¤ë»þ¤Ë¤Î¤ßɬÍפˤʤ롣 +ÂçÄñ¤Î¥³¥Þ¥ó¥É¤ÏÊѹ¹¤ÎºÝ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ëµ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤ë¤Î¤Ç¡¢ +¤³¤Î¥³¥Þ¥ó¥É¤¬É¬Íפˤʤë¤Î¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤ä¡¢ +¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬²õ¤ì¤¿¾ì¹ç¤Ê¤É¤Ë¡¢ºÆÀ¸À®¤¹¤ë¤È¤­¤À¤±¤Ç¤¢¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Î¾ðÊó +\fI/etc/passwd\fR \ - ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- shadow¤·¤¿¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Î¾ðÊó +\fI/etc/shadow\fR \ - shadow ²½¤µ¤ì¤¿¥æ¡¼¥¶¾ðÊó .br -/etc/group \- ¥°¥ë¡¼¥×¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¾ðÊó .br -/etc/gshadow \- shadow¤·¤¿¥°¥ë¡¼¥×¾ðÊó +\fI/etc/gshadow\fR \- shadow ²½¤µ¤ì¤¿¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR group (5), .BR passwd (5), diff --git a/man/ja/newgrp.1 b/man/ja/newgrp.1 index 13d6d45f..96310eb7 100644 --- a/man/ja/newgrp.1 +++ b/man/ja/newgrp.1 @@ -1,3 +1,4 @@ +.\"$Id: newgrp.1,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,59 +26,67 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: newgrp.1,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated & Modified Sun 3 Mar 2002 by NAKANO Takeo +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH NEWGRP 1 .SH ̾Á° -newgrp \- ¥°¥ë¡¼¥×ID¤òÊѹ¹¤¹¤ë +newgrp \- ¿·¤·¤¤¥°¥ë¡¼¥×¤Ë¥í¥°¥¤¥ó¤¹¤ë .br -sg \- °Û¤Ê¤ë¥°¥ë¡¼¥×ID¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë +sg \- Ê̤Υ°¥ë¡¼¥× ID ¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë .SH ½ñ¼° -.BR newgrp " [" - ] -[\fIgroup\fR] +\fBnewgrp\fR [\fB-\fR] [\fIgroup\fR] .br -.BR sg " [" - ] -[\fIgroup\fR [[\fB-c\fR] \fIcommand\fR]] +\fBsg\fR [\fB-\fR] [\fIgroup\fR [[\fB-c\fR] \fIcommand\fR]] .SH ÀâÌÀ .B newgrp -¤Ï¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥óÃæ¤Ë¸½ºß¤Î¥°¥ë¡¼¥×ID¤òÊѹ¹¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ -¥ª¥×¥·¥ç¥ó¤È¤·¤Æ\fB\-\fR¥Õ¥é¥°¤òÍ¿¤¨¤¿¾ì¹ç¤Ï¡¢ +¤Ï¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥óÃæ¤Ë¸½ºß¤Î¥°¥ë¡¼¥× ID ¤òÊѹ¹¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ +¥ª¥×¥·¥ç¥ó¤È¤·¤Æ \fB\-\fR ¥Õ¥é¥°¤òÍ¿¤¨¤¿¾ì¹ç¤Ï¡¢ ¿·¤¿¤Ë¥í¥°¥¤¥ó¤·¤¿¤Î¤ÈƱ¤¸Íͤ˴Ķ­¤¬ºÆ½é´ü²½¤µ¤ì¤ë¡£ -¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢ºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤á¤Æ¡¢¸½ºß¤Î´Ä¶­¤ÏÊѲ½¤·¤Ê¤¤¡£ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤á¤Æ¡¢ +¸½ºß¤Î´Ä¶­¤ÏÊѲ½¤·¤Ê¤¤¡£ .PP .B newgrp -¤Ï¡¢¸½ºß¤Î¼ÂºÝ¤Î¥°¥ë¡¼¥×ID¤ò¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ë¡¢ -¤Þ¤¿¥°¥ë¡¼¥×̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï\fI/etc/passwd\fR¤Ëµ­ºÜ¤µ¤ì¤¿ -¥Ç¥£¥Õ¥©¥ë¥È¤Î¥°¥ë¡¼¥×¤Ë¡¢Êѹ¹¤¹¤ë¡£ +¤Ï¸½ºß¤Î¼Â¥°¥ë¡¼¥× ID ¤ò¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ë +(¥°¥ë¡¼¥×̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï \fI/etc/passwd\fR +¤Ëµ­ºÜ¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È¤Î¥°¥ë¡¼¥×¤Ë) Êѹ¹¤¹¤ë¡£ ¥æ¡¼¥¶¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬¤Ê¤¯¥°¥ë¡¼¥×¤Ë¤Ï¤¢¤ë¾ì¹ç¡¢ -¤â¤·¤¯¤Ï¡¢¥á¥ó¥Ð¡¼¤Ç¤¢¤ë¤ÈÀßÄꤵ¤ì¤Æ¤ª¤é¤º¡¢ -¤·¤«¤â¥°¥ë¡¼¥×¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ -¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤ë¡£ -¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤ª¤é¤º¡¢¤«¤Ä¥æ¡¼¥¶¤¬¥á¥ó¥Ð¡¼¤È¤·¤Æ -ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹¤òµñÈݤµ¤ì¤ë¡£ +¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¤¬¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤Ç¤Ï¤Ê¤¯ +¥°¥ë¡¼¥×¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ +¤½¤Î¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤ë¡£ +¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤ª¤é¤º¡¢ +¤«¤Ä¥æ¡¼¥¶¤¬¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢ +¥¢¥¯¥»¥¹¤ÏµñÈݤµ¤ì¤ë¡£ .PP .B sg -¥³¥Þ¥ó¥É¤Ï\fBnewgrp\fR¤ÈƱÍÍ¤ÊÆ¯¤­¤ò¤¹¤ë¤¬¡¢ -¥æ¡¼¥¶¤Î¥·¥§¥ë¤ÏÃÖ¤­´¹¤ï¤é¤Ê¤¤¡£ -½¾¤Ã¤Æ¡¢\fBsg\fR¥³¥Þ¥ó¥É¤«¤éÈ´¤±¤¿¾ì¹ç¤Ï°ÊÁ°¤Î¥°¥ë¡¼¥×ID¤ËÌá¤ë¡£ +¥³¥Þ¥ó¥É¤Ï +.B newgrp +¤ÈƱÍÍ¤ËÆ°ºî¤¹¤ë¤¬¡¢¥³¥Þ¥ó¥É¤ò¼õ¤±ÉÕ¤±¤ë¡£ +¤³¤Î¥³¥Þ¥ó¥É¤Ï Bourne ¥·¥§¥ë¤Ç¼Â¹Ô¤µ¤ì¤ë¡£ +¥³¥Þ¥ó¥É¤¬Ê£¿ô¤Îñ¸ì¤«¤é¤Ê¤ë¾ì¹ç¤Ï¡¢ +sg ¤Î¼Â¹Ô¸µ¤È¤Ê¤ë¤Ç¤¢¤í¤¦¥·¥§¥ë¤Î¤Û¤È¤ó¤É¤Ë¤ª¤¤¤Æ¡¢ +¤³¤ì¤é¤ò¥¯¥©¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ë¤À¤í¤¦¡£ +.BR newgrp " ¤È " sg +¤Î¤â¤¦°ì¤Ä¤Î°ã¤¤¤Ï¡¢ +ÆÃÄê¤Î¥·¥§¥ë¤¬ \fBnewgrp\fR ¤òÆÃÊ̤˰·¤¦ÅÀ¤Ë¤¢¤ë¡£ +¤³¤Î¤è¤¦¤Ê¥·¥§¥ë¤Ï¡¢¼«Ê¬¼«¿È¤ò +.B newgrp +¤¬À¸À®¤·¤¿¿·¤·¤¤¼ÂÂΤÈÃÖ¤­´¹¤¨¤ë¡£¤³¤Î¤è¤¦¤Ê¤³¤È¤Ï .B sg -¤Ï¥³¥Þ¥ó¥É¤â¼õ¤±ÉÕ¤±¤ë¡£ -¥³¥Þ¥ó¥É¤ÏBourne¥·¥§¥ë¤Ç¼Â¹Ô¤µ¤ì¡¢°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -.SH ·Ù¹ð -¤³¤ÎÈǤÎ\fBnewgrp\fR¤Ë¤Ï¿¤¯¤Î¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤¬¡¢ -¥µ¥¤¥È¤Ë¤è¤Ã¤Æ¤Ï¡¢¤½¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤·¤«ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â¤¢¤ë¡£ +¤Ç¤Ïµ¯¤­¤Ê¤¤¤Î¤Ç¡¢ +.B sg +¥³¥Þ¥ó¥É¤«¤éÌá¤Ã¤¿ºÝ¤Ë¤Ï°ÊÁ°¤Î¥°¥ë¡¼¥× ID ¤ËÌá¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/group \- ¥°¥ë¡¼¥×¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR id (1), .BR login (1), .BR su (1) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/newusers.8 b/man/ja/newusers.8 index 154cc712..bfc765b3 100644 --- a/man/ja/newusers.8 +++ b/man/ja/newusers.8 @@ -1,3 +1,4 @@ +.\"$Id: newusers.8,v 1.3 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,49 +26,46 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: newusers.8,v 1.1 2001/11/16 17:00:48 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1996 HANATAKA Shinya .\" all rights reserved. .\" Translated Wed Nov 20 17:42:39 JST 1996 .\" by HANATAKA Shinya +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" .TH NEWUSERS 8 .SH ̾Á° -\fBnewusers\fR - ¥æ¡¼¥¶¾ðÊó¤ÎÊѹ¹¤ä¿·µ¬¥æ¡¼¥¶ºîÀ®¤ò¤Þ¤È¤á¤Æ¹Ô¤¦ +newusers \- ¥æ¡¼¥¶¤Î¿·µ¬ºîÀ®¤ä¾ðÊ󹹿·¤ò¥Ð¥Ã¥Á½èÍý¤Ç¹Ô¤¦ .SH ½ñ¼° -\fBnewusers\fR [\fI new_users \fR] +\fBnewusers\fR [\fInew_users\fR] .SH ÀâÌÀ -\fBnewusers\fR ¤Ï¡¢¥æ¡¼¥¶Ì¾¤Èʿʸ¥Ñ¥¹¥ï¡¼¥É¤ÎÂФòµ­¤·¤¿¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¡¢ -¤½¤Î¾ðÊó¤ò¤â¤È¤Ë¡¢´û¸¤Î¥æ¡¼¥¶¾ðÊó¤ÎÊѹ¹¤ä¡¢¿·µ¬¥æ¡¼¥¶¤ÎºîÀ®¤ò¹Ô¤¦¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ï¡¢²¼µ­¤ÎÅÀ¤ò½ü¤­¡¢ -ɸ½àŪ¤Ê¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë (\fBpasswd\fR(5) »²¾È) ¤ÈƱ¤¸¤Ç¤¢¤ë¡£ +\fBnewusers\fR ¤Ï¥æ¡¼¥¶Ì¾¤Èʿʸ¥Ñ¥¹¥ï¡¼¥É¤È¤ÎÁȤòµ­¤·¤¿¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¡¢ +¤½¤Î¾ðÊó¤ò¤â¤È¤Ë´û¸¤Î¥æ¡¼¥¶¾ðÊó¤ÎÊѹ¹¤ä¿·µ¬¥æ¡¼¥¶¤ÎºîÀ®¤ò¹Ô¤¦¡£ +¤³¤Î¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ï¡¢ +²¼µ­¤ÎÅÀ¤ò½ü¤­É¸½àŪ¤Ê¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë +(\fBpasswd\fR(5) »²¾È) ¤ÈƱ¤¸¤Ç¤¢¤ë¡£ .IP "\fIpw_passwd\fR" 10 -¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬°Å¹æ²½¤µ¤ì¡¢°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤È¤Ê¤ë¡£ +¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬°Å¹æ²½¤µ¤ì¡¢¿·¤·¤¤°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤È¤Ê¤ë¡£ .IP "\fIpw_age\fR" -¥æ¡¼¥¶¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ò±£¤¹¤¿¤á¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤ë¡£ +¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï shadow ¥Õ¥¡¥¤¥ë¸þ¤±¤Î¾ðÊó¤Ç¤¢¤ë¤¬¡¢ +¥æ¡¼¥¶¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï̵»ë¤µ¤ì¤ë¡£ .IP "\fIpw_gid\fR" ¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ë´û¸¤Î¥°¥ë¡¼¥×¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ ¥æ¡¼¥¶¤Ï¤½¤Î¥°¥ë¡¼¥×¤Ë²Ã¤¨¤é¤ì¤ë¡£ ¸ºß¤·¤Ê¤¤¥°¥ë¡¼¥× ID ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ -¤½¤Î¥°¥ë¡¼¥× ID ¤ò¤â¤Ä¿·¤¿¤Ê¥°¥ë¡¼¥×¤¬ºî¤é¤ì¤ë¡£ +¤½¤Î¥°¥ë¡¼¥× ID ¤Ç¿·¤¿¤Ê¥°¥ë¡¼¥×¤¬ºîÀ®¤µ¤ì¤ë¡£ .IP "\fIpw_dir\fR" ¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¥Á¥§¥Ã¥¯¤·¡¢ -¤â¤·Â¸ºß¤·¤Ê¤±¤ì¤Ð¡¢¿·¤¿¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤¬ºî¤é¤ì¤ë¡£ -¤Þ¤¿¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ -¿·µ¬¥æ¡¼¥¶¡¢¤¢¤ë¤¤¤Ï¾ðÊó¤¬Êѹ¹¤µ¤ì¤¿¥æ¡¼¥¶¤¬½êÍ­¼Ô¤È¤Ê¤ë¡£ +¤â¤·Â¸ºß¤·¤Ê¤±¤ì¤Ð¿·¤¿¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤¬ºî¤é¤ì¤ë¡£ +¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î½êÍ­¼Ô¤Ï¡¢ +¿·µ¬ºîÀ®¤µ¤ì¤¿¥æ¡¼¥¶¡¢¤¢¤ë¤¤¤Ï¾ðÊó¤¬Êѹ¹¤µ¤ì¤¿¥æ¡¼¥¶¤È¤Ê¤ë¡£ .PP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Â¿¤¯¤Î¥¢¥«¥¦¥ó¥È¤¬°ìÅÙ¤ËÊѹ¹¤µ¤ì¤ë¤è¤¦¤Ê -Â礭¤Ê¥·¥¹¥Æ¥à´Ä¶­¤Ç»È¤¦¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£ +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Æ±»þ¤ËÂçÎ̤Υ¢¥«¥¦¥ó¥È¤òºîÀ®¤¹¤ë¤è¤¦¤Ê¡¢ +Â絬ÌϤʥ·¥¹¥Æ¥à´Ä¶­¤ÇÍѤ¤¤ë¤¿¤á¤Ëºî¤é¤ì¤¿¡£ .SH ·Ù¹ð -.\" The \fImkpasswd\fR command must be executed afterwards to update the -.\" DBM password files. -ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢À¸¤Î¥Ñ¥¹¥ï¡¼¥É¤¬´Þ¤Þ¤ì¤ë¤¿¤á¡¢°·¤¤¤ËÃí°Õ¤¹¤ë¤³¤È¡£ +ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï°Å¹æ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ñ¥¹¥ï¡¼¥É¤¬´Þ¤Þ¤ì¤ë¤¿¤á¡¢ +ŬÀÚ¤ËÊݸ¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .SH ´ØÏ¢¹àÌÜ -.\" mkpasswd(8), passwd(1), useradd(1) .BR passwd (1), .BR useradd (8) .SH Ãø¼Ô Julianne Frances Haugh (jockgrrl@ix.netcom.com) - - diff --git a/man/ja/passwd.1 b/man/ja/passwd.1 index af49c90c..97b1b6b7 100644 --- a/man/ja/passwd.1 +++ b/man/ja/passwd.1 @@ -1,3 +1,4 @@ +.\"$Id: passwd.1,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,12 +26,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: passwd.1,v 1.3 2001/12/22 05:40:04 kloczek Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated 2 Mar 2002 by NAKANO Takeo +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH PASSWD 1 .SH ̾Á° @@ -40,147 +41,176 @@ passwd \- .br \fBpasswd\fR [\fB-g\fR] [\fB-r\fR|\fB-R\fR] \fIgroup\fR .br -\fBpasswd\fR [\fB-x\fR \fImax\fR] [\fB-n\fR \fImin\fR] -[\fB-w\fR \fIwarn\fR] [\fB-i\fR \fIinact\fR] \fIname\fR +\fBpasswd\fR [\fB-x \fImax\fR] [\fB-n \fImin\fR] +[\fB-w \fIwarn\fR] [\fB-i \fIinact\fR] \fIlogin\fR .br -\fBpasswd\fR {\fB-l\fR|\fB-u\fR|\fB-d\fR|\fB-S\fR} \fIname\fR +\fBpasswd\fR {\fB-l\fR|\fB-u\fR|\fB-d\fR|\fB-S\fR|\fB-e\fR} \fIlogin\fR .SH ÀâÌÀ -\fBpasswd\fR¤Ï¥æ¡¼¥¶µÚ¤Ó¥°¥ë¡¼¥×¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¡£ +\fBpasswd\fR ¤Ï¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¡¦¥°¥ë¡¼¥×¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¡£ °ìÈ̥桼¥¶¤Ï¼«Ê¬¤Î¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤·¤«Êѹ¹¤Ç¤­¤Ê¤¤¡£ -¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ï¤¤¤«¤Ê¤ë¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤âÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -¥°¥ë¡¼¥×¤Î´ÉÍý¼Ô¤Ï¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -\fBpasswd\fR¤Ë¤è¤Ã¤Æ¡¢¥æ¡¼¥¶¤Î¥Õ¥ë¥Í¡¼¥à¡¢¥í¥°¥¤¥ó¥·¥§¥ë¡¢¥Ñ¥¹¥ï¡¼¥É¤Î -´ü¸ÂÀÚ¤ì¤ÎÆüÉÕµÚ¤ÓÍ­¸ú´ü´ÖÅù¤Î¥¢¥«¥¦¥ó¥È¾ðÊó¤òÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ï¤¤¤«¤Ê¤ë¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤âÊѹ¹¤Ç¤­¤ë¡£ +¥°¥ë¡¼¥×¤Î´ÉÍý¼Ô¤Ï¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤Ç¤­¤ë¡£ +\fBpasswd\fR ¤Ë¤è¤Ã¤Æ¡¢¥æ¡¼¥¶¤Î¥Õ¥ë¥Í¡¼¥à¡¦¥í¥°¥¤¥ó¥·¥§¥ë¡¦ +¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸ÂÀÚ¤ì¤ÎÆüÉÕ¡¦ +Í­¸ú´ü´Ö¤È¤¤¤Ã¤¿¥¢¥«¥¦¥ó¥È¾ðÊó¤òÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +.PP +.B -s +¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È +.BR passwd " ¤Ï " chsh +¤ò¸Æ¤Ó½Ð¤·¤Æ¥æ¡¼¥¶¤Î¥·¥§¥ë¤òÊѹ¹¤¹¤ë¡£ +.B -f +¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È +.BR passwd " ¤Ï " chfn +¤ò¸Æ¤Ó½Ð¤·¤Æ¥æ¡¼¥¶¤Î GECOS ¾ðÊó¤òÊѹ¹¤¹¤ë¡£ +¤³¤ì¤é¤Î 2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¸ß´¹À­¤Î¤¿¤á¤À¤±¤Ë¤¢¤ë¡£ +chsh ¤ä chfn ¤òľÀܸƤӽФ·¤Æ¤â¹½¤ï¤Ê¤¤¡£ .SS ¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹ -¥Ñ¥¹¥ï¡¼¥É¤¬´û¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢À褺¸Å¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ -ÆþÎϤµ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢°Å¹æ²½¤µ¤ì¡¢µ­Ï¿¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¾È¹ç¤µ¤ì¤ë¡£ -Àµ¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò1²ó¤ÇÆþÎϤ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Ñ¥¹¥ï¡¼¥É¤¬´û¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤Þ¤º¸Å¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ +ÆþÎϤµ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï°Å¹æ²½¤µ¤ì¡¢µ­Ï¿¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¾È¹ç¤µ¤ì¤ë¡£ +Àµ¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò 1 ²ó¤ÇÆþÎϤ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ò˺¤ì¤Æ¤·¤Þ¤Ã¤¿ºÝ¤ÎÊѹ¹¤â¹Ô¤Ê¤¨¤ëÍͤˡ¢ -¤³¤Î¥¹¥Æ¥Ã¥×¤ò̵»ë¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +¤³¤Î¥¹¥Æ¥Ã¥×¤ò¾Êά¤Ç¤­¤ë¡£ .PP ¥Ñ¥¹¥ï¡¼¥É¤¬ÆþÎϤµ¤ì¤¿¸å¡¢¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤Î¾ðÊó¤òÄ´¤Ù¡¢ ¸½ºß¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤¬µö¤µ¤ì¤Æ¤¤¤ë¤«¸¡ºº¤¹¤ë¡£ -¤â¤·µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fBpasswd\fR¤ÏÊѹ¹¤òµñÈݤ·¤Æ½ªÎ»¤¹¤ë¡£ +¤â¤·µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ +\fBpasswd\fR ¤ÏÊѹ¹¤òµñÈݤ·¤Æ½ªÎ»¤¹¤ë¡£ .PP -¼¡¤¤¤Ç¡¢Âå¤ï¤ê¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ -ÆþÎϤµ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÏÊ£»¨¤µ¤ò¸¡ºº¤µ¤ì¤ë¡£ -°ìÈÌŪ¤Ê»Ø¿Ë¤È¤·¤Æ¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï°Ê²¼¤Î½¸¹ç¤½¤ì¤¾¤ì¤«¤é°ì¤Ä°Ê¾å¤Î -ʸ»ú¤ò»È¤Ã¤¿6¤«¤é8ʸ»ú¤Î¤â¤Î¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë +¼¡¤Ë¥æ¡¼¥¶¤Ï¡¢ÃÖ¤­´¹¤¨¤ë¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ +ÆþÎϤµ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢½¼Ê¬Ê£»¨¤«¤É¤¦¤«¸¡ºº¤µ¤ì¤ë¡£ +°ìÈÌŪ¤Ê»Ø¿Ë¤È¤·¤Æ¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¤Ï°Ê²¼¤Î½¸¹ç¤½¤ì¤¾¤ì¤«¤é°ì¤Ä°Ê¾å¤Îʸ»ú¤ò»È¤Ã¤¿ +6 ¤«¤é 8 ʸ»ú¤Î¤â¤Î¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë¡£ .IP "" .5i ¾®Ê¸»ú¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È .IP "" .5i Âçʸ»ú¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È .IP "" .5i -0¤«¤é9Ëø¤Î¿ô»ú +0 ¤«¤é 9 ¤Þ¤Ç¤Î¿ô»ú .IP "" .5i ¶çÆÉÅÀ .PP -¥·¥¹¥Æ¥à¤Î¥Ç¥£¥Õ¥©¥ë¥È¤Î¾Ãµîʸ»ú¤äkillʸ»ú¤ò´Þ¤á¤Ê¤¤ÍÍ¤Ë -Ãí°Õ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -\fBpasswd\fR¤Ï¤¢¤Þ¤ê¤Ëñ½ã¤Ê¥Ñ¥¹¥ï¡¼¥É¤Ø¤ÎÊѹ¹¤ÏµñÈݤ¹¤ë¡£ +¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥©¥ë¥È¤Î¾Ãµîʸ»ú¤ä +kill ʸ»ú¤ò´Þ¤á¤Ê¤¤¤è¤¦¤ËÃí°Õ¤¹¤ë¤³¤È¡£ +\fBpasswd\fR ¤Ï¤¢¤Þ¤ê¤Ëñ½ã¤Ê¥Ñ¥¹¥ï¡¼¥É¤Ø¤ÎÊѹ¹¤ÏµñÈݤ¹¤ë¡£ .PP ÆþÎϤ·¤¿¥Ñ¥¹¥ï¡¼¥É¤¬¼õ¤±Æþ¤ì¤é¤ì¤¿¾ì¹ç¡¢ -\fBpasswd\fR¤Ï¤â¤¦°ìÅÙÆþÎϤòÂ¥¤·¡¢ÆóÈÖÌÜ¤ËÆþÎϤ·¤¿¤â¤Î¤òºÇ½é¤Î -¤â¤Î¤ÈÈæ³Ó¤¹¤ë¡£ -¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤¬¼õ¤±Æþ¤ì¤é¤ì¤ë¤¿¤á¤Ë¤Ï¡¢Î¾Êý¤ÎÆþÎϤ¬Éä¹ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +\fBpasswd\fR ¤Ï¤â¤¦°ìÅÙÆþÎϤòÂ¥¤·¡¢ +ÆóÈÖÌÜ¤ËÆþÎϤ·¤¿¤â¤Î¤òºÇ½é¤Î¤â¤Î¤ÈÈæ³Ó¤¹¤ë¡£ +¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤¬¼õ¤±Æþ¤ì¤é¤ì¤ë¤¿¤á¤Ë¤Ï¡¢ +¤³¤Îξ¼Ô¤¬¹çÃפ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ .SS ¥°¥ë¡¼¥×¥Ñ¥¹¥ï¡¼¥É -\fB-g\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤¿¾ì¹ç¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹¤µ¤ì¤ë¡£ -¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤«»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î´ÉÍý¼Ô¤Ç¤Ê¤¤¤È -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï»È¤¨¤Ê¤¤¡£ +\fB-g\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤¿¾ì¹ç¡¢ +»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹¤µ¤ì¤ë¡£ +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤«»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î´ÉÍý¼Ô¤·¤«»È¤¨¤Ê¤¤¡£ ¸½ºß¤Î¥°¥ë¡¼¥×¥Ñ¥¹¥ï¡¼¥É¤Ï¿Ò¤Í¤Æ¤³¤Ê¤¤¡£ -\fB-g\fR¥ª¥×¥·¥ç¥ó¤ò\fB-r\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤ËÍѤ¤¤ë¤È¡¢ +\fB-g\fR ¥ª¥×¥·¥ç¥ó¤ò \fB-r\fR ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤ËÍѤ¤¤ë¤È¡¢ »ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤¬ºï½ü¤µ¤ì¤ë¡£ -¤³¤¦¤¹¤ë¤È¡¢Á´¤Æ¤Î¥á¥ó¥Ð¡¼¤¬¤³¤Î¥°¥ë¡¼¥×¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£ -\fB-R\fR¥ª¥×¥·¥ç¥ó¤ò\fB-g\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤ËÍѤ¤¤ë¤È¡¢ -Á´¤Æ¤Î¥æ¡¼¥¶¤ËÂФ·¤Æ»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ø¤Î¥¢¥¯¥»¥¹¤ò¶Ø»ß¤¹¤ë»ö¤¬½ÐÍè¤ë¡£ +¤³¤¦¤¹¤ë¤ÈÁ´¤Æ¤Î¥á¥ó¥Ð¡¼¤¬¤³¤Î¥°¥ë¡¼¥×¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£ +\fB-R\fR ¥ª¥×¥·¥ç¥ó¤ò \fB-g\fR ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤ËÍѤ¤¤ë¤È¡¢ +Á´¤Æ¤Î¥æ¡¼¥¶¤ËÂФ·¤Æ»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ø¤Î¥¢¥¯¥»¥¹¤ò¶Ø»ß¤Ç¤­¤ë¡£ .SS ¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¾ðÊó -¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤Î¾ðÊó¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤¬\fB-x\fR¡¢\fB-n\fR¡¢ -\fB-w\fRµÚ¤Ó\fB-i\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ÆÊѹ¹¤Ç¤­¤ë¡£ -\fB-x\fR¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Í­¸ú¤ÊºÇÂçÆü¿ô¤òÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ -\fImax\fRÆü¤¬²á¤®¤ë¤È¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤è¤¦¤Ëµá¤á¤é¤ì¤ë¡£ -\fB-n\fR¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹²Äǽ¤È¤Ê¤ë¤Þ¤Ç¤ÎºÇ¾®Æü¿ô¤ò -ÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ -¥æ¡¼¥¶¤Ï\fImin\fRÆü¤¬·Ð²á¤·¤¿¸å¤Ç¤Ê¤¤¤È¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤³¤È¤¬ -¤Ç¤­¤Ê¤¤¡£ -\fB-w\fR¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤Î»ÈÍÑ´ü¸Â¤¬Íè¤ëÁ°¤Ë²¿Æü´Ö -·Ù¹ð¤òÍ¿¤¨¤ë¤«¤òÀßÄꤹ¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ -´ü¸ÂÀÚ¤ì¤Î\fIwarn\fRÆüÁ°¤«¤éÃí°Õ¤¬³«»Ï¤µ¤ì¡¢ -¤¢¤È²¿Æü¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤ë¤«¤¬¼¨¤µ¤ì¤ë¡£ -\fB-i\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸Â¤¬Àڤ줿¤¢¤È²¿Æü´Ö¤½¤Î¥¢¥«¥¦¥ó¥È -¤¬»ÈÍÑÉÔǽ¤Î¾õÂ֤ˤ¹¤ë¤«¤òÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤ë¡£ -\fIinact\fRÆü´Ö¥¢¥«¥¦¥ó¥È¤ò¥Ñ¥¹¥ï¡¼¥É´ü¸ÂÀÚ¤ì¾õÂ֤Τޤޤˤ¹¤ë¤È¡¢ -¥æ¡¼¥¶¤Ï¤½¤Î¥¢¥«¥¦¥ó¥È¤ËÆþ¤ë¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤ë¡£ +¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤Ë´Ø¤¹¤ë¾ðÊó¤òÊѹ¹¤Ç¤­¤ë¡£ +¤³¤ì¤Ë¤Ï \fB-x\fR, \fB-n\fR, \fB-w\fR, \fB-i\fR ¤Ê¤É¤Î¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¡£ +\fB-x\fR ¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Í­¸ú¤ÊºÇĹÆü¿ô¤òÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ +\fImax\fR Æü¤¬²á¤®¤ë¤È¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤è¤¦¤Ëµá¤á¤é¤ì¤ë¡£ +\fB-n\fR ¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹²Äǽ¤È¤Ê¤ë¤Þ¤Ç¤Î +ºÇûÆü¿ô¤òÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ +¥æ¡¼¥¶¤Ï \fImin\fR Æü¤¬·Ð²á¤·¤¿¸å¤Ç¤Ê¤¤¤È¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤Ç¤­¤Ê¤¤¡£ +\fB-w\fR ¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥¹¥ï¡¼¥É¤Î»ÈÍÑ´ü¸Â¤¬Íè¤ëÁ°¤Ë +²¿Æü´Ö·Ù¹ð¤òÍ¿¤¨¤ë¤«¤òÀßÄꤹ¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ +´ü¸ÂÀÚ¤ì¤Î \fIwarn\fR ÆüÁ°¤«¤éÃí°Õ¤¬³«»Ï¤µ¤ì¡¢ +¥Ñ¥¹¥ï¡¼¥É¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤ë¤Þ¤Ç¤¢¤È²¿Æü»Ä¤Ã¤Æ¤¤¤ë¤«¤¬¼¨¤µ¤ì¤ë¡£ +\fB-i\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é²¿Æü´Ö·Ð²á¤·¤¿¤é¡¢ +¤½¤Î¥¢¥«¥¦¥ó¥È¤ò»ÈÍÑÉÔǽ¤Î¾õÂ֤ˤ¹¤ë¤«¤òÀßÄꤹ¤ë¤Î¤ËÍѤ¤¤ë¡£ +\fIinact\fR Æü´Ö¥¢¥«¥¦¥ó¥È¤ò¥Ñ¥¹¥ï¡¼¥É´ü¸ÂÀÚ¤ì¾õÂ֤Τޤޤˤ¹¤ë¤È¡¢ +¥æ¡¼¥¶¤Ï¤½¤Î¥¢¥«¥¦¥ó¥È¤ËÆþ¤ì¤Ê¤¯¤Ê¤ë¡£ +.PP +¤¢¤ë¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤òľ¤Á¤Ë´ü¸ÂÀÚ¤ì¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢ +\fB-e\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ì¤Ð¤è¤¤¡£ +¤¹¤ë¤È¤½¤Î¥æ¡¼¥¶¤Ï¼¡¤Ë¥í¥°¥¤¥ó¤¹¤ëºÝ¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤è¤¦¶¯À©¤µ¤ì¤ë¡£ +\fB-d\fR ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤òºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤ë +(¥Ñ¥¹¥ï¡¼¥É¤¬¶õ¤Ë¤Ê¤ë)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÃí°Õ¤·¤Æ»È¤¦¤³¤È¡£ +¤³¤ì¤ò»È¤¦¤È¡¢¤½¤Î¥¢¥«¥¦¥ó¥È¤Ï¥í¥°¥¤¥ó¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÁ´¤¯É¬ÍפȤ·¤Ê¤¯¤Ê¤ê¡¢ +¥·¥¹¥Æ¥à¤¬¿¯Æþ¼Ô¤ËÂФ·¤Æ¥ª¡¼¥×¥ó¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£ .SS ¥¢¥«¥¦¥ó¥È¤ÎÊݼé -\fB-l\fRµÚ¤Ó\fB-u\fR¥Õ¥é¥Ã¥°¤òÍѤ¤¤Æ¥¢¥«¥¦¥ó¥È¤ò¥í¥Ã¥¯¤·¤¿¤ê -¥í¥Ã¥¯¤ò³°¤·¤¿¤ê¤¹¤ë»ö¤¬½ÐÍè¤ë¡£ -\fB-l\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï°Å¹æ²½¤µ¤ì¤¿Ç¡²¿¤Ê¤ëÃͤȤâ -Éä¹ç¤·¤Ê¤¯¤Ê¤ê¡¢¥¢¥«¥¦¥ó¥È¤Ï»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¡£ -\fB-u\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤¬°ÊÁ°¤ÎÃͤËÌá¤ê¡¢ +\fB-l\fR ¥Õ¥é¥°¤È \fB-u\fR ¥Õ¥é¥°¤òÍѤ¤¤ë¤È¡¢ +¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ò¥í¥Ã¥¯¤·¤¿¤ê¡¢¤½¤Î¥í¥Ã¥¯¤ò³°¤·¤¿¤ê¤Ç¤­¤ë¡£ +\fB-l\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¡¢ +¥Ñ¥¹¥ï¡¼¥É¥Õ¥£¡¼¥ë¥É¤ÎÃͤϰŹ沽¤µ¤ì¤¿Ç¡²¿¤Ê¤ëÃͤȤâ¥Þ¥Ã¥Á¤·¤Ê¤¯¤Ê¤ê¡¢ +¥¢¥«¥¦¥ó¥È¤Ï»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¡£ +\fB-u\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï°ÊÁ°¤ÎÃͤËÌá¤ê¡¢ ¥¢¥«¥¦¥ó¥È¤¬ºÆ¤Ó»ÈÍѲÄǽ¤È¤Ê¤ë¡£ .PP -\fB-S\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¥¢¥«¥¦¥ó¥È¤Î¾õÂÖ¤¬É½¼¨¤µ¤ì¤ë¡£ -¥¢¥«¥¦¥ó¥È¤Î¾õÂ֤ξðÊó¤Ï6¤Ä¤ÎÉôʬ¤«¤é¤Ê¤ë¡£ -ºÇ½é¤ÎÉôʬ¤Ï¡¢¥¢¥«¥¦¥ó¥È¤Ë¥í¥Ã¥¯¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¤Î¤«(L)¡¢ -¥Ñ¥¹¥ï¡¼¥É¤¬Â¸ºß¤·¤Ê¤¤¤Î¤«(NP)¡¢ -¤â¤·¤¯¤Ï»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼¥É¤¬¤¢¤ë(P)¤Î¤«¤ò¼¨¤¹¡£ -2ÈÖÌܤϺǸå¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹¤µ¤ì¤¿ÆüÉÕ¤ò¼¨¤¹¡£ +\fB-S\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¥¢¥«¥¦¥ó¥È¤Î¾õÂÖ¤¬É½¼¨¤µ¤ì¤ë¡£ +¥¢¥«¥¦¥ó¥È¤Î¾õÂ֤ξðÊó¤Ï 6 ¤Ä¤ÎÉôʬ¤«¤é¤Ê¤ë¡£ +ºÇ½é¤ÎÉôʬ¤Ï¡¢¥¢¥«¥¦¥ó¥È¤Ë¥í¥Ã¥¯¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë (L)¡¢ +¥Ñ¥¹¥ï¡¼¥É¤¬Â¸ºß¤·¤Ê¤¤ (NP)¡¢ +¤â¤·¤¯¤Ï»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼¥É¤¬¤¢¤ë (P) ¤È¤¤¤Ã¤¿¾ðÊó¤ò¼¨¤¹¡£ +2 ÈÖÌܤϺǸå¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹¤µ¤ì¤¿ÆüÉÕ¤ò¼¨¤¹¡£ »Ä¤ê¤Î4¤Ä¤ÎÉôʬ¤Ï¤½¤ì¤¾¤ì¥Ñ¥¹¥ï¡¼¥É¤ÎºÇû´ü¸Â¡¢ºÇĹ´ü¸Â¡¢·Ù¹ð´ü´Ö¡¢ »ÈÍÑÉÔǽ´ü´Ö¤Ç¤¢¤ë¡£ .SS ¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É¤ËÂФ¹¤ë¥Ò¥ó¥È -¥Ñ¥¹¥ï¡¼¥É¤Î°ÂÁ´À­¤Ï°Å¹æ²½¥¢¥ë¥´¥ê¥º¥à¤Î¶¯ÎϤµ¤È¥­¡¼¶õ´Ö¤ÎÂ礭¤µ¤Ë -°Í¸¤¹¤ë¡£ -\fB\s-2UNIX\s+2\fR¤Î¥·¥¹¥Æ¥à°Å¹æ²½¤ÎÊýË¡¤ÏNBS DES¥¢¥ë¥´¥ê¥º¥à¤Ë -´ð¤Å¤¤¤Æ¤ª¤ê¡¢Èó¾ï¤Ë°ÂÁ´À­¤¬¹â¤¤¡£ +¥Ñ¥¹¥ï¡¼¥É¤Î°ÂÁ´À­¤Ï°Å¹æ²½¥¢¥ë¥´¥ê¥º¥à¤Î¶¯ÎϤµ¤È¥­¡¼¶õ´Ö¤ÎÂ礭¤µ¤Ë°Í¸¤¹¤ë¡£ +\fB\s-2UNIX\s+2\fR ¤Î¥·¥¹¥Æ¥à°Å¹æ²½¤ÎÊýË¡¤Ï +NBS DES ¥¢¥ë¥´¥ê¥º¥à¤Ë´ð¤Å¤¤¤Æ¤ª¤ê¡¢Èó¾ï¤Ë°ÂÁ´À­¤¬¹â¤¤¡£ ¥­¡¼¶õ´Ö¤ÎÂ礭¤µ¤ÏÁª¤Ð¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Î¥é¥ó¥À¥à¤µ¤Ë°Í¸¤¹¤ë¡£ .PP -¥Ñ¥¹¥ï¡¼¥É¤Î°ÂÁ´À­¤¬¶¼¤«¤µ¤ì¤ë¤Î¤Ï¡¢ÂçÄñ¤Î¾ì¹ç¥Ñ¥¹¥ï¡¼¥É¤òÃí°Õ¿¼¤¯ -Áª¤Ó°·¤ï¤Ê¤¤»ö¤Ë¤è¤ë¡£ -¤·¤¿¤¬¤Ã¤Æ¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼­½ñ¤ËºÜ¤Ã¤Æ¤¤¤Ê¤¤¤â¤Î¼ã¤·¤¯¤Ï -½ñ¤­Î±¤á¤ëɬÍפΤʤ¤¤â¤Î¤òÁªÂò¤¹¤Ù¤­¤Ç¤¢¤ë¡£ -¤Þ¤¿¡¢¸Çͭ̾»ì¤äÌȵö¾ÚÈֹ桢ÃÂÀ¸Æü¤ä¼«Âð¤Î½»½ê¤È¤¤¤Ã¤¿¤â¤Î¤ò +¥Ñ¥¹¥ï¡¼¥É¤Î°ÂÁ´À­¤¬¶¼¤«¤µ¤ì¤ë¤Î¤Ï¡¢ +ÂçÄñ¤Î¾ì¹ç¥Ñ¥¹¥ï¡¼¥É¤ÎÁªÂò¤ä°·¤¤¤¬ÉÔÃí°Õ¤Ê¤¿¤á¤Ç¤¢¤ë¡£ +½¾¤Ã¤Æ¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ¤Ï¡¢ +¼­½ñ¤ËºÜ¤Ã¤Æ¤¤¤ë¤â¤Î¤ä½ñ¤­Î±¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤â¤Î¤Ï +Èò¤±¤ë¤Ù¤­¤Ç¤¢¤ë¡£ +¤Þ¤¿¡¢¸Çͭ̾»ì¡¦Ìȵö¾ÚÈֹ桦ÃÂÀ¸Æü¡¦¼«Âð¤Î½»½ê¤Ê¤É¤ò ¥Ñ¥¹¥ï¡¼¥É¤Ë¤¹¤ë¤Î¤âÈò¤±¤ë¤Ù¤­¤Ç¤¢¤ë¡£ -¤È¤¤¤¦¤Î¤Ï¡¢¾å¤Î¤¤¤º¤ì¤â¥·¥¹¥Æ¥à¤Î¥»¥­¥å¥ê¥Æ¥£¤òÈȤ¹ºÝ¤Î¿äÎ̤Ȥ·¤Æ -ÍѤ¤¤é¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£ +¤³¤ì¤é¤Ï¤¤¤º¤ì¤â¥·¥¹¥Æ¥à¥»¥­¥å¥ê¥Æ¥£¤òÇˤëºÝ¤Ë¡¢ +¿äÎ̾ðÊó¤ËÍѤ¤¤é¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£ .PP -¥Ñ¥¹¥ï¡¼¥É¤Ï»æÊҤ˽ñ¤­Î±¤á¤Æ¤ª¤¯É¬Íפ¬Ìµ¤¤¤è¤¦¤Ê´Êñ¤Ë»×¤¤½Ð¤»¤ë -¤â¤Î¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¤³¤ì¤Ï¡¢Î㤨¤Ðû¤¤Æó¤Ä¤Îñ¸ì¤ò¤¯¤ÃÉÕ¤±¤Æ¤½¤Î´Ö¤ËÆÃ¼ìµ­¹æËô¤Ï¿ô»ú¤ò -¶´¤ß¹þ¤à¤³¤È¤Ë¤è¤Ã¤Æºî¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -Î㤨¤Ð¡¢Pass%wordÅù¤Ç¤¢¤ë¡£ +¥Ñ¥¹¥ï¡¼¥É¤Ï»æÊҤ˽ñ¤­Î±¤á¤Æ¤ª¤¯É¬Íפ¬Ìµ¤¤¤è¤¦¡¢ +´Êñ¤Ë»×¤¤½Ð¤»¤ë¤â¤Î¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤³¤ì¤ÏÎ㤨¤Ð¡¢ +û¤¤Æó¤Ä¤Îñ¸ì¤ò¤¯¤Ã¤Ä¤±¤Æ¡¢ +¤½¤Î´Ö¤ËÆÃ¼ìµ­¹æ¤ä¿ô»ú¤ò¶´¤ß¹þ¤à¤³¤È¤Ë¤è¤Ã¤Æºî¤ì¤ë¡£ +Î㤨¤Ð Pass%word ¤Ê¤É¡£ .PP ¾¤Îºî¤êÊý¤È¤·¤Æ¤Ï¡¢Ê¸³ØºîÉʤʤɤ«¤é»×¤¤½Ð¤·¤ä¤¹¤¤¶ç¤òÁª¤Ó½Ð¤·¡¢ -¤½¤ì¤¾¤ì¤Îñ¸ì¤«¤éºÇ½é¼ã¤·¤¯¤ÏºÇ¸å¤Îʸ»ú¤òÈ´¤­½Ð¤¹ÊýË¡¤¬¤¢¤ë¡£ -¤³¤ÎÊýË¡¤ÎÎã¤È¤·¤Æ¤Ï +¤½¤ì¤¾¤ì¤Îñ¸ì¤«¤éºÇ½é¤â¤·¤¯¤ÏºÇ¸å¤Îʸ»ú¤òÈ´¤­½Ð¤¹ÊýË¡¤¬¤¢¤ë¡£ +¤³¤ÎÊýË¡¤ÎÎã¤È¤·¤Æ¤Ï¡¢ .IP "" .5i Ask not for whom the bell tolls. .PP -¤È¤¤¤¦¶ç¤«¤é¼¡¤ÎÍͤʥѥ¹¥ï¡¼¥É¤¬ºî¤ê½Ð¤»¤ë¡£ +¤È¤¤¤¦¶ç¤«¤é .IP "" .5i An4wtbt. +¤È¤¤¤¦¥Ñ¥¹¥ï¡¼¥É¤¬ºî¤ê½Ð¤»¤ë¡£ .PP -¶²¤é¤¯¥¯¥é¥Ã¥«¡¼¤Î»ý¤Ã¤Æ¤¤¤ë¼­½ñ¤Ë¤³¤ó¤Ê¸ì¶ç¤ÏºÜ¤Ã¤Æ¤¤¤Ê¤µ¤½¤¦¤À¡¢ -¤È»×¤¦¤Ç¤¢¤í¤¦¡£ -¤·¤«¤·¡¢¤³¤³¤Ë¼¨¤·¤¿ÊýË¡¤À¤±¤ËÍê¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¼«Ê¬ÆÈ¼«¤Î¥Ñ¥¹¥ï¡¼¥É -¤Îºî¤êÊý¤ò¹Í¤¨½Ð¤¹¤Ù¤­¤Ç¤¢¤ë¡£ +¥¯¥é¥Ã¥«¡¼¤Î¼­½ñ¤Ë¤Ï¡¢ +¤³¤ó¤Ê¸ì¶ç¤ÏºÜ¤Ã¤Æ¤¤¤Ê¤µ¤½¤¦¤À¡¢¤È¤ß¤Ê¤·¤Æ¤âÎɤ¤¤À¤í¤¦¡£ +¤·¤«¤·¡¢¤³¤³¤Ë¼¨¤·¤¿ÊýË¡¤À¤±¤ËÍê¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ +¼«Ê¬ÆÈ¼«¤Î¥Ñ¥¹¥ï¡¼¥É¤Îºî¤êÊý¤ò¹Í¤¨½Ð¤¹¤Ù¤­¤Ç¤¢¤ë¡£ .SS ¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë´Ø¤¹¤ëÃí°Õ ¥°¥ë¡¼¥×¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢°ì¿Í°Ê¾å¤Î¿Í´Ö¤¬ÃΤ뤳¤È¤¬µö¤µ¤ì¤ë¤â¤Î¤Ç¤¢¤ë¤«¤é¡¢ -À¸ÍèŪ¤Ë¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÌäÂê¤òÊú¤¨¤Æ¤¤¤ë¡£ -¤·¤«¤·¡¢¥°¥ë¡¼¥×¤È¤¤¤¦Æ»¶ñΩ¤Æ¤ÏÊÌ¡¹¤Î¿Í´Ö¤¬¶¦Æ±¤Çºî¶È¤¹¤ë»ö¤¬½ÐÍè¤ë¤Î¤Ç¡¢ -ÊØÍø¤Ç¤Ï¤¢¤ë¡£ +ËܼÁŪ¤Ë¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÌäÂê¤òÊú¤¨¤Æ¤¤¤ë¡£ +¤·¤«¤·¥°¥ë¡¼¥×¤ò»È¤¨¤ÐÊÌ¡¹¤Î¿Í´Ö¤¬¶¦Æ±¤Çºî¶È¤¹¤ë»ö¤¬¤Ç¤­¤ë¤Î¤Ç¡¢ +¤³¤ì¤ÏÊØÍø¤Ê¥Ä¡¼¥ë¤Ç¤Ï¤¢¤ë¡£ .SH ·Ù¹ð -Á´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤¬»È¤¨¤ë¤è¤¦¤Ë¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë¡£ -¥Ñ¥¹¥ï¡¼¥É¤ÎÊ£»¨¤µ¤Î¸¡¾Ú¤Ï¥µ¥¤¥ÈËè¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤À¤í¤¦¡£ -¥æ¡¼¥¶¤Ï¥·¥¹¥Æ¥à¤¬Ëþ­¤¹¤ë½¼Ê¬Ê£»¨¤Ê¥Ñ¥¹¥ï¡¼¥É¤òÁª¤Ö¤è¤¦¶¯¤¤¤é¤ì¤ë¡£ -NIS¤¬Æ°ºî¤·¤Æ¤ª¤ê¤·¤«¤âNIS¥µ¡¼¥Ð°Ê³°¤Ë¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¾ì¹ç¤Ï -¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤¤¡£ +Á´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤¬»È¤¨¤ë¤è¤¦¤Ë¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£ +¥Ñ¥¹¥ï¡¼¥É¤ÎÊ£»¨¤µ¤Î¸¡¾Ú¤Ï¥µ¥¤¥È¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤À¤í¤¦¡£ +¥æ¡¼¥¶¤Ï¥·¥¹¥Æ¥à¤¬Ëþ­¤¹¤ë¤è¤¦¤Ê¡¢ +½¼Ê¬Ê£»¨¤Ê¥Ñ¥¹¥ï¡¼¥É¤òÁª¤Ö¤è¤¦¶¯À©¤µ¤ì¤ë¡£ +NIS ¤¬Æ°ºî¤·¤Æ¤¤¤Æ¡¢ +¤«¤Ä NIS ¥µ¡¼¥Ð°Ê³°¤Ë¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤Ç¤­¤Ê¤¤¡£ +(ÌõÃí: ¤³¤Î¾ì¹ç +.BR yppasswd (8) +¤òÍѤ¤¤ë¡£) .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- ¥æ¡¼¥¶¤Î°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É +\fI/etc/shadow\fR \- °Å¹æ²½¤µ¤ì¤¿¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É .SH ´ØÏ¢¹àÌÜ -.BR passwd (3), -.\" .BR shadow (3), .BR group (5), .BR passwd (5) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/passwd.5 b/man/ja/passwd.5 index 8a5c4704..f06cd6e0 100644 --- a/man/ja/passwd.5 +++ b/man/ja/passwd.5 @@ -1,3 +1,4 @@ +.\"$Id: passwd.5,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,12 +26,11 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: passwd.5,v 1.4 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Tue 18 Sep 2002 by NAKNAO Takeo .\" .TH PASSWD 5 .SH ̾Á° @@ -38,43 +38,47 @@ passwd \- .SH ÀâÌÀ .I passwd ¥Õ¥¡¥¤¥ë¤Ë¤Ï³Æ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ÎÍÍ¡¹¤Ê¾ðÊ󤬵­Ï¿¤µ¤ì¤Æ¤¤¤ë¡£ -½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢ +½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤Ï¼¡¤ÎÄ̤ꡣ .IP "" .5i ¥í¥°¥¤¥ó̾ .IP "" .5i -¥ª¥×¥·¥ç¥ó¤Î°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É +°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É (̵¤¤¤³¤È¤â¤¢¤ë) .IP "" .5i ¥æ¡¼¥¶ ID ÈÖ¹æ .IP "" .5i ¥°¥ë¡¼¥× ID ÈÖ¹æ .IP "" .5i -¥æ¡¼¥¶Ì¾¤â¤·¤¯¤Ï¥³¥á¥ó¥ÈÍó +¥æ¡¼¥¶Ì¾¤Þ¤¿¤Ï¥³¥á¥ó¥È¤Î¥Õ¥£¡¼¥ë¥É .IP "" .5i ¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê .IP "" .5i ¥æ¡¼¥¶¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥×¥ê¥¿ .PP -¥Ñ¥¹¥ï¡¼¥É¤¬ shadow ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥ÉÍó¤òËä¤á¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Ñ¥¹¥ï¡¼¥É¤¬ shadow ²½¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ +¥Ñ¥¹¥ï¡¼¥É¥Õ¥£¡¼¥ë¥É¤òËä¤á¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ shadow ¥Ñ¥¹¥ï¡¼¥É¤òÍѤ¤¤Æ¤¤¤ë¾ì¹ç¡¢°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï \fI/etc/shadow\fR ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡£ -°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È a ¤«¤é z¡¢A ¤«¤é Z¡¢0 ¤«¤é 9 -µÚ¤Ó \. ¤È / ¤Î 64 ʸ»ú¤«¤éºî¤é¤ì¤¿ 13 ʸ»ú¤«¤é¤Ê¤ë¡£ -¤³¤Îʸ»úÎ󤬤ɤΤ褦¤Ë²ò¼á¤µ¤ì¤ë¤«¤Î¾ÜºÙ¤Ï¡¢\fBcrypt\fR(3) ¤ò -»²¾È¤Î¤³¤È¡£ +°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢ +¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È a ¤«¤é z¡¢A ¤«¤é Z¡¢0 ¤«¤é 9¡¢\. ¤È / ¤Î +64 ʸ»ú¤«¤éºî¤é¤ì¤¿ 13 ʸ»ú¤«¤é¤Ê¤ë¡£ +¤³¤Îʸ»úÎ󤬤ɤΤ褦¤Ë²ò¼á¤µ¤ì¤ë¤«¤Î¾ÜºÙ¤Ï +\fBcrypt\fR(3) ¤ò»²¾È¤Î¤³¤È¡£ .PP -¥ª¥×¥·¥ç¥ó¤Ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ë³¤¤¤Æ¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤¬¡¢ -¥³¥ó¥Þ¤Ç¶èÀÚ¤Ã¤ÆÆ±¤¸Ê¸»ú½¸¹ç¤Îʸ»ú¤ò»È¤Ã¤Æµ­¤µ¤ì¤Æ¤¤¤ë¤³¤È¤â¤¢¤ë¡£ -¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¼«¿È¤ÈƱ¤¸Ê¸»ú½¸¹ç¤«¤éºî¤é¤ì¤Æ¤¤¤ë¡£ -ºÇ½é¤Îʸ»ú¤Ë¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬²¿½µ´ÖÍ­¸ú¤«¤¬µ­¤µ¤ì¤Æ¤¤¤ë¡£ -ÆóÈÖÌܤÎʸ»ú¤Ï¡¢²¿½µ´Ö·Ð¤Æ¤Ð¥æ¡¼¥¶¤¬¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤Ç¤­¤ë¤«¤òÍ¿¤¨¤ë¡£ -ºÇ¸å¤ÎÆóʸ»ú¤Ë¤Ï¡¢ºÇ¸å¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿¤Î¤Ï 1970 ǯ 1 ·î¤«¤é²¿½µ´Ö -·Ð²á¤·¤¿»þ¤Ç¤¢¤ë¤«¤òɽ¤¹¡£ -¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬²á¤®¤¿»þ¤Ï¡¢¥æ¡¼¥¶¤Ï¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÀßÄê -¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¡¢¥Ñ¥¹¥ï¡¼¥É¤Î¸å¤Ë¡¢ +¥³¥ó¥Þ¤Ë³¤¤¤Æ¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Âʸ»úÎ󤬵­¤µ¤ì¤Æ¤¤¤ë¤³¤È¤â¤¢¤ë¡£ +¤³¤Îʸ»úÎó¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸Ê¸»ú¥»¥Ã¥È¤«¤é¤Ê¤ë¡£ +ºÇ½é¤Îʸ»ú¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬²¿½µ´ÖÍ­¸ú¤«¤ò¼¨¤¹¡£ +ÆóÈÖÌܤÎʸ»ú¤Ï¡¢²¿½µ´Ö·Ð¤Æ¤Ð¥æ¡¼¥¶¤¬¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤Ç¤­¤ë¤«¤ò¼¨¤¹¡£ +ºÇ¸å¤ÎÆóʸ»ú¤Ï¡¢ +ºÇ¸å¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿¤Î¤¬ +1970 ǯ 1 ·î¤«¤é²¿½µ´Ö·Ð²á¤·¤¿»þÅÀ¤Ç¤¢¤ë¤«¤òɽ¤¹¡£ +¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬²á¤®¤¿»þ¤Ï¡¢ +¥æ¡¼¥¶¤Ï¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .PP -¥³¥á¥ó¥ÈÍó¤Ï¡¢\fBfinger\fR(1) Åù¤ÎÍÍ¡¹¤Ê¥·¥¹¥Æ¥à¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ËÍøÍѤµ¤ì¤ë¡£ -¥³¥á¥ó¥ÈÍó¤Ë¤Ï¹¹¤Ë 3 ¤Ä¤Î¿ôÃͤ¬µ­Æþ¤µ¤ì¤Æ¤¤¤Æ¤âÎɤ¤¡£ -¤½¤ì¤é¤Ï¡¢ +¥³¥á¥ó¥È¥Õ¥£¡¼¥ë¥É¤Ï +\fBfinger\fR(1) ¤Î¤è¤¦¤ÊÍÍ¡¹¤Ê¥·¥¹¥Æ¥à¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤«¤éÍøÍѤµ¤ì¤ë¡£ +¥³¥á¥ó¥È¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¢ÄɲþðÊó¤È¤·¤Æ¡¢ +¼¡¤Î¤è¤¦¤Ê 3 ¤Ä¤Î¿ôÃͤ¬µ­Æþ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤â¤¢¤ë¡£ .IP "" .5i pri= \- nice ¤Î½é´üÀßÄêÃÍ .IP "" .5i @@ -82,19 +86,21 @@ umask= \- umask .IP "" .5i ulimit= \- ulimit ¤Î½é´üÀßÄêÃÍ .PP -¤³¤ì¤é¤ÎÍó¤Ï¸ß¤¤¤Ë¡¢¤Þ¤¿¥³¥á¥ó¥ÈÍó¤ÎÊ̤Υե£¡¼¥ë¥É¤È¡¢¥³¥ó¥Þ¤òÍѤ¤¤Æ -¶èÊ̤µ¤ì¤Æ¤¤¤ë¡£ +¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¸ß¤¤¤Ë¡¢¤Þ¤¿Â¾¤Î¥³¥á¥ó¥È¥Õ¥£¡¼¥ë¥É¤È¡¢ +¥³¥ó¥Þ¤òÍѤ¤¤ÆÊ¬Î¥¤µ¤ì¤ë¡£ .PP -¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÍó¤Ë¤Ï¥í¥°¥¤¥ó»þ¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê̾¤¬µ­¤µ¤ì¤Æ¤¤¤ë¡£ +¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¥Õ¥£¡¼¥ë¥É¤Ï¡¢ +½é´üºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤òÍ¿¤¨¤ë¡£ \fBlogin\fR ¤Ï¤³¤Î¾ðÊó¤òÍѤ¤¤Æ´Ä¶­ÊÑ¿ô \fBHOME\fR ¤ÎÆâÍÆ¤òÀßÄꤹ¤ë¡£ .PP -¥³¥Þ¥ó¥É¥¤¥ó¥¿¥×¥ê¥¿Íó¤Ë¤Ï¥æ¡¼¥¶¤Î¥³¥Þ¥ó¥É¸À¸ì¥¤¥ó¥¿¥×¥ê¥¿¤â¤·¤¯¤Ï +¥³¥Þ¥ó¥É¥¤¥ó¥¿¥×¥ê¥¿¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¢ +¥æ¡¼¥¶¤Î¥³¥Þ¥ó¥É¸À¸ì¥¤¥ó¥¿¥×¥ê¥¿¤«¡¢ ºÇ½é¤Ë¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤Î̾Á°¤òµ­¤¹¡£ \fBlogin\fR ¤Ï¤³¤Î¾ðÊó¤òÍѤ¤¤Æ´Ä¶­ÊÑ¿ô \fBSHELL\fR ¤ÎÆâÍÆ¤òÀßÄꤹ¤ë¡£ -¤³¤ÎÍó¤Ë²¿¤âµ­¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥£¥Õ¥©¥ë¥ÈÃͤȤ·¤Æ \fB/bin/sh\fR ¤ò -»ÈÍѤ¹¤ë¡£ +¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ë²¿¤âµ­¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ +¥Ç¥Õ¥©¥ë¥ÈÃͤȤ·¤Æ \fB/bin/sh\fR ¤ò»ÈÍѤ¹¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR login (1), .BR passwd (1), diff --git a/man/ja/porttime.5 b/man/ja/porttime.5 index 930b70d0..50204e09 100644 --- a/man/ja/porttime.5 +++ b/man/ja/porttime.5 @@ -1,3 +1,4 @@ +.\"$Id: porttime.5,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,48 +26,50 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: porttime.5,v 1.2 2001/11/16 17:01:33 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Tue 18 Sep 2002 by NAKNAO Takeo .\" .TH PORTTIME 5 .SH ̾Á° porttime \- ¥Ý¡¼¥È¥¢¥¯¥»¥¹»þ´ÖÀßÄê¥Õ¥¡¥¤¥ë .SH ÀâÌÀ .I porttime -¤Ë¤Ïtty¥Ç¥Ð¥¤¥¹¡¢¥æ¡¼¥¶Ì¾µÚ¤Ó¥í¥°¥¤¥ó²Äǽ»þ´Ö¤Î¥ê¥¹¥È¤¬µ­¤µ¤ì¤Æ¤¤¤ë¡£ +¤Ï tty ¥Ç¥Ð¥¤¥¹¡¦¥æ¡¼¥¶Ì¾¡¦¥í¥°¥¤¥ó²Äǽ»þ´Ö¡¢¤Î¥ê¥¹¥È¤«¤é¤Ê¤ë¡£ .PP -¸Ä¡¹¤Î¥¨¥ó¥È¥ê¡¼¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿»°¤Ä¤ÎÍ󤫤é¤Ê¤ë¡£ -ºÇ½é¤ÎÍó¤Ï¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿tty¥Ç¥Ð¥¤¥¹¤Î¥ê¥¹¥È¡¢Ëô¤ÏÁ´¤Æ¤Îtty¥Ç¥Ð¥¤¥¹¤¬ -Éä¹ç¤¹¤ë¤è¤¦¤Ë¥¢¥¹¥¿¥ê¥¹¥¯¤òµ­¤¹¡£ -ÆóÈÖÌܤÎÍó¤Ë¤Ï¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥æ¡¼¥¶Ì¾¤Î¥ê¥¹¥È¡¢Ëô¤ÏÁ´¤Æ¤Î¥æ¡¼¥¶¤¬Éä¹ç -¤¹¤ë¤è¤¦¤Ë¥¢¥¹¥¿¥ê¥¹¥¯¤òµ­¤¹¡£ -»°ÈÖÌܤÎÍó¤Ë¤Ï¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥í¥°¥¤¥ó¤òµö²Ä¤¹¤ë»þ´Ö¤Î¥ê¥¹¥È¤òµ­¤¹¡£ +¤½¤ì¤¾¤ì¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿»°¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤«¤é¤Ê¤ë¡£ +ºÇ½é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿ tty ¥Ç¥Ð¥¤¥¹¤Î¥ê¥¹¥È¤Ç¡¢ +¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¤¢¤é¤æ¤ë tty ¥Ç¥Ð¥¤¥¹¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£ +ÆóÈÖÌܤΥե£¡¼¥ë¥É¤Ï¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥æ¡¼¥¶Ì¾¤Î¥ê¥¹¥È¤Ç¡¢ +¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¤¢¤é¤æ¤ë¥æ¡¼¥¶¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£ +»°ÈÖÌܤΥե£¡¼¥ë¥É¤Ï¡¢ +¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥í¥°¥¤¥ó¤òµö²Ä»þ´Ö¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ .PP -¥¢¥¯¥»¥¹¥¿¥¤¥à¤Î³Æ¥¨¥ó¥È¥ê¤Ï¡¢ -\fBSu\fR, \fBMo\fR, \fBTu\fR, \fBWe\fR, \fBTh\fR, \fBFr\fR, µÚ¤Ó \fBSa\fR -¤Èάµ­¤µ¤ì¤¿¥¼¥í¸Ä°Ê¾å¤ÎÍËÆü¤È¡¢¤½¤ì¤Ë³¤¯¥Ï¥¤¥Õ¥ó¤Ç³Ö¤Æ¤é¤ì¤¿»þ´Ö¤ÎÁÈ -¤«¤é¤Ê¤ë¡£ -·îÍËÆü¤«¤é¶âÍËÆü¤Þ¤Ç¤ò»ØÄꤹ¤ë¤¿¤á¤Ë\fBWk\fR¤ò¡¢ -Á´¤Æ¤ÎÆü¤ò»ØÄꤹ¤ë¤¿¤á¤Ë\fBAl\fR¤È¤¤¤¦Î¬µ­Ë¡¤òÍѤ¤¤ë¤³¤È¤â½ÐÍè¤ë¡£ -ÍËÆü¤Î»ØÄ̵꤬¤¤¾ì¹ç¤Ï¡¢\fBAl\fR¤À¤È¤ß¤Ê¤¹¡£ +¥¢¥¯¥»¥¹»þ´Ö¤Î³Æ¥¨¥ó¥È¥ê¤Ï¡¢ +\fBSu\fR, \fBMo\fR, \fBTu\fR, \fBWe\fR, \fBTh\fR, \fBFr\fR, \fBSa\fR +¤Çάµ­¤µ¤ì¤¿¥¼¥í¸Ä°Ê¾å¤ÎÍËÆü¤È¡¢ +¥Ï¥¤¥Õ¥ó¤Ç¶èÀÚ¤é¤ì¤¿ 2 ¤Ä¤Î»þ¹ï¤È¤«¤é¤Ê¤ë¡£ +·îÍËÆü¤«¤é¶âÍËÆü¤Þ¤Ç¤ò»ØÄꤹ¤ë \fBWk\fR ¤ä¡¢ +Á´¤Æ¤ÎÆü¤ò»ØÄꤹ¤ë \fBAl\fR ¤È¤¤¤¦Î¬µ­Ë¡¤òÍѤ¤¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +ÍËÆü¤Î»ØÄ̵꤬¤¤¾ì¹ç¤Ï \fBAl\fR ¤À¤È¤ß¤Ê¤µ¤ì¤ë¡£ .SH Îã -°Ê²¼¤ÎÎã¤Ç¤Ï¡¢¥æ¡¼¥¶\fBjfh\fR¤¬Ê¿Æü¤Î¸áÁ°9»þ¤«¤é¸á¸å5»þ¤Þ¤Ç -Á´¤Æ¤Î¥Ý¡¼¥È¤«¤é¥¢¥¯¥»¥¹¤¹¤ë»ö¤òµö²Ä¤·¤Æ¤¤¤ë¡£ +¼¡¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥æ¡¼¥¶ \fBjfh\fR ¤¬Ê¿Æü¤Î¸áÁ°9»þ¤«¤é¸á¸å5»þ¤Þ¤Ç¡¢ +Á´¤Æ¤Î¥Ý¡¼¥È¤«¤é¥¢¥¯¥»¥¹²Äǽ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£ .br .sp 1 *:jfh:Wk0900-1700 .br .sp 1 -°Ê²¼¤Î¥¨¥ó¥È¥ê¤Ç¤Ï¡¢\fBroot\fRµÚ¤Ó\fBoper\fR°Ê³°¤Î¥æ¡¼¥¶¤Ë¤ÏÇ¡²¿¤Ê¤ë»þ´Ö¤Ç¤â -/dev/console¤«¤é¤Î¥¢¥¯¥»¥¹¤òµö²Ä¤·¤Æ¤¤¤Ê¤¤¡£ -¤³¤ÎÎ㤫¤é\fI/etc/porttime\fR¥Õ¥¡¥¤¥ë¤¬¥¢¥¯¥»¥¹¥¿¥¤¥à¤Î¥ê¥¹¥È¤È¤·¤Æ -¤É¤ÎÍÍ¤Ê½ç½ø¤Ç½èÍý¤µ¤ì¤ë¤«¤¬Ê¬¤«¤ë¡£ -¾¤ÎÁ´¤Æ¤Î¥æ¡¼¥¶¤ÏÆóÈÖÌܤΥ¨¥ó¥È¥ê¤ËÉä¹ç¤·¡¢½¾¤Ã¤Æconsole¤«¤é¤Î¥¢¥¯¥»¥¹¤Ï -µö²Ä¤µ¤ì¤Ê¤¤¡£ +¼¡¤Î¥¨¥ó¥È¥ê¤Ï¡¢ +\fBroot\fR ¤È \fBoper\fR °Ê³°¤Î¥æ¡¼¥¶¤Ë¤Ï¡¢¤É¤Î»þ´ÖÂӤˤâ +/dev/console ¤«¤é¤Î¥¢¥¯¥»¥¹¤òµö²Ä¤·¤Ê¤¤¡£ +¤³¤ÎÎã¤Ï¡¢\fI/etc/porttime\fR +¥Õ¥¡¥¤¥ë¤¬¥¢¥¯¥»¥¹²Äǽ»þ´Ö¤Î¥ê¥¹¥È¤ò +¤É¤¦¤¤¤¦½ç½ø¤Ç°·¤¦¤«¤â¼¨¤·¤Æ¤¤¤ë¡£ +¾¤ÎÁ´¤Æ¤Î¥æ¡¼¥¶¤ÏÆóÈÖÌܤΥ¨¥ó¥È¥ê¤Ë¥Þ¥Ã¥Á¤·¡¢ +¤·¤¿¤¬¤Ã¤Æ console ¤«¤é¤Î¥¢¥¯¥»¥¹¤Ïµö²Ä¤µ¤ì¤Ê¤¤¡£ .br .sp 1 console:root,oper:Al0000-2400 @@ -74,15 +77,16 @@ porttime \- console:*: .br .sp 1 -°Ê²¼¤Î¥¨¥ó¥È¥ê¤Ç¤Ï¡¢¥æ¡¼¥¶\fBgames\fR¤Ï½¢¶È»þ´Ö³°¤Ê¤éÇ¡²¿¤Ê¤ë¥Ý¡¼¥È¤«¤é¤â -¥¢¥¯¥»¥¹½ÐÍè¤ëÍͤ˻ØÄꤷ¤Æ¤¤¤ë¡£ +¼¡¤Î¥¨¥ó¥È¥ê¤Ï¡¢ +¥æ¡¼¥¶ \fBgames\fR ¤¬¡¢½¢¶È»þ´Ö³°¤Ê¤é +¤¢¤é¤æ¤ë¥Ý¡¼¥È¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë»ØÄꤷ¤Æ¤¤¤ë¡£ .br .sp 1 *:games:Wk1700-0900,SaSu0000-2400 .br .sp 1 .SH ¥Õ¥¡¥¤¥ë -/etc/porttime \- ¥Ý¡¼¥È¤Ø¤Î¥¢¥¯¥»¥¹²Äǽ»þ´Ö¤òµ­¤·¤¿¥Õ¥¡¥¤¥ë +\fI/etc/porttime\fR \- ¥Ý¡¼¥È¤Ø¤Î¥¢¥¯¥»¥¹²Äǽ»þ´Ö¤òµ­¤·¤¿¥Õ¥¡¥¤¥ë .SH ´ØÏ¢¹àÌÜ .BR login (1) .SH Ãø¼Ô diff --git a/man/ja/pw_auth.3 b/man/ja/pw_auth.3 index 8da1dfd0..e7de1aa0 100644 --- a/man/ja/pw_auth.3 +++ b/man/ja/pw_auth.3 @@ -1,3 +1,4 @@ +.\"$Id: pw_auth.3,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1992 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,12 +26,11 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: pw_auth.3,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" updated Tue 17 Sep 2002 by NAKANO Takeo .\" .TH PWAUTH 3 .SH ̾Á° @@ -48,88 +48,91 @@ pwauth \- .IB *input) ; .SH ÀâÌÀ .B pw_auth -¤Ï¡¢»ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤ËÂФ·¤Æ´ÉÍý¼Ô¤¬ÀßÄꤷ¤¿´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¡£ +¤Ï¡¢Í¿¤¨¤é¤ì¤¿¥æ¡¼¥¶¤ËÂФ·¤Æ´ÉÍý¼Ô¤¬ÀßÄꤷ¤¿´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¡£ .PP -\fIcommand\fR¤Ïǧ¾Ú¥×¥í¥°¥é¥à¤Î̾Á°¤Ç¤¢¤ë¡£ -¤É¤Îǧ¾Ú¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤«¤Ï¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Ëµ­¤µ¤ì¤¿¥æ¡¼¥¶¾ðÊó -¤Ë¤è¤ê·èÄꤵ¤ì¤ë¡£ -¤³¤Îʸ»úÎó¤Ë¤Ï¡¢¥»¥ß¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿°ì¤Ä°Ê¾å¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¡£ +\fIcommand\fR ¤Ïǧ¾Ú¥×¥í¥°¥é¥à¤Î̾Á°¤Ç¤¢¤ë¡£ +¤³¤ì¤Ï¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Ëµ­¤µ¤ì¤¿¤½¤Î¥æ¡¼¥¶¤Î¾ðÊ󤫤é·èÄꤵ¤ì¤ë¡£ +¤³¤Îʸ»úÎó¤Ï¥»¥ß¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿°ì¤Ä°Ê¾å¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë̾¤«¤é¤Ê¤ë¡£ ³Æ¡¹¤Î¥×¥í¥°¥é¥à¤Ïµ­¤µ¤ì¤Æ¤¤¤ë½ç¤Ë¼Â¹Ô¤µ¤ì¤ë¡£ -¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ï°Ê²¼¤Ëµó¤²¤ëÊýË¡¤Ç»ØÄꤵ¤ì¤ë¡£ +°Ê²¼¤Ëµ­½Ò¤¹¤ë¤½¤ì¤¾¤ì¤Î +.I reason +¤Ë±þ¤¸¤Æ¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤¬Í¿¤¨¤é¤ì¤ë¡£ .PP -\fIuser\fR¤Ï¡¢\fI/etc/passwd\fR¥Õ¥¡¥¤¥ëÃæ¤Ëµ­¤µ¤ì¤¿¡¢ -ǧ¾Ú¤µ¤ì¤ë¥æ¡¼¥¶Ì¾¤Ç¤¢¤ë¡£ +\fIuser\fR ¤Ïǧ¾Ú¤µ¤ì¤ë¥æ¡¼¥¶Ì¾¤Ç¡¢ +\fI/etc/passwd\fR ¥Õ¥¡¥¤¥ëÃæ¤Î¤â¤Î¤ËÂбþ¤¹¤ë¡£ ¥æ¡¼¥¶¥¨¥ó¥È¥ê¤Ï¥æ¡¼¥¶Ì¾¤Ç»ØÄꤵ¤ì¤ë¡£ -¤·¤¿¤¬¤Ã¤Æ¡¢°ì°ÕŪ¤Ç¤Ê¤¤¥æ¡¼¥¶ID¤¬¤¢¤Ã¤Æ¤âÎɤ¯¡¢ -¤½¤Î¥æ¡¼¥¶ID¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤¿°Û¤Ê¤ë¥æ¡¼¥¶Ì¾³Æ¡¹¤ËÂФ·¤Æ°Û¤Ê¤ëǧ¾Ú¥×¥í¥°¥é¥à -µÚ¤Óǧ¾Ú¾ðÊó¤ò»ØÄê¤Ç¤­¤ë¡£ +¤·¤¿¤¬¤Ã¤Æ¥æ¡¼¥¶ ID ¤Ë¤Ï½Å¤Ê¤Ã¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤Ã¤Æ¤âÎɤ¯¡¢ +¤½¤Î¥æ¡¼¥¶ ID ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤¿°Û¤Ê¤ë¥æ¡¼¥¶Ì¾¤Î³Æ¡¹¤ËÂФ·¤Æ¡¢ +°Û¤Ê¤ëǧ¾Ú¥×¥í¥°¥é¥à¤Èǧ¾Ú¾ðÊó¤È¤ò»ØÄê¤Ç¤­¤ë¡£ .PP -»ÈÍѤǤ­¤ë³Æ¡¹¤Îǧ¾ÚÊýË¡¤Ï¡¢Á´¤¯°Û¤Ê¤ë»ÅÊý¤Ç¼Â¹Ô¤µ¤ìÆÀ¤ë¡£ -ÆÃ¤Ëµ­¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¤È¤ä¤ê¤È¤ê¤¹¤ë¤¿¤á¤Ëɸ½àŪ¤Ê -¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿0,1µÚ¤Ó2¤ò»È¤¦¤³¤È¤¬½ÐÍè¤ë¡£ -ǧ¾Ú¤òÍ×ÀÁ¤·¤¿¥æ¡¼¥¶¤ÎƱ°ìÀ­¤òÄ´¤Ù¤ë¤¿¤á¤Ë¼ÂºÝ¤Î¥æ¡¼¥¶ID¤òÍѤ¤¤ë¤³¤È¤â½ÐÍè¤ë¡£ -\fIreason\fR¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë +»ÈÍѤǤ­¤ë³Æ¡¹¤Îǧ¾ÚÊýË¡¤Ï¡¢°Û¤Ê¤ëÊýË¡¤Ç¼è¤ê°·¤ï¤ì¤ë¤³¤È¤¬¤¢¤ë¡£ +ÆÃ¤Ëµ­¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àŪ¤Ê +¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿ 0, 1, 2 ¤ò»È¤Ã¤Æ¥æ¡¼¥¶¤ÈÄÌ¿®¤Ç¤­¤ë¡£ +¼Â¥æ¡¼¥¶ID¤òÍѤ¤¤Æ¡¢ +ǧ¾Ú¤òÍ×ÀÁ¤·¤¿¥æ¡¼¥¶¤Î¿È¸µ (identity) ¤ò·è¤á¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +\fIreason\fR ¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë¡£ .IP \fBPW_SU\fR 1i -»ØÄꤷ¤¿¥æ¡¼¥¶¤Î¼Â¥æ¡¼¥¶ID¤ËÊѹ¹¤¹¤ë¤¿¤á¤Ë¡¢¥³¥Þ¥ó¥É¤òµ¯Æ°¤·¤¿¥æ¡¼¥¶¤Î -¼Â¥æ¡¼¥¶ID¤Îǧ¾Ú¤ò¹Ô¤¦¡£ -\fB-s\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +»ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤Î¼Â¥æ¡¼¥¶ ID ¤ËÀÚ¤êÂØ¤¨¤è¤¦¤È¤·¤Æ¤¤¤ë¡¢ +¸½ºß¤Î¼Â¥æ¡¼¥¶ ID ¤ËÂФ·¤ÆÇ§¾Ú¤ò¹Ô¤¦¡£ +\fB-s\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ .IP \fBPW_LOGIN\fR 1i -¿·¤¿¤Ë¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤òºî¤ê½Ð¤½¤¦¤È¤·¤Æ¤¤¤ë»ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤Îǧ¾Ú¤ò -¹Ô¤¦¡£ -\fB-l\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +¿·¤¿¤Ë¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤òºî¤ê½Ð¤½¤¦¤È¤·¤Æ¤¤¤ë +»ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤òǧ¾Ú¤¹¤ë¡£ +\fB-l\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ .IP \fBPW_ADD\fR 1i »ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤ËÂФ·¤Æ¿·¤¿¤Ê¥¨¥ó¥È¥ê¤òºî¤ë¡£ -¤³¤ì¤Ë¤è¤ê¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤¬¿·µ¬¥æ¡¼¥¶ÍѤε­²±Îΰè¤ò½àÈ÷¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -\fB-a\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +¤³¤ì¤Ë¤è¤ê¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤Ï¿·µ¬¥æ¡¼¥¶ÍѤε­²±Îΰè¤ò½àÈ÷¤Ç¤­¤ë¡£ +\fB-a\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ .IP \fBPW_CHANGE\fR 1i »ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤Î´û¸¤Î¥¨¥ó¥È¥ê¤òÊѹ¹¤¹¤ë¡£ -¤³¤ì¤Ë¤è¤ê¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤¬´û¸¤Î¥æ¡¼¥¶¤Îǧ¾Ú¾ðÊó¤òÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -\fB-c\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +¤³¤ì¤Ë¤è¤ê¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤Ï´û¸¤Î¥æ¡¼¥¶¤Îǧ¾Ú¾ðÊó¤òÊѹ¹¤Ç¤­¤ë¡£ +\fB-c\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ .IP \fBPW_DELETE\fR 1i »ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤Îǧ¾Ú¾ðÊó¤ò¾Ãµî¤¹¤ë¡£ -¤³¤ì¤Ë¤è¤ê¡¢°Ê¸å¤³¤Îǧ¾Ú¥×¥í¥°¥é¥à¤òÍѤ¤¤ÆÇ§¾Ú¤µ¤ì¤ë»ö¤Î̵¤¯¤Ê¤Ã¤¿¥æ¡¼¥¶ -¾ðÊó¤Îµ­²±Îΰè¤ò²óÉü¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ -\fB-d\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +¤³¤ì¤Ë¤è¤ê¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤Ïº£¸åǧ¾Ú¤¹¤ë¤³¤È¤¬Ìµ¤¯¤Ê¤Ã¤¿ +¥æ¡¼¥¶ÍѤε­²±Îΰè¤òºÆÍøÍѤǤ­¤ë¡£ +\fB-d\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ .IP \fBPW_TELNET\fR 1i -\fBtelnet\fR¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ -\fB-t\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +\fBtelnet\fR ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ +\fB-t\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ .IP \fBPW_RLOGIN\fR 1i -\fBrlogin\fR¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ -\fB-r\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +\fBrlogin\fR ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ +\fB-r\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ .IP \fBPW_FTP\fR 1i -\fBftp\fR¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ -\fB-f\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ -¥æ¡¼¥¶¤È¤ä¤ê¤È¤ê¤¹¤ë¤¿¤á¤Ëɸ½à¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÍѤ¤¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¡£ -ɸ½àÆþÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¿Æ¥×¥í¥»¥¹¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤ª¤ê¡¢ -°ìÊý¾¤ÎÆó¤Ä¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï\fI/dev/null\fR¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£ -\fBpw_auth\fR´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿0¤òÍѤ¤¤Æ°ì¹Ô¤Î¥Ç¡¼¥¿¤ò -ǧ¾Ú¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤¹¤ë¡£ +\fBftp\fR ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ +\fB-f\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +ɸ½à¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÍѤ¤¤Æ¥æ¡¼¥¶¤ÈÄÌ¿®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ +ɸ½à¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¿Æ¥×¥í¥»¥¹¤ËÀܳ¤µ¤ì¤Æ¤ª¤ê¡¢ +¾¤ÎÆó¤Ä¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï \fI/dev/null\fR ¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¡£ +\fBpw_auth\fR ´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿ 0 +¤òÍѤ¤¤Æ°ì¹Ô¤Î¥Ç¡¼¥¿¤òǧ¾Ú¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤¹¤ë¡£ .IP \fBPW_REXEC\fR 1i -\fIrexec\fR¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ -\fB-x\fR¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ -¥ê¥â¡¼¥È¥æ¡¼¥¶¤È¤ä¤ê¤È¤ê¤¹¤ë¤¿¤á¤Ëɸ½à¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÍѤ¤¤ë¤³¤È¤Ï -½ÐÍè¤Ê¤¤¡£ -ɸ½àÆþÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¿Æ¥×¥í¥»¥¹¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤ª¤ê¡¢ -°ìÊý¾¤ÎÆó¤Ä¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï\fI/dev/null\fR¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£ -\fBpw_auth\fR´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿0¤òÍѤ¤¤Æ°ì¹Ô¤Î¥Ç¡¼¥¿¤ò -ǧ¾Ú¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤¹¤ë¡£ +\fIrexec\fR ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥·¥¹¥Æ¥à¤ËÀܳ¤·¤ÆÍ褿¥æ¡¼¥¶¤Îǧ¾Ú¤ò¹Ô¤¦¡£ +\fB-x\fR ¥ª¥×¥·¥ç¥ó¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤ÆÇ§¾Ú¥×¥í¥°¥é¥à¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ +ɸ½à¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÍѤ¤¤Æ¥æ¡¼¥¶¤ÈÄÌ¿®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ +ɸ½à¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¿Æ¥×¥í¥»¥¹¤ËÀܳ¤µ¤ì¤Æ¤ª¤ê¡¢ +¾¤ÎÆó¤Ä¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï \fI/dev/null\fR ¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¡£ +\fBpw_auth\fR ´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿ 0 +¤òÍѤ¤¤Æ°ì¹Ô¤Î¥Ç¡¼¥¿¤òǧ¾Ú¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤¹¤ë¡£ .PP ºÇ¸å¤Î°ú¿ô¤Ï .B PW_FTP µÚ¤Ó .B PW_REXEC ¤ÎÊýË¡¤ÇÍѤ¤¤é¤ì¤ëǧ¾Ú¥Ç¡¼¥¿¤Ç¤¢¤ê¡¢ -°ì¹Ô¤Îʸ¤È¤·¤Æ°·¤ï¤ì¤Æ¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤µ¤ì¤ë¡£ +°ì¹Ô¤Î¥Æ¥­¥¹¥È¤È¤·¤Æ°·¤ï¤ì¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤µ¤ì¤ë¡£ +.I reason +¤¬ .B PW_CHANGE -¤ÎÊýË¡¤Ç¥æ¡¼¥¶Ì¾¤¬Êѹ¹¤µ¤ì¤ë¾ì¹ç¤Ï¡¢\fIinput\fR¤ÎÆâÍÆ¤Ï -°ÊÁ°ÍѤ¤¤Æ¤¤¤¿¥æ¡¼¥¶Ì¾¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +¤Î¤È¤­¤Ï¡¢¥æ¡¼¥¶Ì¾¤¬Êѹ¹¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï +\fIinput\fR ¤ÎÆâÍÆ¤Ï°ÊÁ°ÍѤ¤¤Æ¤¤¤¿¥æ¡¼¥¶Ì¾¤Ç¤¢¤ë¡£ .SH ·Ù¹ð ¤³¤Î´Ø¿ô¤Ï¼ÂºÝ¤Î¥»¥Ã¥·¥ç¥ó¤òºî¤ê½Ð¤¹¤³¤È¤Ï¤·¤Ê¤¤¡£ »ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤Î¥»¥Ã¥·¥ç¥ó¤òºî¤ê½Ð¤¹»ö¤òµö²Ä¤¹¤ë¤«Èݤ«¤òÅú¤¨¤ë¤À¤±¤Ç¤¢¤ë¡£ .PP ¤Þ¤À¥Í¥Ã¥È¥ï¡¼¥¯¥ª¥×¥·¥ç¥ó¤Ï¥Æ¥¹¥È¤·¤Æ¤¤¤Ê¤¤¡£ .SH ÊÖ¤êÃÍ -\fBpw_auth\fR´Ø¿ô¤Ï¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤¬½ªÎ»¥³¡¼¥É0¤Ç½ªÎ»¤·¤¿¾ì¹ç¤Ï0¤ò¡¢ +\fBpw_auth\fR ´Ø¿ô¤Ï¡¢Ç§¾Ú¥×¥í¥°¥é¥à¤¬½ªÎ»¥³¡¼¥É 0 ¤Ç½ªÎ»¤·¤¿¾ì¹ç¤Ï 0 ¤ò¡¢ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¥¼¥í°Ê³°¤ÎÃͤòÊÖ¤¹¡£ .SH ´ØÏ¢¹àÌÜ .BR login (1), @@ -138,5 +141,5 @@ pwauth \- .BR useradd (8), .BR userdel (8), .BR usermod (8) -.SH AUTHOR +.SH Ãø¼Ô Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/ja/pwauth.8 b/man/ja/pwauth.8 deleted file mode 100644 index 82a804ef..00000000 --- a/man/ja/pwauth.8 +++ /dev/null @@ -1,69 +0,0 @@ -.\" Copyright 1992, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: pwauth.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" -.\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka -.\" all rights reserved. -.\" Translated Fri Feb 14 23:06:00 JST 1997 -.\" by Kazuyoshi Furutaka -.\" -.TH PWAUTH 8 -.SH ̾Á° -pwauth \- ´ÉÍý¼Ô¤ÎÀßÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥Éǧ¾ÚË¡ -.SH ÀâÌÀ -¥·¥¹¥Æ¥à¤Î´ÉÍý¼Ô¤Ï¡¢¥æ¡¼¥¶¤¬ËܿͤǤ¢¤ë»ö¤òǧ¾Ú¤¹¤ë¼êÃʤȤ·¤Æ¡¢ -¥×¥í¥°¥é¥à¤ò¤¤¤¯¤Ä¤«ÀßÄꤷ¤Æ¤ª¤¯»ö¤¬½ÐÍè¤ë¡£ -¤½¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï\fI/etc/passwd\fR¤â¤·¤¯¤Ï\fI/etc/shadow\fR¥Õ¥¡¥¤¥ëÃæ¤Ç¡¢ -°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÎÂå¤ï¤ê¤È¤·¤Æ»ØÄꤵ¤ì¤ë¡£ -¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ò´ÉÍý¤¹¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥ÉÍó -¤òÄ´¤Ù¡¢¤½¤Î¥æ¡¼¥¶¤ËÂФ·¤Æ¥·¥¹¥Æ¥à´ÉÍý¼Ô¤¬Ç§¾Ú¥×¥í¥°¥é¥à¤òÀßÄꤷ¤Æ -¤¤¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¡£ -´ÉÍý¥×¥í¥°¥é¥à¤Î¤¤¤º¤ì¤«¤¬¡¢ -¤³¤ì¤«¤éÊѹ¹¤µ¤ì¤ë¥æ¡¼¥¶¤Ëǧ¾Ú¥×¥í¥°¥é¥à¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È -ȽÃǤ·¤¿¾ì¹ç¤Ï¾ï¤Ë¡¢\fBpw_auth\fR´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ -.PP -¥æ¡¼¥¶Ç§¾Ú¤ËÍѤ¤¤ëºÇ½é¤Î¥¨¥ó¥È¥ê¤Ï\fBuseradd\fR¥³¥Þ¥ó¥É¤Ë¤è¤êÀ¸À®¤µ¤ì¤ë¡£ -ǧ¾Ú¾ðÊó¤ÎÊѹ¹¤ä¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤òºï½ü¤¹¤ëÅù¤ÎÊѹ¹¤ËºÝ¤·¤Æ¤Ï -\fBpw_auth\fR´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¡¢ -³Æ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Îǧ¾Ú¾ðÊ󤬺ǿ·¤Î¾õÂ֤˰ݻý¤µ¤ì¤ë¡£ -.PP -ǧ¾Ú¥×¥í¥°¥é¥à¼«ÂÎ¤Ï¼ÂºÝ¤Î¥í¥°¥¤¥óËô¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥»¥Ã¥·¥ç¥ó¤ò -À¸À®¤·¤Ê¤¤¡£ -ǧ¾Ú¥×¥í¥°¥é¥à¤Î½ªÎ»¥³¡¼¥É¤Ï¥í¥°¥¤¥ó¤¬µö²Ä¤µ¤ì¤¿¤«Èݤ«¤ÎȽÃǤËÍѤ¤¤é¤ì¤ë¡£ -¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë¤Ï¡¢¥í¥°¥¤¥ó¤â¤·¤¯¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥»¥Ã¥·¥ç¥ó¤òÀ¸À® -¤·ÆÀ¤ëŬÀÚ¤ÊÆÃ¸¢¤¬¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -.SH ´ØÏ¢¹àÌÜ -.BR login (1), -.BR passwd (1), -.BR su (1), -.BR pw_auth (3), -.BR useradd (8), -.BR userdel (8), -.BR usermod (8) -.SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/ja/pwck.8 b/man/ja/pwck.8 index c320ecbe..ebc4f5d1 100644 --- a/man/ja/pwck.8 +++ b/man/ja/pwck.8 @@ -1,3 +1,4 @@ +.\"$Id: pwck.8,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1992, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,76 +26,85 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: pwck.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Updated Sun 3 Mar 2002 by NAKANO Takeo +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" .TH PWCK 8 .SH ̾Á° -pwck \- ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î´°Á´À­¤ò¸¡¾Ú¤¹¤ë +pwck \- ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤¬Àµ¤·¤¤¤«¤É¤¦¤«¸¡ºº¤¹¤ë .SH ½ñ¼° -\fBpwck\fR [\fB-r\fR] [\fIpasswd\fR \fIshadow\fR] +\fBpwck\fR [\fB-sr\fR] [\fIpasswd\fR \fIshadow\fR] .SH ÀâÌÀ -\fBpwck\fR¤Ï¥·¥¹¥Æ¥à¤Îǧ¾Ú¾ðÊó¤Î´°Á´À­¤Î¸¡¾Ú¤ò¹Ô¤¦¡£ -\fI/etc/passwd\fRµÚ¤Ó\fI/etc/shadow\fR¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´¤Æ¤Î¥¨¥ó¥È¥ê¡¼¤ËÂФ·¤Æ¡¢ -½ñ¼°¤¬Àµ¤·¤¤¤«µÚ¤Ó³ÆÍó¤Ëµ­¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤ÏÍ­¸ú¤Ê¤â¤Î¤«¤É¤¦¤«¤Î¸¡¾Ú¤¬ -¹Ô¤Ê¤ï¤ì¤ë¡£ -½ñ¼°¤¬Àµ¤·¤¯¤Ê¤«¤Ã¤¿¤ê¤½¤Î¾¤ÎÄûÀµÉÔǽ¤Ê¸í¤ê¤ò´Þ¤à¥¨¥ó¥È¥ê¡¼¤Ïºï½ü¤òÂ¥¤µ¤ì¤ë¡£ +\fBpwck\fR ¥³¥Þ¥ó¥É¤Ï¥·¥¹¥Æ¥à¤Îǧ¾Ú¾ðÊó¤¬Àµ¤·¤¤¤«¤É¤¦¤«¸¡ºº¤¹¤ë¡£ +\fI/etc/passwd\fR ¤È \fI/etc/shadow\fR +³Æ¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ËÂФ·¡¢ +³Æ¥Õ¥£¡¼¥ë¥É¤Î½ñ¼°¤¬Àµ¤·¤¤¤«¡¢ +¤½¤Î¥Ç¡¼¥¿¤¬Í­¸ú¤Ê¤â¤Î¤«¤É¤¦¤«¤ò¸¡¾Ú¤¹¤ë¡£ +½ñ¼°¤¬Àµ¤·¤¯¤Ê¤¤¥¨¥ó¥È¥ê¤ä¡¢ +½¤ÀµÉÔǽ¤Ê¸í¤ê¤ò´Þ¤à¥¨¥ó¥È¥ê¤Ïºï½ü¤¹¤ë¤è¤¦¥×¥í¥ó¥×¥È¤ò½Ð¤¹¡£ .P -³Æ¡¹¤Î¥¨¥ó¥È¥ê¡¼¤ËÂФ·¤Æ +³Æ¡¹¤Î¥¨¥ó¥È¥ê¤ËÂФ·¤Æ .sp .in +.5i -- Íó¤Î¿ô¤¬Àµ¤·¤¤¤« +- ¥Õ¥£¡¼¥ë¥É¤Î¿ô¤¬Àµ¤·¤¤¤« .br - ¥æ¡¼¥¶Ì¾¤Ë½ÅÊ£¤¬¤Ê¤¤¤« .br -- ¥æ¡¼¥¶µÚ¤Ó¥°¥ë¡¼¥×¥¢¥¤¥Ç¥ó¥Æ¥£¥Õ¥¡¥¤¥¢¤¬Í­¸ú¤Ê¤â¤Î¤Ç¤¢¤ë¤« +- ¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤Î ID ¤¬Àµ¤·¤¤¤« .br -- ¼ç¥°¥ë¡¼¥×¤¬Í­¸ú¤Ê¤â¤Î¤Ç¤¢¤ë¤« +- ¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×¤¬Àµ¤·¤¤¤« .br - ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¬Àµ¤·¤¤¤« .br - ¥í¥°¥¤¥ó¥·¥§¥ë¤¬Àµ¤·¤¤¤« .in -.5i -Åù¤Î¥Á¥§¥Ã¥¯¤¬¹Ô¤ï¤ì¤ë¡£ .sp +¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£ .P -Íó¤Î¿ô¤¬Àµ¤·¤¤¤³¤ÈµÚ¤Ó¥æ¡¼¥¶Ì¾¤Î½ÅÊ£¤¬¤Ê¤¤¤³¤È¤¬ºÇ½ÅÍ×»ö¹à¤Ç¤¢¤ë¡£ -Íó¤Î¿ô¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¡¢¤½¤Î¹Ô¤Î¥¨¥ó¥È¥ê¡¼¤òºï½ü¤¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ -ºï½ü¤ËƱ°Õ¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï̵»ë¤µ¤ì¤ë¡£ -½ÅÊ£¤·¤¿¥æ¡¼¥¶Ì¾¤¬¤¢¤Ã¤¿¾ì¹ç¤âºï½ü¤òÂ¥¤µ¤ì¤ë¤¬¡¢¤³¤Î¾ì¹ç¤Ï -¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï³¹Ô¤µ¤ì¤ë¡£ -¾¤ÎÁ´¤Æ¤Î¥¨¥é¡¼¤ËÂФ·¤Æ¤Ï·Ù¹ð¤¬¤Ê¤µ¤ì¤ë¤Î¤ß¤Ç¤¢¤ê¡¢¤½¤Î¾ì¹ç¤Ï -¸í¤ê¤òÄûÀµ¤¹¤ë¤¿¤á¤Ë\fBusermod\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤è¤¦´«¤á¤é¤ì¤ë¡£ +¥Õ¥£¡¼¥ë¥É¤Î¿ô¤¬´Ö°ã¤Ã¤Æ¤¤¤¿¤ê¡¢ +¥°¥ë¡¼¥×̾¤¬½ÅÊ£¤·¤Æ¤¤¤ë¤Î¤ÏÃ×̿Ū¤Ê¥¨¥é¡¼¤Ç¤¢¤ë¡£ +¥Õ¥£¡¼¥ë¥É¤Î¿ô¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¡¢ +¥æ¡¼¥¶¡¼¤Ï¤½¤Î¥¨¥ó¥È¥ê¹Ô¤òºï½ü¤¹¤ë¤è¤¦Â¥¤µ¤ì¤ë¡£ +ºï½ü¤ËƱ°Õ¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ +½ÅÊ£¤·¤¿¥°¥ë¡¼¥×̾¤¬¤¢¤Ã¤¿¾ì¹ç¤âºï½ü¤òÂ¥¤µ¤ì¤ë¤¬¡¢ +¤³¤Î¾ì¹ç¤Ïºï½ü¤·¤Ê¤¯¤Æ¤â¤½¤ì°Ê¹ß¤Î¥Á¥§¥Ã¥¯¤Ï³¹Ô¤µ¤ì¤ë¡£ +¾¤Î¤¹¤Ù¤Æ¤Î¥¨¥é¡¼¤ËÂФ·¤Æ¤Ï·Ù¹ð¤¬¤Ê¤µ¤ì¤ë¡£ +\fBusermod\fR ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤½¤Î¥¨¥é¡¼¤ò½¤Àµ¤¹¤ë¤ÈÎɤ¤¤À¤í¤¦¡£ .P -\fI/etc/passwd\fR¥Õ¥¡¥¤¥ë¤ËºîÍѤ¹¤ë¥³¥Þ¥ó¥É¤Ï¡¢¸í¤Ã¤¿¤â¤·¤¯¤Ï -½ÅÊ£¤·¤¿¥¨¥ó¥È¥ê¡¼¤òÊѹ¹¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¡£ -¤½¤ÎºÝ¤Ï¡¢\fBpwck\fR¤òÍѤ¤¤Æ¸í¤ê¤Î¤¢¤ë¥¨¥ó¥È¥ê¡¼¤òºï½ü¤¹¤Ù¤­¤Ç¤¢¤ë¡£ +\fI/etc/passwd\fR ¥Õ¥¡¥¤¥ë¤òÁàºî¤¹¤ë¥³¥Þ¥ó¥É¤Ï¡¢ +²õ¤ì¤¿¥¨¥ó¥È¥ê¤ä½ÅÊ£¤·¤¿¥¨¥ó¥È¥ê¤òÊѹ¹¤Ç¤­¤Ê¤¤¡£ +¤½¤Î¤è¤¦¤ÊºÝ¤Ë¸í¤ê¤Î¤¢¤ë¥¨¥ó¥È¥ê¤òºï½ü¤¹¤ë¤Ë¤Ï +\fBpwck\fR ¤òÍѤ¤¤ë¤È¤è¤¤¡£ .SH ¥ª¥×¥·¥ç¥ó -¥Ç¥£¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fBpwck\fR¤Ï\fI/etc/passwd\fR¥Õ¥¡¥¤¥ëµÚ¤Ó -\fI/etc/shadow\fR¤ËÂФ·¤ÆºîÍѤ¹¤ë¡£ -\fIpasswd\fRµÚ¤Ó\fIshadow\fR¥Ñ¥é¥á¡¼¥¿¤òÍѤ¤¤ÆÊ̤Υե¡¥¤¥ë¤òÁªÂò¤¹¤ë -»ö¤â¤Ç¤­¤ë¡£ -²Ã¤¨¤Æ¡¢\fB-r\fR¥Õ¥é¥Ã¥°¤Ç»Ø¼¨¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \fBpwck\fR ¤Ï \fI/etc/passwd\fR ¥Õ¥¡¥¤¥ë¤È +\fI/etc/shadow\fR ¤ËÂФ·¤ÆÆ°ºî¤¹¤ë¡£ +\fIpasswd\fR ¥Ñ¥é¥á¡¼¥¿¤È \fIshadow\fR ¥Ñ¥é¥á¡¼¥¿¤òÍѤ¤¤Æ¡¢ +Ê̤Υե¡¥¤¥ë¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +¤µ¤é¤Ë \fB-r\fR ¥Õ¥é¥°¤ò»ØÄꤹ¤ì¤Ð¡¢ ¥ê¡¼¥É¥ª¥ó¥ê¡¼¥â¡¼¥É¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ -¤³¤Î¾ì¹ç¤Ï¡¢Êѹ¹¤ò¹Ô¤¦¤«¤É¤¦¤«¤Î¼ÁÌä¤ËÂФ·¤Æ¤¤¤Á¤¤¤ÁÅú¤¨¤Ê¤¯¤È¤â¡¢ -¼«Æ°Åª¤Ë\fBno\fR¤È²óÅú¤µ¤ì¤ë¡£ +¤³¤Î¾ì¹ç¡¢Êѹ¹¤ò¹Ô¤¦¤«¤É¤¦¤«¤Ï¥æ¡¼¥¶¤ØÌ䤤¹ç¤ï¤µ¤ì¤º¡¢ +¼«Æ°Åª¤Ë \fBno\fR ¤È²óÅú¤µ¤ì¤ë¡£ +\fBpwck\fR ¤Ï \fI/etc/passwd\fR ¤È \fI/etc/shadow\fR +¤Î¥¨¥ó¥È¥ê¤ò UID ¤Ç¥½¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ +¥½¡¼¥È¥â¡¼¥É¤Çưºî¤µ¤»¤ë¤Ë¤Ï \fB-s\fR ¥Õ¥é¥°¤òÍ¿¤¨¤ë¡£ +¤³¤Î¾ì¹ç¥Á¥§¥Ã¥¯¤Ï¹Ô¤ï¤ì¤º¡¢Ã±¤Ë¥½¡¼¥È¤¹¤ë¤À¤±¤Ç¤¢¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¾ðÊó +\fI/etc/shadow\fR \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¾ðÊó .br -/etc/group \- ¥°¥ë¡¼¥×¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR group (5), .BR passwd (5), .BR shadow (5), .BR usermod (8) .SH ÊÖ¤êÃÍ -\fBpwck\fR¥³¥Þ¥ó¥É¤Ï°Ê²¼¤ÎÌá¤êÃͤòÊÖ¤·¤Æ½ªÎ»¤¹¤ë: +\fBpwck\fR ¥³¥Þ¥ó¥É¤Ï°Ê²¼¤ÎÃͤòÊÖ¤·¤Æ½ªÎ»¤¹¤ë: .IP 0 5 À®¸ù .IP 1 5 diff --git a/man/ja/pwconv.8 b/man/ja/pwconv.8 index 9c8276e1..604afced 100644 --- a/man/ja/pwconv.8 +++ b/man/ja/pwconv.8 @@ -1,13 +1,14 @@ +.\"$Id: pwconv.8,v 1.3 2003/04/28 02:14:00 kloczek Exp $ .\" .\" Japanese Version Copyright (c) 2001 Yuichi SATO .\" all rights reserved. .\" Translated Sat Dec 1 20:09:17 JST 2001 .\" by Yuichi SATO +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" -.\" $Id: pwconv.8,v 1.2 2001/12/20 14:02:38 ankry Exp $ .TH PWCONV 8 "26 Sep 1997" .SH ̾Á° -pwconv, pwunconv, grpconv, grpunconv \- shadow ¥Ñ¥¹¥ï¡¼¥É¤È shadow ¥°¥ë¡¼¥×¤Ø¤ÎÊÑ´¹¡¢¤ª¤è¤ÓÄ̾ï¤Î¥Õ¥¡¥¤¥ë¤Ø¤ÎµÕÊÑ´¹ +pwconv, pwunconv, grpconv, grpunconv \- ¥Ñ¥¹¥ï¡¼¥É¡¦¥°¥ë¡¼¥×¤Î shadow ²½¤È¡¢Ä̾ï¥Õ¥¡¥¤¥ë¤Ø¤ÎµÕÊÑ´¹ .SH ½ñ¼° .B pwconv .br @@ -17,69 +18,63 @@ pwconv, pwunconv, grpconv, grpunconv \- shadow .br .B grpunconv .SH ÀâÌÀ -¤³¤ì¤é 4 ¤Ä¤Î¥×¥í¥°¥é¥à¤Ï¡¢Ä̾ï¤Î¥Ñ¥¹¥ï¡¼¥É¡¦¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë -¤ª¤è¤Ó shadow ¥Ñ¥¹¥ï¡¼¥É¡¦¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë -.IR /etc/passwd ", " /etc/group ", " /etc/shadow ", " /etc/gshadow +¤³¤ì¤é 4 ¤Ä¤Î¥×¥í¥°¥é¥à¤Ï¡¢ +Ä̾ï¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¡¦¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤È¡¢ +shadow ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¡¦¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë +\fI/etc/passwd\fR ", " \fI/etc/group\fR ", " \fI/etc/shadow\fR ", " \fI/etc/gshadow\fR ¤òÁàºî¤¹¤ë¡£ -\fBpwconv\fR ¤Ï \fIpasswd\fR ¤È \fIshadow\fR (´û¤Ë¸ºß¤¹¤ë¾ì¹ç) ¤«¤é -\fIshadow\fR ¤òºîÀ®¤¹¤ë¡£ -\fBpwunconv\fR ¤Ï \fIpasswd\fR ¤È \fIshadow\fR ¤«¤é \fIpasswd\fR ¤òºîÀ®¤·¡¢ -\fIshadow\fR ¤òºï½ü¤¹¤ë¡£ -\fBgrpconv\fR ¤Ï \fIgroup\fR ¤È \fIgshadow\fR (´û¤Ë¸ºß¤¹¤ë¾ì¹ç) ¤«¤é -\fIgshadow\fR ¤òºîÀ®¤¹¤ë¡£ -\fBgrpunconv\fR ¤Ï \fIgroup\fR ¤È \fIgshadow\fR ¤«¤é \fIgroup\fR ¤òºîÀ®¤·¡¢ -\fIgshadow\fR ¤òºï½ü¤¹¤ë¡£ +\fBpwconv\fR ¤Ï \fIpasswd\fR ¤«¤é \fIshadow\fR ¤òºîÀ®¤¹¤ë +(¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï \fIshadow\fR ¤Î¾ðÊó¤âÍѤ¤¤ë)¡£ +\fBpwunconv\fR ¤Ï \fIpasswd\fR ¤È \fIshadow\fR ¤«¤é +\fIpasswd\fR ¤òºîÀ®¤·¡¢\fIshadow\fR ¤òºï½ü¤¹¤ë¡£ +\fBgrpconv\fR ¤Ï \fIgroup\fR ¤«¤é \fIgshadow\fR ¤òºîÀ®¤¹¤ë +(¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï \fIgshadow\fR ¤Î¾ðÊó¤âÍѤ¤¤ë)¡£ +\fBgrpunconv\fR ¤Ï \fIgroup\fR ¤È \fIgshadow\fR ¤«¤é +\fIgroup\fR ¤òºîÀ®¤·¡¢\fIgshadow\fR ¤òºï½ü¤¹¤ë¡£ -³Æ¥×¥í¥°¥é¥à¤ÏɬÍפȤµ¤ì¤ë¥í¥Ã¥¯¤òÊÑ´¹¤ÎÁ°¤Ë¼èÆÀ¤¹¤ë¡£ +³Æ¥×¥í¥°¥é¥à¤ÏÊÑ´¹Á°¤Ë¡¢É¬Íפʥí¥Ã¥¯¤òÍ׵᤹¤ë¡£ .B pwconv ¤È .B grpconv -¤ÏÎà»÷¤·¤Æ¤¤¤ë¡£ -1 ¤ÄÌܤϡ¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤¬¤Ê¤¤¾ì¹ç¡¢ -¤½¤Î¥¨¥ó¥È¥ê¤Ï shadow ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ç¤Ïºï½ü¤µ¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¤¢¤ë¡£ -2 ¤ÄÌܤϡ¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬ `x' ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ -shadow ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤Æ¡¢ -¤½¤ì¤ËÂбþ¤¹¤ë¥¨¥ó¥È¥ê¤¬¹¹¿·¤µ¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¤¢¤ë¡£ -3 ¤ÄÌܤϡ¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤¬ `x' ¤ËÃÖ¤­´¹¤¨¤é¤ì¤ëÅÀ¤Ç¤¢¤ë¡£ -¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï¡¢½é¤á¤ÆÊÑ´¹¤ò¹Ô¤¦¤È¤­¤Ë»È¤¨¤ë¡£ -¤Þ¤¿¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤ò¼êư¤ÇÊÔ½¸¤·¤¿¾ì¹ç¤Ë -shadow ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë¤Î¤Ë»È¤¦¤³¤È¤â¤Ç¤­¤ë¡£ +¤È¤Ï°Ê²¼¤ÎÅÀ¤ÇÎà»÷¤·¤Æ¤¤¤ë¡£ +¤Þ¤º¡¢shadow ²½¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥¨¥ó¥È¥ê¤Î¤¦¤Á¡¢ +Ä̾ï¥Õ¥¡¥¤¥ë¤Ë¤Ê¤¤¤â¤Î¤Ï¡¢ºï½ü¤µ¤ì¤ë¡£ +¤Þ¤¿¡¢shadow ²½¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥¨¥ó¥È¥ê¤Î¤¦¤Á¡¢ +Ä̾ï¥Õ¥¡¥¤¥ë¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬ `x' ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤â¤Î¤Ï¡¢¹¹¿·¤µ¤ì¤ë¡£ +ºÇ¸å¤Ë¡¢Ä̾ï¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï `x' ¤ËÃÖ¤­´¹¤¨¤é¤ì¤ë¡£ +¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï¡¢½é¤á¤ÆÊÑ´¹¤ò¹Ô¤¦¤È¤­¤Ë¤â¡¢ +¤Þ¤¿Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤ò¼êư¤ÇÊÔ½¸¤·¤¿ºÝ¤Ë¡¢ +shadow ²½¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë¤È¤­¤Ë¤âÍøÍѤǤ­¤ë¡£ -.I /etc/shadow -¤Ë¿·¤·¤¤¥¨¥ó¥È¥ê¤òÄɲ乤ë¾ì¹ç¡¢ -.B pwconv -¤Ï -.I /etc/login.defs -¤Ë¤¢¤ë +\fI/etc/shadow\fR ¤Ë¿·¤·¤¤¥¨¥ó¥È¥ê¤òÄɲ乤ë¤È¤­¡¢ +\fBpwconv\fR ¤Ï \fI/etc/login.defs\fR +¤Î .BR PASS_MIN_DAYS ", " PASS_MAX_DAYS ", " PASS_WARN_AGE ¤ÎÃͤò»È¤¦¡£ -ƱÍͤˡ¢ -.B pwunconv -¤È -.B grpunconv -¤ÏÎà»÷¤·¤Æ¤¤¤ë¡£ -Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢ -shadow ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¹¹¿·¤µ¤ì¤ë¡£ -¥¨¥ó¥È¥ê¤¬Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¸ºß¤¹¤ë¤¬ -shadow ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤Ï¸ºß¤·¤Ê¤¤¤È¤¤¤¦¾ì¹ç¡¢ -¤½¤Î¥¨¥ó¥È¥ê¤Ï¤½¤Î¤Þ¤Þ¤Ë¤µ¤ì¤ë¡£ -ºÇ½ªÅª¤Ë shadow ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ïºï½ü¤µ¤ì¤ë¡£ +Ʊ¤¸¤è¤¦¤Ë¡¢ +\fBpwunconv\fR ¤È \fBgrpunconv\fR +¤È¤Ï°Ê²¼¤ÎÅÀ¤ÇÎà»÷¤·¤Æ¤¤¤ë¡£ +Ä̾ï¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢ +shadow ²½¥Õ¥¡¥¤¥ë¤Î¤â¤Î¤Ç¹¹¿·¤µ¤ì¤ë¡£ +Ä̾ï¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥¨¥ó¥È¥ê¤Ï¡¢ +shadow ²½¥Õ¥¡¥¤¥ë¤Ë¤Ï¤½¤Î¥¨¥ó¥È¥ê¤¬¤Ê¤¯¤Æ¤â¡¢ +¤½¤Î¤Þ¤ÞÃÖ¤«¤ì³¤±¤ë¡£ +ºÇ¸å¤Ë¡¢ shadow ²½¥Õ¥¡¥¤¥ë¤Ïºï½ü¤µ¤ì¤ë¡£ +¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¾ðÊó¤Î°ìÉô¤Ï¡¢ .B pwunconv -¤Ï´ü¸Â¤ÎÀڤ줿¥Ñ¥¹¥ï¡¼¥É¤òÇË´þ¤·¡¢ÊÑ´¹¤Ç¤­¤ë¤â¤Î¤Î¤ß¤òÊÑ´¹¤¹¤ë¡£ - +¤Ë¤è¤Ã¤Æ¼º¤ï¤ì¤ë¡£ÊÑ´¹¤Ç¤­¤ë¤â¤Î¤ÏÊÑ´¹¤µ¤ì¤ë¡£ .SH ¥Ð¥° -(ÉÔÀµ¤Ê¥¨¥ó¥È¥ê¤ä½ÅÊ£¤·¤¿¥¨¥ó¥È¥ê¤È¤¤¤Ã¤¿) ¥¨¥é¡¼¤¬ -¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ä¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤È¡¢ -¥×¥í¥°¥é¥à¤Ï±Ê±ó¤Ë¥ë¡¼¥×¤·¤Æ¡¢¤ª¤«¤·¤Ê·Á¤Ç¼ºÇÔ¤¹¤ë¡£ +(ÉÔÀµ¤Ê¥¨¥ó¥È¥ê¤ä½ÅÊ£¤·¤¿¥¨¥ó¥È¥ê¤È¤¤¤Ã¤¿) +¥¨¥é¡¼¤¬¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ä¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤È¡¢ +¥×¥í¥°¥é¥à¤Ï±Ê±ó¤Ë¥ë¡¼¥×¤·¤¿¤ê¡¢¤ª¤«¤·¤Ê·Á¤Ç¼ºÇÔ¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ shadow ¥Ñ¥¹¥ï¡¼¥É¡¦¥°¥ë¡¼¥×¤Ø¤ÎÊÑ´¹¤ä shadow ²½¥Õ¥¡¥¤¥ë¤«¤é¤ÎµÕÊÑ´¹¤ò¹Ô¤¦Á°¤Ë¡¢ \fBpwck\fR ¤È \fBgrpck\fR ¤ò¼Â¹Ô¤·¤Æ¥¨¥é¡¼¤ò½¤Àµ¤¹¤ë¤³¤È¡£ .SH ´ØÏ¢¹àÌÜ .BR login.defs (5), -.BR pwck (8), .BR grpck (8), -.BR shadowconfig (8) +.BR pwck (8) diff --git a/man/ja/shadow.3 b/man/ja/shadow.3 index 0c99a701..e66f271d 100644 --- a/man/ja/shadow.3 +++ b/man/ja/shadow.3 @@ -1,3 +1,4 @@ +.\"$Id: shadow.3,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,12 +26,11 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: shadow.3,v 1.2 2001/11/16 17:01:33 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" updated Tue 17 Sep 2002 by NAKANO Takeo .\" .TH SHADOW 3 .SH ̾Á° @@ -63,82 +63,89 @@ shadow \- .B int ulckpwdf(); .SH ÀâÌÀ .I shadow -¤Ïshadow¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë\fI/etc/shadow\fR¤ÎÆâÍÆ¤òÁàºî¤¹¤ë¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£ +¤Ï shadow ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë +\fI/etc/shadow\fR ¤ÎÆâÍÆ¤òÁàºî¤¹¤ë¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£ +\fI#include\fR ¥Õ¥¡¥¤¥ë¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¹½Â¤ÂΤϰʲ¼¤ÎÄ̤ꡣ .sp struct spwd { .in +.5i .br - char *sp_namp; /* ¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó̾ */ + char *sp_namp; /* user login name */ .br - char *sp_pwdp; /* °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É */ + char *sp_pwdp; /* encrypted password */ .br - long sp_lstchg; /* ºÇ½ª¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹Æü»þ */ + long sp_lstchg; /* last password change */ .br - int sp_min; /* ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹ÉÔǽÆü¿ô */ + int sp_min; /* days until change allowed. */ .br - int sp_max; /* ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹Í×µáËø¤ÎÆü¿ô */ + int sp_max; /* days before change required */ .br - int sp_warn; /* ¥Ñ¥¹¥ï¡¼¥É´ü¸ÂËþλ·Ù¹ðÆü¿ô */ + int sp_warn; /* days warning for expiration */ .br - int sp_inact; /* ¥¢¥«¥¦¥ó¥È̵¸ú¤Þ¤Ç¤ÎÆü¿ô */ + int sp_inact; /* days before account inactive */ .br - int sp_expire; /* ¥¢¥«¥¦¥ó¥È´ü¸ÂËþλ¤ÎÆüÉÕ */ + int sp_expire; /* date when account expires */ .br - int sp_flag; /* ¾­Íè¤Î»ÈÍѤËͽÌó */ + int sp_flag; /* reserved for future use */ .br .in -.5i } .PP -³ÆÍó¤Î°ÕÌ£¤Ï +³Æ¥Õ¥£¡¼¥ë¥É¤Î°ÕÌ£¤Ï: .sp -sp_namp \- ¥Ì¥ë½ªÃ¼¤Î¥æ¡¼¥¶Ì¾¤Ø¤Î¥Ý¥¤¥ó¥¿ +sp_namp \- ¥Ì¥ë½ªÃ¼¤µ¤ì¤¿¥æ¡¼¥¶Ì¾Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ .br -sp_pwdp \- ¥Ì¥ë½ªÃ¼¤Î¥Ñ¥¹¥ï¡¼¥É¤Ø¤Î¥Ý¥¤¥ó¥¿ +sp_pwdp \- ¥Ì¥ë½ªÃ¼¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥Éʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ .br sp_lstchg \- 1970ǯ1·î1Æü¤«¤é¥Ñ¥¹¥ï¡¼¥ÉºÇ½ªÊѹ¹Æü»þËø¤ÎÆü¿ô .br -sp_min \- ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤¬½ÐÍè¤ëÍͤˤʤë¤Þ¤Ç¤ÎÆü¿ô +sp_min \- ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô .br sp_max \- ¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Ê¤¯¤Æ¤âÎɤ¤Æü¿ô .br -sp_warn \- ¥Ñ¥¹¥ï¡¼¥É¤¬Ìµ¸ú¤È¤Ê¤ë¤Þ¤Ç¤Ë¥æ¡¼¥¶¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬ -̵¸ú¤È¤Ê¤ê¤«¤«¤Ã¤Æ¤¤¤ë¤È¤Î·Ù¹ð¤ò½Ð¤¹Æü¿ô +sp_warn \- ¥Ñ¥¹¥ï¡¼¥É¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤ëÁ°¤Ë¡¢ +´ü¸ÂÀڤ줬¶á¤Å¤¤¤Æ¤¤¤ë»Ý¤Î·Ù¹ð¤ò¥æ¡¼¥¶¤Ë½Ð¤¹´ü´Ö¤ÎÆü¿ô .br -sp_inact \- ¥Ñ¥¹¥ï¡¼¥É¤¬Ìµ¸ú¤È¤Ê¤Ã¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬ÉÔǽ¤È¤Ê¤ê -»ÈÍѤǤ­¤Ê¤¯¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô +sp_inact \- ¥Ñ¥¹¥ï¡¼¥É¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤«¤é¡¢ +¥¢¥«¥¦¥ó¥È¤¬ÉÔǽ¤È¤Ê¤ê»ÈÍѤǤ­¤Ê¤¯¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô .br -sp_expire \- 1970ǯ1·î1¤«¤é¥¢¥«¥¦¥ó¥È»ÈÍÑÉÔǽ¤È¤Ê¤ëËø¤ÎÆü¿ô +sp_expire \- 1970ǯ1·î1¤«¤é¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤È¤Ê¤ëÆüËø¤ÎÆü¿ô .br -sp_flag \- ¾­Íè¤Î»ÈÍѤËͽÌó +sp_flag \- ¾­Íè»È¤¦¤È¤­¤Ë¸þ¤±¤ÆÍ½Ìó .SH ÀâÌÀ -\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR, µÚ¤Ó \fBsgetspent\fR -¤Ï³Æ¡¹\fBstruct spwd\fR¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ -\fBgetspent\fR¤Ï¥Õ¥¡¥¤¥ë¤«¤é¼¡¤Î¥¨¥ó¥È¥ê¤ò¡¢\fBfgetspent\fR¤Ï -»ØÄꤵ¤ì¤¿¥¹¥È¥ê¡¼¥à¤«¤é¼¡¤Î¥¨¥ó¥È¥ê¤òÊÖ¤¹¡£ -¤³¤ÎºÝ¡¢¥Õ¥¡¥¤¥ë¤ÏÀµ¤·¤¤½ñ¼°¤Ç¤¢¤ë²¾Äꤷ¤Æ¤¤¤ë¡£ -\fBsgetspent\fR¤ÏÆþÎϤȤ·¤ÆÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òÍѤ¤¤Æ\fBstruct spwd\fR -¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ -\fBgetspnam\fR¤Ï¥Õ¥¡¥¤¥ëÃæ¤Î¸½ºß¤Î°ÌÃÖ¤«¤é\fBname\fR¤ËÉä¹ç¤¹¤ë¥¨¥ó¥È¥ê -¤òõ¤¹¡£ +\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR, \fBsgetspent\fR +¤Ï¡¢¤½¤ì¤¾¤ì \fBstruct spwd\fR ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ +\fBgetspent\fR ¤Ï¥Õ¥¡¥¤¥ë¤«¤é¼¡¤Î¥¨¥ó¥È¥ê¤ò¡¢ +\fBfgetspent\fR ¤Ï»ØÄꤵ¤ì¤¿¥¹¥È¥ê¡¼¥à +(Àµ¤·¤¤½ñ¼°¤Î¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤µ¤ì¤ë) +¤«¤é¼¡¤Î¥¨¥ó¥È¥ê¤òÊÖ¤¹¡£ +\fBsgetspent\fR ¤ÏÆþÎϤȤ·¤ÆÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òÍѤ¤¤Æ +\fBstruct spwd\fR ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ +\fBgetspnam\fR ¤Ï¥Õ¥¡¥¤¥ëÃæ¤Î¸½ºß¤Î°ÌÃÖ¤«¤é +\fBname\fR ¤Ë¥Þ¥Ã¥Á¤¹¤ë¥¨¥ó¥È¥ê¤òõ¤¹¡£ .PP -\fBsetspent\fRµÚ¤Ó\fBendspent\fR¤Ïshadow¤·¤¿¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Ø¤Î -¥¢¥¯¥»¥¹¤òÉס¹³«»ÏµÚ¤Ó½ªÎ»¤¹¤ë¤¿¤á¤ËÍѤ¤¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +\fBsetspent\fR ¤Ï +shadow ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë¡¢ +\fBendspent\fR ¤Ï½ªÎ»¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ .PP -\fB/etc/shadow\fR¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ëÇÓ¾Ū¤Ê¥¢¥¯¥»¥¹¤òÊݾڤ¹¤ë¤¿¤á¤Ë¡¢ -\fBlckpwdf\fRµÚ¤Ó\fBulckpwdf\fR¥ë¡¼¥Á¥ó¤òÍѤ¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -\fBlckpwdf\fR¤Ï\fBpw_lock\fR¤òÍѤ¤¤ÆºÇÂç15Éô֥í¥Ã¥¯¤ò¤·¤è¤¦¤È¤¹¤ë¡£ -¤½¤·¤Æ¡¢ºÇ½é¤Î15ÉäλĤê¤òÍѤ¤¤ÆÆóÅÙÌܤΥí¥Ã¥¯¤ò¤·¤è¤¦¤È¤·Â³¤±¤ë¡£ -Á´Éô¤Ç15Éô֤δ֤ˤ¤¤º¤ì¤«¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢\fBlckpwdf\fR¤Ï-1¤òÊÖ¤¹¡£ -¤¤¤º¤ì¤Î¥í¥Ã¥¯¤âÀ®¸ù¤·¤¿¾ì¹ç¤Ï0¤¬ÊÖ¤µ¤ì¤ë¡£ +\fI/etc/shadow\fR ¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ëÇÓ¾Ū¤Ê¥¢¥¯¥»¥¹¤òÊݾڤ·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ +\fBlckpwdf\fR ¥ë¡¼¥Á¥ó¤È \fBulckpwdf\fR ¥ë¡¼¥Á¥ó¤òÍѤ¤¤ë¡£ +\fBlckpwdf\fR ¤Ï \fBpw_lock\fR ¤òÍѤ¤¤ÆºÇÂç 15 Éô֥í¥Ã¥¯¤ò¼èÆÀ¤·¤è¤¦¤È¤¹¤ë¡£ +¤½¤·¤ÆºÇ½é¤Î 15 ÉäλĤê¤Î´Ö¡¢ +\fBspw_lock\fR ¤Ë¤è¤Ã¤ÆÆóÅÙÌܤΥí¥Ã¥¯¤ò¤·¤è¤¦¤È»î¤ß³¤±¤ë¡£ +·× 15 Éô֤δ֤ˤ¤¤º¤ì¤«¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢ +\fBlckpwdf\fR ¤Ï -1 ¤òÊÖ¤¹¡£ +¤¤¤º¤ì¤Î¥í¥Ã¥¯¤âÀ®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£ .SH ÊÖ¤êÃÍ -¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤Ï¡¢¥¨¥ó¥È¥ê¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹çËô¤Ï½èÍý¤Î²áÄø¤Ç -¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤ËNULL¤òÊÖ¤¹¡£ -ÊÖ¤êÃͤ¬\fBint\fR¤Ç¤¢¤ë¥ë¡¼¥Á¥ó¤Ï¡¢À®¸ù»þ¤Ë¤Ï0¤ò¡¢¼ºÇÔ»þ¤Ë¤Ï-1¤òÊÖ¤¹¡£ +¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤Ï¡¢¥¨¥ó¥È¥ê¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤ä¡¢ +½èÍý¤Î²áÄø¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤Ï NULL ¤òÊÖ¤¹¡£ +ÊÖ¤êÃͤ¬ \fBint\fR ¤Ç¤¢¤ë¥ë¡¼¥Á¥ó¤Ï¡¢ +À®¸ù¤·¤¿¤é 0 ¤ò¡¢¼ºÇÔ¤·¤¿¤é -1 ¤òÊÖ¤¹¡£ .SH ·Ù¹ð shadow¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤ÏÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ -¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Î¤ßÍѤ¤¤ë¤³¤È¤¬½ÐÍè¤ë¡£ +¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤À¤±¤¬ÍøÍѤǤ­¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/shadow \- °Å¹æ²½¤µ¤ì¤¿¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É +\fI/etc/shadow\fR \- °Å¹æ²½¤µ¤ì¤¿¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É .SH ´ØÏ¢¹àÌÜ .BR getpwent (3), .BR shadow (5) diff --git a/man/ja/shadow.5 b/man/ja/shadow.5 index 3678eda4..7cfec8bc 100644 --- a/man/ja/shadow.5 +++ b/man/ja/shadow.5 @@ -1,3 +1,4 @@ +.\"$Id: shadow.5,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,72 +26,74 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: shadow.5,v 1.4 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Tue 18 Sep 2002 by NAKNAO Takeo .\" .TH SHADOW 5 .SH ̾Á° shadow \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë .SH ÀâÌÀ .I shadow -¤Ë¤Ï¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤ËÂФ¹¤ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Î¾ðÊó¡¢µÚ¤Ó -¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤Î¾ðÊ󤬵­¤µ¤ì¤Æ¤¤¤ë¡£ +¤Ë¤Ï¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤ËÂФ¹¤ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¾ðÊó¡¢ +¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤Î¾ðÊ󤬵­¤µ¤ì¤Æ¤¤¤ë¡£ ´Þ¤Þ¤ì¤Æ¤¤¤ëÆâÍÆ¤Ï .IP "" .5i ¥í¥°¥¤¥ó̾ .IP "" .5i °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É .IP "" .5i -1970 ǯ 1 ·î 1 Æü¤«¤éºÇ¸å¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹¤µ¤ì¤¿ÆüËø¤ÎÆü¿ô +1970 ǯ 1 ·î 1 Æü¤«¤é¡¢ºÇ¸å¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹¤µ¤ì¤¿Æü¤Þ¤Ç¤ÎÆü¿ô .IP "" .5i -¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹²Ä¤È¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô +¥Ñ¥¹¥ï¡¼¥É¤¬Êѹ¹²Äǽ¤È¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô .IP "" .5i ¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¯¤Ê¤ëÆü¤Þ¤Ç¤ÎÆü¿ô .IP "" .5i -¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤¬Íè¤ë¤³¤È¤ò¥æ¡¼¥¶¤Ë·Ù¹ð¤¹¤ëÆü¿ô +¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤¬Íè¤ëÁ°¤Ë¡¢¥æ¡¼¥¶¤¬·Ù¹ð¤ò¼õ¤±¤ëÆü¿ô .IP "" .5i -¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤¬²á¤®¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ëËø¤ÎÆü¿ô +¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤¬²á¤®¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô .IP "" .5i 1970 ǯ 1 ·î 1 Æü¤«¤é¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ëÆü¤Þ¤Ç¤ÎÆü¿ô .IP "" .5i -ͽÌ󤵤줿Íó +ͽÌó¥Õ¥£¡¼¥ë¥É .PP -¥Ñ¥¹¥ï¡¼¥ÉÍó¤Ïɬ¤ºµ­Æþ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢a ¤«¤é z¡¢A ¤«¤é Z ¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢ -0 ¤«¤é 9 Ëø¤Î¿ô»úµÚ¤Ó \. ¤È / ¤Î 64 ʸ»ú¤Î¤¦¤Á¤Î 13 ¤«¤é 24 ʸ»ú¤«¤é¤Ê¤ë¡£ +¥Ñ¥¹¥ï¡¼¥É¥Õ¥£¡¼¥ë¥É¤Ïɬ¤ºµ­Æþ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢ +a ¤«¤é z¡¢A ¤«¤é Z ¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢ +0 ¤«¤é 9 ¤Þ¤Ç¤Î¿ô»ú¡¢ \. ¤È / ¤Î 64 ʸ»ú¤Î¤¦¤Á¤Î¡¢ +13 ʸ»ú°Ê¾å 24 ʸ»ú°Ê²¼¤Ç¤¢¤ë¡£ ¤³¤Îʸ»úÎ󤬤ɤΤ褦¤Ë²ò¼á¤µ¤ì¤ë¤«¤Î¾ÜºÙ¤Ï \fBcrypt\fR(3) ¤ò»²¾È¤»¤è¡£ .PP -ºÇ¸å¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿Æü»þ¤Ï 1970 ǯ 1 ·î 1 Æü¤«¤é¤ÎÆü¿ô¤È¤·¤Æ -µ­½Ò¤µ¤ì¤ë¡£ +ºÇ¸å¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿Æü»þ¤Ï +1970 ǯ 1 ·î 1 Æü¤«¤é¤ÎÆü¿ô¤È¤·¤Æµ­½Ò¤µ¤ì¤ë¡£ ¥Ñ¥¹¥ï¡¼¥É¤Ï½½Ê¬¤ÊÆü¿ô¤¬·Ð²á¤·¤Æ¤«¤é¤Ç¤Ê¤¤¤ÈÊѹ¹¤Ç¤­¤º¡¢ -¤Þ¤¿ºÇÂçÆü¿ô¤¬·Ð²á¤·¤¿¸å¤Ïɬ¤ºÊѹ¹¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡£ -Êѹ¹²Ä¤È¤Ê¤ë¤Þ¤Ç¤ËÍפ¹¤ëÆü¿ô¤¬Í­¸ú´ü¸Â¤è¤ê¤âÂ礭¤¤¾ì¹ç¤Ï¡¢ +¤Þ¤¿ºÇÂçÆü¿ô¤¬·Ð²á¤·¤¿¸å¤Ïɬ¤ºÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +Êѹ¹²Äǽ¤È¤Ê¤ë¤Þ¤Ç¤ËÍפ¹¤ëÆü¿ô¤¬Í­¸ú´ü¸Â¤è¤ê¤âÂ礭¤¤¾ì¹ç¤Ï¡¢ ¥æ¡¼¥¶¤¬¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¡£ .PP -¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬²á¤®¤Æ¤«¤é»ØÄꤷ¤¿Æü¿ô¤Î¤¦¤Á¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹ -¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¢¥«¥¦¥ó¥È¤Ï̵¸ú¤È¤Ê¤ê¡¢»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¡£ -¤Þ¤¿¡¢¥¢¥«¥¦¥ó¥È¤Ï»ØÄꤷ¤¿´üÆü¤Ë¡¢¥Ñ¥¹¥ï¡¼¥É¾¤ÎÍ­¸ú´ü¸Â¾ðÊó¤Ë¤Ï¤è¤é¤º¡¢ -»ÈÍÑÉÔǽ¤È¤Ê¤ë¡£ +¥Ñ¥¹¥ï¡¼¥É¤ÎÍ­¸ú´ü¸Â¤¬²á¤®¤Æ¤«¤é¡¢ +»ØÄêÆü¿ô¤Î¤¦¤Á¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ +¤½¤Î¥¢¥«¥¦¥ó¥È¤Ï̵¸ú¤Ë¤Ê¤ê¡¢»È¤¨¤Ê¤¯¤Ê¤ë¡£ +¤Þ¤¿¡¢¥¢¥«¥¦¥ó¥È¤ò»ØÄꤷ¤¿´üÆü¤Ë¡¢ +(¤½¤Î¾¤Î¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¾ðÊó¤Ë¤Ï¤è¤é¤º) +»ÈÍÑÉÔǽ¤È¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ .PP -¤³¤Î¾ðÊó¤Ï \fI/etc/passwd\fR Ãæ¤Ëµ­¤µ¤ì¤Æ¤¤¤ëÇ¡²¿¤Ê¤ë¥Ñ¥¹¥ï¡¼¥ÉµÚ¤Ó -¤½¤ÎÍ­¸ú´ü¸Â¾ðÊó¤è¤ê¤âÍ¥À褵¤ì¤ë¡£ +¤³¤Î¾ðÊó¤Ï¡¢\fI/etc/passwd\fR Ãæ¤Î +¤¢¤é¤æ¤ë¥Ñ¥¹¥ï¡¼¥É¾ðÊó¡¦Í­¸ú´ü¸Â¾ðÊó¤è¤ê¤âÍ¥À褵¤ì¤ë¡£ .PP -¥Ñ¥¹¥ï¡¼¥É¤Î°ÂÁ´À­¤ò°Ý»ý¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò°ìÈ̥桼¥¶ -¤¬ÆÉ¤á¤ë¤è¤¦¤Ë¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Ñ¥¹¥ï¡¼¥É¤Î°ÂÁ´À­¤òÊݤĤ¿¤á¤Ë¤Ï¡¢ +¤³¤Î¥Õ¥¡¥¤¥ë¤ò°ìÈ̥桼¥¶¤¬ÆÉ¤á¤ë¤è¤¦¤Ë¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- °Å¹æ²½¤µ¤ì¤¿¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É +\fI/etc/shadow\fR \- °Å¹æ²½¤µ¤ì¤¿¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É .SH ´ØÏ¢¹àÌÜ .BR chage (1), .BR login (1), .BR passwd (1), .BR su (1), -.BR shadow (3), .BR passwd (5), .BR pwconv (8), .BR pwunconv (8), diff --git a/man/ja/shadowconfig.8 b/man/ja/shadowconfig.8 index be232b80..91f48ea1 100644 --- a/man/ja/shadowconfig.8 +++ b/man/ja/shadowconfig.8 @@ -1,25 +1,31 @@ +.\"$Id: shadowconfig.8,v 1.4 2003/04/28 02:14:00 kloczek Exp $ +.\" +.\" Japanese Version Copyright (c) 2001 Maki KURODA .\" all right reserved, .\" Translated Tue Oct 30 11:59:11 JST 2001 -.\" by Maki KURODA +.\" by Maki KURODA +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" .TH SHADOWCONFIG 8 "19 Apr 1997" "Debian GNU/Linux" .SH ̾Á° -shadowconfig \- shadow ¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¤ò¥ª¥óµÚ¤Ó¥ª¥Õ¤ËÀÚÂØ¤¨¤ë +shadowconfig \- shadow ¥Ñ¥¹¥ï¡¼¥É¤òÍ­¸ú¡¦Ìµ¸ú¤Ë¤¹¤ë .SH ½ñ¼° .B "shadowconfig" .IR on " | " off .SH ÀâÌÀ -.PP .B shadowconfig on ¤Ï shadow ¥Ñ¥¹¥ï¡¼¥É¤òÍ­¸ú¤Ë¤¹¤ë¡£ .B shadowconfig off ¤Ï shadow ¥Ñ¥¹¥ï¡¼¥É¤ò̵¸ú¤Ë¤¹¤ë¡£ +²¿¤«´Ö°ã¤¤¤¬¤¢¤ë¤È¡¢ .B shadowconfig -¤Ï²¿¤é¤«¤Î´Ö°ã¤¤¤¬¤¢¤ë¤È¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¡¢ -¥¼¥í¤Ç¤Ï¤Ê¤¤ÊÖ¤êÃͤòÊÖ¤¹¡£ -¤â¤·¤½¤Î¤è¤¦¤Ê¤³¤È¤¬µ¯¤³¤Ã¤¿¾ì¹ç¡¢¥¨¥é¡¼¤ò½¤Àµ¤·¡¢ºÆÅټ¹Ԥ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -shadow ¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄ꤬¤¹¤Ç¤Ë¥ª¥ó¤Î¾ì¹ç¤Ë¥ª¥ó¤ËÀßÄꤷ¤¿¤ê¡¢ -¤¹¤Ç¤Ë¥ª¥Õ¤Î¾ì¹ç¤Ë¥ª¥Õ¤ËÀßÄꤷ¤Æ¤â¡¢²¿¤Î±Æ¶Á¤â¤Ê¤¤¡£ +¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¡¢¥¼¥í°Ê³°¤ÎÊÖ¤êÃͤòÊÖ¤¹¡£ +¤½¤Î¤è¤¦¤Ê¤³¤È¤¬µ¯¤³¤Ã¤¿¾ì¹ç¤Ï¡¢ +¥¨¥é¡¼¤ò½¤Àµ¤·¤ÆºÆÅټ¹Ԥ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -.I /usr/doc/passwd/README.debian.gz -¤Ë¤Ï shadow ¥Ñ¥¹¥ï¡¼¥É¤È¤½¤ì¤Ë´Ø¤¹¤ëÆÃħ¤Î´Êñ¤Ê¾Ò²ð¤¬½ñ¤«¤ì¤Æ¤¤¤ë¡£ +shadow ¥Ñ¥¹¥ï¡¼¥É¤¬¤¹¤Ç¤ËÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤­¤ËºÆÅÙÍ­¸ú¤Ë¤·¤¿¤ê¡¢ +̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤­¤ËºÆÅÙ̵¸ú¤Ë¤·¤Æ¤â¡¢²¿¤Î±Æ¶Á¤â¤Ê¤¤¡£ + +\fI/usr/share/doc/passwd/README.debian.gz\fR +¤Ë¤Ï shadow ¥Ñ¥¹¥ï¡¼¥É¤ä´ØÏ¢µ¡Ç½¤Ë´Ø¤¹¤ë +´Êñ¤ÊÀâÌÀ¤¬½ñ¤«¤ì¤Æ¤¤¤ë¡£ diff --git a/man/ja/su.1 b/man/ja/su.1 index 0ecd1b3d..33e14eb0 100644 --- a/man/ja/su.1 +++ b/man/ja/su.1 @@ -1,3 +1,4 @@ +.\"$Id: su.1,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,66 +26,63 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: su.1,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka -.\" Updated Wed Apr 26 16:46:14 JST 2000 -.\" by Kentaro Shirakata -.\" Updated Fri Jan 12 03:35:18 JST 2001 -.\" by Kentaro Shirakata +.\" Updated Wed Apr 26 JST 2000 by Kentaro Shirakata +.\" Updated Fri Jan 12 JST 2001 by Kentaro Shirakata +.\" Updated Mon Mar 4 JST 2002 by Kentaro Shirakata +.\" Modified Tue 16 Sep 2002 by NAKANO Takeo .\" .TH SU 1 .SH ̾Á° -su \- ¥æ¡¼¥¶ID¤òÊѹ¹¤¹¤ë¡¢Ëô¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ë¤Ê¤ë +su \- ¥æ¡¼¥¶ID¤òÊѹ¹¤¹¤ë¡£¤Þ¤¿¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ë¤Ê¤ë .SH ½ñ¼° -.BR su " [" - ] -.RI [ username " [" args ]] +\fBsu\fR [\fB-\fR] [\fIusername\fR [\fIargs\fR]] .SH ÀâÌÀ -.B su -¤Ï¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥óÃæ¤ËÊ̤Υ桼¥¶¤ËÀ®¤ê¤¹¤Þ¤¹¤Î¤ËÍѤ¤¤ë¡£ +\fBsu\fR ¤Ï¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥óÃæ¤ËÊ̤Υ桼¥¶¤Ë¤Ê¤ë¤¿¤á¤ËÍѤ¤¤ë¡£ ¥æ¡¼¥¶Ì¾¤ò»ØÄꤻ¤º¤Ëµ¯Æ°¤·¤¿¾ì¹ç¡¢ -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤ÎID¤ËÊѹ¹¤¹¤ë¡£ -¥ª¥×¥·¥ç¥ó°ú¿ô\fB\-\fR¤òÍѤ¤¤ë¤È¡¢ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Î ID ¤ËÊѹ¹¤¹¤ë¡£ +¥ª¥×¥·¥ç¥ó°ú¿ô \fB\-\fR ¤òÍѤ¤¤ë¤È¡¢ ľÀÜ¥í¥°¥¤¥ó¤·¤¿¾ì¹ç¤ÈƱ¤¸´Ä¶­¤Ë½é´ü²½¤µ¤ì¤ë¡£ .PP ¥æ¡¼¥¶Ì¾¤Î¸å¤í¤ËÄɲäΰú¿ô¤òÍ¿¤¨¤ë¤³¤È¤â¤Ç¤­¡¢ -¤½¤Î¾ì¹ç¤Î°ú¿ô¤Ï¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤ËÅϤµ¤ì¤ë¡£ -ÆÃ¤Ë¡¢¤½¤Î°ú¿ô¤Î°ì¤Ä¤È¤·¤Æ\fB-c\fR¤òÅϤ·¤¿¾ì¹ç¡¢ +¤½¤Î¾ì¹ç°ú¿ô¤Ï¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤ËÅϤµ¤ì¤ë¡£ +ÆÃ¤Ë¡¢¤½¤Î°ú¿ô¤Î°ì¤Ä¤È¤·¤Æ \fB-c\fR ¤òÅϤ·¤¿¾ì¹ç¡¢ ¤½¤ì¤Ë³¤¯°ú¿ô¤ÏÂçÉôʬ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥×¥ê¥¿¤Ë¥³¥Þ¥ó¥É¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£ -¤½¤Î¥³¥Þ¥ó¥É¤Ï\fI/etc/passwd\fR¤ÇÂоݤΥ桼¥¶¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë -¥·¥§¥ë¤Ç¼Â¹Ô¤µ¤ì¤ë¡£ +¥³¥Þ¥ó¥É¤Ï¤½¤Î¥æ¡¼¥¶¤Ë (\fI/etc/passwd\fR ¤Ç) +»ØÄꤵ¤ì¤Æ¤¤¤ë¥·¥§¥ë¤Ç¼Â¹Ô¤µ¤ì¤ë¡£ .PP ɬÍפʾì¹ç¤Ë¤Ï¡¢¥æ¡¼¥¶¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤ¬Â¥¤µ¤ì¤ë¡£ ´Ö°ã¤Ã¤¿¥Ñ¥¹¥ï¡¼¥É¤¬ÆþÎϤµ¤ì¤¿¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤ë¡£ -\fIsu\fR¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥àÇ˲õ¤ò¸¡ÃΤ¹¤ë¤¿¤á¤Ë¡¢ +\fIsu\fR¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à¤ÎÍôÍѤò¸¡ÃΤ¹¤ë¤¿¤á¤Ë¡¢ ¤½¤ì¤¬Àµ¤·¤¤¾ì¹ç¤âÉÔÀµ¤Ê¾ì¹ç¤â¾ï¤Ëµ­Ï¿¤¬»Ä¤µ¤ì¤ë¡£ .PP ¸½ºß¤Î´Ä¶­¤Ï¿·¤·¤¤¥·¥§¥ë¤Ë°ú¤­·Ñ¤¬¤ì¤ë¡£ -\fB$PATH\fR¤ÎÃͤϡ¢Ä̾ï¤Î¥æ¡¼¥¶¤Î¾ì¹ç¤Ï\fB/bin:/usr/bin\fR¤Ë¡¢ -¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Î¾ì¹ç¤Ï\fB/sbin:/bin:/usr/sbin:/usr/bin\fR¤ËºÆÀßÄꤵ¤ì¤ë¡£ -¤³¤ì¤Ï\fI/etc/login.defs\fR¤Î\fBENV_PATH\fR¤È\fBENV_SUPATH\fR¤ÇÊѹ¹¤Ç¤­¤ë¡£ +¤¿¤À¤· +\fB$PATH\fR ¤ÎÃͤϡ¢ +Ä̾ï¤Î¥æ¡¼¥¶¤Ç¤Ï \fB/bin:/usr/bin\fR ¤Ë¡¢ +¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ç¤Ï \fB/sbin:/bin:/usr/sbin:/usr/bin\fR +¤ËºÆÀßÄꤵ¤ì¤ë¡£ +¤³¤ì¤Ï \fI/etc/login.defs\fR ¤Î +\fBENV_PATH\fR ¤È \fBENV_SUPATH\fR ¤ÇÊѹ¹¤Ç¤­¤ë¡£ .PP -¥µ¥Ö¥·¥¹¥Æ¥à¥í¥°¥¤¥ó¤Ï¥í¥°¥¤¥ó¥·¥§¥ë¤ÎºÇ½é¤Îʸ»ú¤È¤·¤Æ -"*" ¤òÃÖ¤¯¤³¤È¤Ç»ØÄꤹ¤ë¡£ -Í¿¤¨¤é¤ì¤¿¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥æ¡¼¥¶¤¬¼ÂºÝ¤Ë¥í¥°¥¤¥ó¤¹¤ë -¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È¤È¤·¤Æ°·¤ï¤ì¤ë¡£ +¥µ¥Ö¥·¥¹¥Æ¥à¥í¥°¥¤¥ó¤Ç¤Ï¡¢ +¥í¥°¥¤¥ó¥·¥§¥ë¤ÎºÇ½é¤Îʸ»ú¤Ë "*" ¤òÃÖ¤¯¡£ +ÅϤµ¤ì¤¿¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ +¥æ¡¼¥¶¤¬¼ÂºÝ¤Ë¥í¥°¥¤¥ó¤¹¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È¤È¤·¤Æ°·¤ï¤ì¤ë¡£ .SH ·Ù¹ð -.PP -¤³¤ÎÈǤÎ\fBsu\fR¤Ë¤Ï¿¤¯¤Î¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤¬¡¢ -¥µ¥¤¥È¤Ë¤è¤Ã¤Æ¤Ï¡¢¤½¤Î°ìÉô¤·¤«ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â¤¢¤ë¡£ +¤³¤ÎÈǤΠ\fBsu\fR ¤Ë¤Ï¿¤¯¤Î¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤¬¡¢ +¥µ¥¤¥È¤Ë¤è¤Ã¤Æ¤Ï¤³¤Î°ìÉô¤·¤«ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â¤¢¤ë¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Î¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥ÉµÚ¤Ó´ü¸Â¾ðÊó -.br -$HOME/.profile \- ¥Ç¥Õ¥©¥ë¥È¥·¥§¥ëÍѤνé´ü²½¥¹¥¯¥ê¥×¥È +\fI/etc/shadow\fR \- °Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤ÈÍ­¸ú´ü¸Â¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR login (1), .BR sh (1), .BR login.defs (5), .BR suauth (5) .SH Ãø¼Ô -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +Julianne Frances Haugh diff --git a/man/ja/suauth.5 b/man/ja/suauth.5 index 09f06580..444805eb 100644 --- a/man/ja/suauth.5 +++ b/man/ja/suauth.5 @@ -1,108 +1,111 @@ -.\" This page is originally in the shadow package. +.\"$Id: suauth.5,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" -.\" Translated Fri 14 Feb 1997 by Kazuyoshi Furutaka +.\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka +.\" all rights reserved. +.\" Translated Fri 14 Feb 1997 +.\" by Kazuyoshi Furutaka +.\" Modified Tue 18 Sep 2002 by NAKNAO Takeo .\" .TH SUAUTH 5 "Feb 14, 1996" .UC 5 .SH ̾Á° -suauth \- su¤ò¾ÜºÙ¤Ë¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¤¿¤á¤Î¥Õ¥¡¥¤¥ë +suauth \- su ¤ò¾ÜºÙ¤ËÀ©¸æ¤¹¤ë¤¿¤á¤Î¥Õ¥¡¥¤¥ë .SH ½ñ¼° .B /etc/suauth .SH ÀâÌÀ .I /etc/suauth ¥Õ¥¡¥¤¥ë¤Ï¡¢ -su¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿»þ¤Ëɬ¤º»²¾È¤µ¤ì¤ë¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¡¢ +su ¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤¿¤Ó¤Ë»²¾È¤µ¤ì¤ë¡£ +¤³¤Î¥Õ¥¡¥¤¥ë¤òÍѤ¤¤ë¤È¡¢ +°Ê²¼¤Î¾ðÊó¤Ë´ð¤Å¤¤¤Æ su ¥³¥Þ¥ó¥É¤Îưºî¤òÊѹ¹¤Ç¤­¤ë¡£ .PP .RS .nf -1) su¤¬ÂоݤȤ¹¤ë¥æ¡¼¥¶ +1) su ¤ÇÀ®¤êÂå¤ï¤í¤¦¤È¤·¤Æ¤¤¤ë¥æ¡¼¥¶ .fi -2)su¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶(¤â¤·¤¯¤Ï¤½¤Î¥æ¡¼¥¶¤¬Â°¤¹¤ë¥°¥ë¡¼¥×) +2) su ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶ +(¤â¤·¤¯¤Ï¤½¤Î¥æ¡¼¥¶¤¬Â°¤¹¤ë¥°¥ë¡¼¥×¤Î¤¤¤º¤ì¤«) .RE -¤Ë´ð¤Å¤¤¤Æsu¥³¥Þ¥ó¥É¤Î¿¶Éñ¤¬Êѹ¹¤µ¤ì¤ë¡£ .PP -¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤ÎÍͤʽñ¼°¤ò¤·¤Æ¤ª¤ê¡¢ -#¤Ç»Ï¤Þ¤ë¹Ô¤Ï¥³¥á¥ó¥È¤È¤·¤Æ°·¤ï¤ì¡¢Ìµ»ë¤µ¤ì¤ë; +¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¼¡¤ÎÍͤʽñ¼°¤ò¤·¤Æ¤¤¤ë¡£ +# ¤Ç»Ï¤Þ¤ë¹Ô¤Ï¥³¥á¥ó¥È¤È¤·¤Æ°·¤ï¤ì¡¢Ìµ»ë¤µ¤ì¤ë¡£ .PP .RS to-id:from-id:ACTION .RE .PP -¤³¤³¤Ç¡¢to-id¤Ï +¤³¤³¤Ç to-id ¤Ï¡¢ .B ALL -¤È¤¤¤¦¸ì¡¢¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥æ¡¼¥¶Ì¾¤Î¥ê¥¹¥È -¤â¤·¤¯¤Ï +¤È¤¤¤¦Ã±¸ì¡¢ +¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥æ¡¼¥¶Ì¾¤Î¥ê¥¹¥È¡¢ .B ALL EXCEPT -¤È¤¤¤¦¸ì¤È¤½¤ì¤Ë³¤¯","¤Ç¶èÀÚ¤é¤ì¤¿¥æ¡¼¥¶Ì¾¤Î¥ê¥¹¥È +¤È¤¤¤¦Ã±¸ì°Ê¹ß¤ËÃÖ¤«¤ì¤¿ "," ¶èÀÚ¤ê¤Î¥æ¡¼¥¶Ì¾¥ê¥¹¥È¡¢ ¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë¡£ .PP -from-id¤Ïto-id¤ÈƱ¤¸½ñ¼°¤Ç¤¢¤ê¡¢¹¹¤Ë +from-id ¤Ï to-id ¤ÈƱ¤¸½ñ¼°¤Ç¤¢¤ê¡¢¹¹¤Ë .B GROUP -¤È¤¤¤¦¸ì¤â»ÈÍѤǤ­¤ë¡£ +¤È¤¤¤¦Ã±¸ì¤â»ÈÍѤǤ­¤ë¡£ .B ALL EXCEPT GROUP -¤È¤¤¤¦»È¤¤Êý¤âÁ´¤¯Àµ¤·¤¤¡£ +¤È¤¤¤¦»È¤¤Êý¤âƱÍͤËÍøÍѤǤ­¤ë¡£ .B GROUP -¤Î¸å¤Ë¤Ï°ì¤Ä°Ê¾å¤Î¥°¥ë¡¼¥×̾¤ò","¤Ç¶èÀڤäƵ­¤¹¡£ -´ØÏ¢¤¹¤ë¥°¥ë¡¼¥×¤Î¼ç¥°¥ë¡¼¥×id¤òµ­¤¹¤À¤±¤Ç¤Ï½½Ê¬¤Ç¤Ï¤Ê¤¯¡¢ -.B /etc/group (5) -Ãæ¤Î¥¨¥ó¥È¥ê¤òµ­¤¹É¬Íפ¬¤¢¤ë¡£ +¤Î¸å¤Ë¤Ï°ì¤Ä°Ê¾å¤Î¥°¥ë¡¼¥×̾¤ò "," ¤Ç¶èÀڤäƵ­¤¹¡£ +¤½¤Î¥°¥ë¡¼¥×¤ò¼ç¥°¥ë¡¼¥× id ¤È¤·¤Æ»ý¤Ä¤À¤±¤Ç¤Ï¤À¤á¤Ç¡¢ +\fI/etc/group\fR ¤Î¥¨¥ó¥È¥ê¤Ë¥æ¡¼¥¶Ì¾¤¬µ­¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .PP -ACTION¤Ë¤Ï¡¢¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤Î¤¤¤º¤ì¤«°ì¤Ä -¤ò»ØÄê¤Ç¤­¤ë¡£ -.TP 20 +ACTION ¤Ë¤Ï¡¢°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤Î¤¤¤º¤ì¤«°ì¤Ä¤ò»ØÄê¤Ç¤­¤ë¡£ +.TP 10 .B DENY -¥Ñ¥¹¥ï¡¼¥É¤òʹ¤¯Á°¤Ësu¤òÄä»ß¤¹¤ë¡£ -.TP 20 +¥Ñ¥¹¥ï¡¼¥É¤òʹ¤¯Á°¤Ë su ưºî¤òÃæ»ß¤¹¤ë¡£ +.TP .B NOPASS -¼«Æ°Åª¤Ësu¤¹¤ë¤³¤È¤¬½ÐÍè¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¿Ò¤Í¤ÆÍè¤Ê¤¤¡£ -.TP 20 +¼«Æ°Åª¤Ë su ¤ÏÀ®¸ù¤·¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¿Ò¤Í¤Ê¤¤¡£ +.TP .B OWNPASS -su½ÐÍè¤ë¤¿¤á¤Ë¤Ï¡¢¥æ¡¼¥¶¤¬¼«Ê¬¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Ê¤¯¤Æ¤Ï -¤Ê¤é¤Ê¤¤¡£¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦¤ËÍ׵ᤵ¤ì¤ë¡£ +su ¤¬À®¸ù¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ +¥æ¡¼¥¶¤¬¼«Ê¬¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦¤ËÍ׵ᤵ¤ì¤ë¡£ .PP -¥³¥í¥ó¤Ë¤è¤Ã¤Æ¶èÀÚ¤é¤ì¤¿ÊÌ¡¹¤ÎÍ󤬻°¤Ä¤¢¤ë¤³¤È¤ËÃí°Õ¡£ -¥³¥í¥ó¤ÎÎ٤˶õÇò¤¬¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¥Õ¥¡¥¤¥ë¤Ï°ì¹ÔËè¤Ë½çÈ֤˶ãÌ£¤µ¤ì¤ë¤³¤ÈµÚ¤Ó¡¢ºÇ½é¤ËŬ¹ç¤·¤¿µ¬Â§¤òÍѤ¤¡¢ -¥Õ¥¡¥¤¥ë¤Î»Ä¤ê¤Ï¶ãÌ£¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤âÃí°Õ¤»¤è¡£ -¤·¤¿¤¬¤Ã¤Æ¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ÏɬÍפȤ¹¤ë¤À¤±ÈùÄ´À°¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤ë¡£ +¥³¥í¥ó¤Ë¤è¤Ã¤Æ¶èÀÚ¤é¤ì¤¿ÊÌ¡¹¤Î¥Õ¥£¡¼¥ë¥É¤¬»°¤Ä¤¢¤ëÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£ +¥³¥í¥ó¤ÎÁ°¸å¤Ë¶õÇò¤¬¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Õ¥¡¥¤¥ë¤Ï°ì¹ÔËè¤Ë½çÈ֤˶ãÌ£¤µ¤ì¡¢ +ºÇ½é¤Ë¥Þ¥Ã¥Á¤·¤¿µ¬Â§¤¬ÍѤ¤¤é¤ì¡¢ +¥Õ¥¡¥¤¥ë¤Î»Ä¤ê¤Ï¤½¤ì°Ê¾åÁܺº¤µ¤ì¤Ê¤¤¡£ +¤³¤ì¤Ë¤è¤Ã¤Æ¡¢ +¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï˾¤à¸Â¤ê¤ÎÈùÄ´À°¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤È¤Ê¤ë¡£ .SH Îã .PP .nf # /etc/suauth¥Õ¥¡¥¤¥ë¤ÎÎã # -# ¿ô̾¤ÎÆÃ¸¢¥æ¡¼¥¶¤Ï¼«Ê¬¤Î¥Ñ¥¹¥ï¡¼¥É¤ò -# ÍѤ¤¤Æroot¤Ësu½ÐÍè¤ë¡£ +# Æó¿Í¤ÎÆÃ¸¢¥æ¡¼¥¶¤¬¡¢¼«Ê¬¤Î¥Ñ¥¹¥ï¡¼¥É¤ò +# ÍѤ¤¤Æ root ¤Ë su ¤Ç¤­¤ë¡£ # root:chris,birddog:OWNPASS # -# ¾¤Î¥æ¡¼¥¶¤Ïwheel¥°¥ë¡¼¥×¤Ë°¤·¤Æ¤¤¤Ê¤¤¸Â¤ê -# root¤Ësu¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¡£ -# BSD¤ÈƱ¤¸¿¶Éñ¡£ +# ¾¤Î¥æ¡¼¥¶¤Ï wheel ¥°¥ë¡¼¥×¤Ë°¤·¤Æ¤¤¤Ê¤¤¸Â¤ê +# root ¤Ë su ¤Ç¤­¤Ê¤¤¡£¤³¤ì¤Ï BSD ¤ÈƱ¤¸Æ°ºî¤Ç¤¢¤ë¡£ # root:ALL EXCEPT GROUP wheel:DENY # -# ¤ª¤½¤é¤¯terry¤Èbirddog¤ÏƱ¤¸¿Í´Ö¤¬ +# ¤ª¤½¤é¤¯ terry ¤È birddog ¤ÏƱ¤¸¿Í´Ö¤¬ # ½êÍ­¤¹¤ë¥¢¥«¥¦¥ó¥È¤Ç¤¢¤ë¡£ -# ¥Ñ¥¹¥ï¡¼¥É̵¤·¤Ç¸ß¤¤¤Ë -# ¾Êý¤Ësu½ÐÍè¤ë¡£ +# ¥Ñ¥¹¥ï¡¼¥É̵¤·¤Ç¸ß¤¤¤Ë¾Êý¤Ë su ¤Ç¤­¤ë¡£ # terry:birddog:NOPASS birddog:terry:NOPASS # .fi .SH ¥Õ¥¡¥¤¥ë -/etc/suauth +\fI/etc/suauth\fR .SH ¥Ð¥° ¿¤¯¤Î¥Ð¥°¤¬Àø¤ó¤Ç¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¡£ -¤È¤ê¤ï¤±¡¢¥Õ¥¡¥¤¥ë¥Ñ¡¼¥µ¤Ï½ñ¼°¥¨¥é¡¼¤Ë´²Âç¤Ç¤Ï¤Ê¤¯¡¢ -(¹Ô¤Î»Ï¤áµÚ¤Ó½ª¤ï¤ê°Ê³°¤Ë)¸«¤«¤±¤Î¶õÇò¤Ï¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¤·¡¢ -ÆÃÄê¤Î¥È¡¼¥¯¥ó¤Ë¤è¤êÁ´¤¯Ê̤ζèÀÚ¤êÊý¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦»ö¤â¤¢¤ë¡£ +¤È¤ê¤ï¤±¡¢¥Õ¥¡¥¤¥ë¥Ñ¡¼¥¶¤Ï½ñ¼°¥¨¥é¡¼¤Ë´²Âç¤Ç¤Ï¤Ê¤¯¡¢ +(¹Ô¤Î»Ï¤áµÚ¤Ó½ª¤ï¤ê°Ê³°¤Ë) ̵Â̤ʶõÇò¤¬¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¤·¡¢ +ÆÃÄê¤Î¥È¡¼¥¯¥ó¤¬ÊÌ¡¹¤Î¤â¤Î¤ò¶èÀÚ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ .SH ÊÖ¤êÃÍ ¥Õ¥¡¥¤¥ë¤ò¥Ñ¡¼¥¹¤¹¤ëºÝ¤Î¥¨¥é¡¼¤Ï -.B syslogd (8) -¤òÍѤ¤¤ÆAUTHµ¡Ç½¤Î¥ì¥Ù¥ëERR -¤È¤·¤ÆÄÌÃΤµ¤ì¤ë¡£ +.BR syslogd (8) +¤òÄ̤·¤Æ¡¢AUTH ¥Õ¥¡¥·¥ê¥Æ¥£¤Î ERR ¥ì¥Ù¥ë¤ÇÄÌÃΤµ¤ì¤ë¡£ .SH ´ØÏ¢¹àÌÜ .BR su (1) .SH Ãø¼Ô diff --git a/man/ja/sulogin.8 b/man/ja/sulogin.8 index 8865cda8..a845402a 100644 --- a/man/ja/sulogin.8 +++ b/man/ja/sulogin.8 @@ -1,3 +1,4 @@ +.\"$Id: sulogin.8,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1989 - 1992, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,70 +26,67 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: sulogin.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" .TH SULOGIN 8 .SH ̾Á° -sulogin \- ¥·¥ó¥°¥ë¥æ¡¼¥¶login +sulogin \- ¥·¥ó¥°¥ë¥æ¡¼¥¶ login .SH ½ñ¼° \fBsulogin\fR [\fItty-device\fR] .SH ÀâÌÀ .B sulogin -¤Ï¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É»þ¡¢¥æ¡¼¥¶¤¬¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹½ÐÍè¤ë¤è¤¦¤Ë -¤Ê¤ëÁ°¤Ë\fI/etc/init\fR¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤ë¡£ -¤³¤Îµ¡Ç½¤Ï¡¢\fBinit\fR¤¬Å¬ÀÚ¤ËÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¡¢ -\fB/etc/inittab\fR¤Ë¥·¥ó¥°¥ë¥æ¡¼¥¶ÍÑlogin¤Î¥¨¥ó¥È¥ê¤¬¤¢¤ë -¥·¥¹¥Æ¥à¤Ç¤Î¤ßƯ¤«¤»¤ë»ö¤¬½ÐÍè¤ë¡£ +¤Ï¡¢¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Î»þ¡¢ +¥æ¡¼¥¶¤¬¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹²Äǽ¤È¤Ê¤ëÁ°¤Ë¡¢ +\fI/etc/init\fR ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤ë¡£ +¤³¤Îµ¡Ç½¤Ï¡¢\fBinit\fR ¤¬Å¬ÀÚ¤ËÊѹ¹¤µ¤ì¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤«¡¢ +¤¢¤ë¤¤¤Ï \fI/etc/inittab\fR ¤Ë¥·¥ó¥°¥ë¥æ¡¼¥¶ login +¤Î¥¨¥ó¥È¥ê¤¬¤¢¤ë¥·¥¹¥Æ¥à¤Ç¤Î¤ßÍøÍѤǤ­¤ë¡£ .PP -¼¡¤ÎÍÍ¤ËÆþÎϤòÂ¥¤µ¤ì¤ë +¼¡¤Î¤è¤¦¤Ê¥×¥í¥ó¥×¥È¤¬½Ð¤ë¡£ .IP "" .5i Type control-d to proceed with normal startup, .br (or give root password for system maintenance): .PP -¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Ð¥¤¥¹Ì¾°ú¿ô¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ -ɸ½à¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÍѤ¤¤ÆÆþ½ÐÎϤò¹Ô¤Ê¤¦¡£ +¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Ð¥¤¥¹Ì¾°ú¿ô¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤ò½ü¤­¡¢ +ɸ½à¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÍѤ¤¤ÆÆþ½ÐÎϤò¹Ô¤Ê¤¦¡£ .PP -¥æ¡¼¥¶¤¬Àµ¤·¤¤root¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤¿¾ì¹ç¤Ï¡¢ +¥æ¡¼¥¶¤¬Àµ¤·¤¤ root ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤¿¾ì¹ç¤Ï¡¢ ¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤¬³«»Ï¤µ¤ì¤ë¡£ -Âå¤ï¤ê¤Ë\fBEOF\fR¤¬²¡¤µ¤ì¤¿¾ì¹ç¤Ï¡¢ +\fBEOF\fR ¤¬²¡¤µ¤ì¤¿¾ì¹ç¤Ï¡¢ ¥·¥¹¥Æ¥à¤Ï¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É¤ËÆþ¤ë¡£ .PP -¥æ¡¼¥¶¤¬¥·¥ó¥°¥ë¥æ¡¼¥¶¥·¥§¥ë¤òÈ´¤±¤¿¾ì¹ç¡¢¤â¤·¤¯¤Ï\fBEOF\fR¤ò²¡¤·¤¿¾ì¹ç¤Ï +¥æ¡¼¥¶¤¬¥·¥ó¥°¥ë¥æ¡¼¥¶¥·¥§¥ë¤òÈ´¤±¤¿¡¢ +¤¢¤ë¤¤¤Ï (¥·¥§¥ë¤ËÆþ¤ëÁ°¤Ë) \fBEOF\fR ¤ò²¡¤·¤¿¸å¤Ë¤Ï¡¢ ¥·¥¹¥Æ¥à¤Ï¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É¤ËÆþ¤ë¤¿¤á¤ËɬÍפʽé´ü²½½èÍý¤ò³«»Ï¤¹¤ë¡£ .SH ·Ù¹ð -.PP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ -\fBinit\fR¤¬\fB/bin/sh\fR¤Ç¤Ï¤Ê¤¯\fBsulogin\fR¤ò¸Æ¤ÖÍÍÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¡¢ -¤Þ¤¿¤Ï\fIinittab\fRÃæ¤Ç¥·¥ó¥°¥ë¥æ¡¼¥¶¥í¥°¥¤¥ó¤ËÂФ¹¤ëÀßÄ꤬¤Ê¤µ¤ì¤Æ¤¤¤ë -¾ì¹ç¤Ë¤Î¤ß»ÈÍѤǤ­¤ë¡£ +¤³¤Î¥³¥Þ¥ó¥É¤¬ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢ +\fBinit\fR ¤¬ \fB/bin/sh\fR ¤Ç¤Ï¤Ê¤¯ +\fBsulogin\fR ¤ò¸Æ¤Ö¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¡¢ +¤Þ¤¿¤Ï +\fIinittab\fR +Ãæ¤Ë¥·¥ó¥°¥ë¥æ¡¼¥¶¥í¥°¥¤¥ó¤ËÂФ¹¤ëÀßÄ꤬¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£ Î㤨¤Ð¡¢ .br .sp 1 co:s:respawn:/etc/sulogin /dev/console .br .sp 1 -.\" should execute the sulogin command in single user mode. -¤È¤¤¤¦¹Ô¤òµ­Æþ¤·¤Æ¤ª¤¯»ö¤Ë¤è¤ê¡¢¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ç¤Ïsulogin -¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¡£ +¤È¤¤¤¦¹Ô¤ò½ñ¤¤¤Æ¤ª¤±¤Ð¡¢ +¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ç¤Ï sulogin ¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¡£ .PP ²Äǽ¤Ê¸Â¤ê´°Á´¤Ê´Ä¶­¤¬Ä󶡤µ¤ì¤ë¡£ -.\" However, various devices may be unmounted or uninitialized and many -.\" of the user commands may be unavailable or nonfunctional as a result. -¤·¤«¤·¤Ê¤¬¤é¡¢ÍÍ¡¹¤Ê¥Ç¥Ð¥¤¥¹¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê½é´ü²½¤µ¤ì¤Æ¤¤¤Ê -¤«¤Ã¤¿¤ê¤¹¤ë¤¿¤á¡¢Â¿¤¯¤Î¥æ¡¼¥¶¥³¥Þ¥ó¥É¤¬»È¤¨¤Ê¤«¤Ã¤¿¤êµ¡Ç½¤·¤Ê¤¤ -¤«¤â¤·¤ì¤Ê¤¤¡£ +¤·¤«¤·¡¢ +ÍÍ¡¹¤Ê¥Ç¥Ð¥¤¥¹¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê¤¹¤ë¤¿¤á¡¢ +¿¤¯¤Î¥æ¡¼¥¶¥³¥Þ¥ó¥É¤¬»È¤¨¤Ê¤«¤Ã¤¿¤êµ¡Ç½¤·¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥ÉµÚ¤Ó¤½¤ÎÍ­¸ú´ü¸Â¾ðÊó -.br -/.profile \- ¥·¥ó¥°¥ë¥æ¡¼¥¶¥·¥§¥ëÍѤνé´ü²½¥¹¥¯¥ê¥×¥È +\fI/etc/shadow\fR \- °Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÈÍ­¸ú´ü¸Â¤Î¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR login (1), .BR sh (1), diff --git a/man/ja/useradd.8 b/man/ja/useradd.8 index 56392422..e3ca90b4 100644 --- a/man/ja/useradd.8 +++ b/man/ja/useradd.8 @@ -1,3 +1,4 @@ +.\"$Id: useradd.8,v 1.5 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,166 +26,142 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" -.\" $Id: useradd.8,v 1.2 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1996 HANATAKA Shinya .\" all rights reserved. .\" Translated Wed Nov 20 17:42:39 JST 1996 .\" by HANATAKA Shinya +.\" Updated Mon Mar 5 JST 2002 by Kentaro Shirakata +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" .\"WORD: initial group ¼ç¥°¥ë¡¼¥× .\"WORD: supplementary group Êä½õ¥°¥ë¡¼¥× .\" .TH USERADD 8 .SH ̾Á° -useradd \- ¿·µ¬¥æ¡¼¥¶¤ÎºîÀ®¡¢¤ª¤è¤Ó¿·µ¬¥æ¡¼¥¶¤Î¥Ç¥Õ¥©¥ë¥È¾ðÊó¤ÎÊѹ¹ +useradd \- ¿·µ¬¥æ¡¼¥¶¤ÎºîÀ®¡¦¿·µ¬¥æ¡¼¥¶¤Î¥Ç¥Õ¥©¥ë¥È¾ðÊó¤Î¹¹¿· .SH ½ñ¼° .TP 8 -.B useradd -.\" .RB [ -A -.\" .RI { method | \fBDEFAULT\fR "},... ]" -.RB [ -c -.IR comment ] -.RB [ -d -.IR home_dir ] +\fBuseradd\fR [\fB-c\fR \fIcomment\fR] [\fB-d\fR \fIhome_dir\fR] .br -.RB [ -e -.IR expire_date ] -.RB [ -f -.IR inactive_time ] +[\fB-e\fR \fIexpire_date\fR] [\fB-f\fR \fIinactive_time\fR] .br -.RB [ -g -.IR initial_group ] -.RB [ -G -.IR group [,...]] +[\fB-g\fR \fIinitial_group\fR] [\fB-G\fR \fIgroup\fR[,...]] .br -.RB [ -m " [" -k -.IR skeleton_dir ]] -.RB [ -p -.IR passwd ] +[\fB-m\fR [\fB-k\fR \fIskeleton_dir\fR]] [\fB-o\fR] [\fB-p\fR \fIpasswd\fR] .br -.RB [ -s -.IR shell ] -.RB [ -u -.IR uid " [" -.BR -o ]] -.I login +[\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR] \fIlogin\fR .TP 8 -.B useradd -\fB-D\fR -[\fB-g\fI default_group\fR] -[\fB-b\fI default_home\fR] +\fBuseradd\fR \fB-D\fR [\fB-g\fI default_group\fR] [\fB-b\fI default_home\fR] .br -[\fB-f\fI default_inactive\fR] -[\fB-e\fI default_expire_date\fR] +[\fB-e\fI default_expire_date\fR] [\fB-f\fI default_inactive\fR] .br [\fB-s\fI default_shell\fR] .SH ÀâÌÀ .SS ¿·µ¬¥æ¡¼¥¶¤ÎºîÀ® -\fB-D\fR ¥ª¥×¥·¥ç¥ó¤Ê¤·¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¡¢ \fBuseradd\fR ¥³¥Þ¥ó¥É¤Ï¡¢ -¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÇÍ¿¤¨¤é¤ì¤¿Ãͤȥǥե©¥ë¥È¤ÎÀßÄêÃͤò¤â¤È¤Ë¡¢ +\fB-D\fR ¥ª¥×¥·¥ç¥ó¤Ê¤·¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¡¢ +\fBuseradd\fR ¥³¥Þ¥ó¥É¤Ï +¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎÃͤȥǥե©¥ë¥È¤ÎÀßÄêÃͤò¤â¤È¤Ë ¿·µ¬¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤òºîÀ®¤¹¤ë¡£ -¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¥ª¥×¥·¥ç¥ó¤Ë±þ¤¸¤Æ¡¢¿·µ¬¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤¬ -ɬÍפʥ·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤ËÄɲ䵤졢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¬ºî¤é¤ì¡¢ +¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ë±þ¤¸¤Æ¡¢ +¿·µ¬¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤¬É¬Íפʥ·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤ËÄɲ䵤졢 +¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢ ÀßÄê¥Õ¥¡¥¤¥ë¤¬¥³¥Ô¡¼¤µ¤ì¤ë¡£ -\fBuseradd\fR ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£ -.\" .IP "\fB-A {\fImethod\fR|\fBDEFAULT\fR},..." -.\" The value of the user's authentication method. -.\" The authentication method is the name of a program which is responsible -.\" for validating the user's identity. -.\" The string \fBDEFAULT\fR may be used to change the user's authentication -.\" method to the standard system password method. -.\" This is a comma-separated list of program names. -.\" It may include \fBDEFAULT\fR exactly once. +\fBuseradd\fR ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤Ï¼¡¤ÎÄ̤ꡣ .IP "\fB-c \fIcomment\fR" ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ËÄɲ乤뿷µ¬¥æ¡¼¥¶¤Î¥³¥á¥ó¥È¥Õ¥£¡¼¥ë¥É¡£ .IP "\fB-d \fIhome_dir\fR" -¿·µ¬¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó»þ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ \fIhome_dir\fR ¤È¤¹¤ë¡£ -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ \fIlogin\fR ¤ò \fIdefault_home\fR ¤ËÉÕ¤±²Ã¤¨¤¿¤â¤Î¤¬ -¥í¥°¥¤¥ó»þ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤È¤Ê¤ë¡£ +¿·µ¬¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥Ç¥£¥ì¥¯¥È¥ê¤ò \fIhome_dir\fR ¤Ë¤¹¤ë¡£ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \fIlogin\fR ¤ò +\fIdefault_home\fR ¤ËÉÕ¤±²Ã¤¨¤¿¤â¤Î¤¬¥í¥°¥¤¥ó¥Ç¥£¥ì¥¯¥È¥ê¤È¤Ê¤ë¡£ .IP "\fB-e \fIexpire_date\fR" -¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤¬Ìµ¸ú¤È¤Ê¤ëÆüÉÕ¡£ -ÆüÉÕ¤Ï \fIYYYY-MM-DD\fR ¤Î·Á¼°¤Ç¤¢¤ë¡£ +¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ëÆüÉÕ¡£ +ÆüÉÕ¤Ï \fIYYYY-MM-DD\fR ¤È¤¤¤¦½ñ¼°¤Ç»ØÄꤹ¤ë¡£ .IP "\fB-f \fIinactive_days\fR" -¥Ñ¥¹¥ï¡¼¥É¤¬¤Î»ÈÍÑ´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇÍ¿¤¨¤¿Æü¿ô·Ð²á¤¹¤ë¤È -¥¢¥«¥¦¥ó¥È¤Ï±Êµ×¤Ë»ÈÍÑÉÔǽ¤È¤Ê¤ë¡£ -ÃͤȤ·¤Æ 0 ¤ò»ØÄꤹ¤ë¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤¬¼º¸ú¤·¤¿Ä¾¸å¤Ë¥¢¥«¥¦¥ó¥È¤Ï»ÈÍÑÉÔǽ¤È¤Ê¤ê¡¢ --1 ¤ò»ØÄꤹ¤ë¤È¡¢¤³¤Îµ¡Ç½¤Ï̵¸ú¤È¤Ê¤ë¡£ -¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï -1 ¤Ç¤¢¤ë¡£ +¥Ñ¥¹¥ï¡¼¥É¤Î»ÈÍÑ´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬±Êµ×¤Ë»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô¡£ +0 ¤Ë¤¹¤ë¤È¡¢ +¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸Â¤¬ÀÚ¤ì¤ë¤ÈƱ»þ¤Ë¤³¤Î¥¢¥«¥¦¥ó¥È¤Ï»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¡£ +-1 ¤Ë¤¹¤ë¤È¤³¤Îµ¡Ç½¤¬Ìµ¸ú¤Ë¤Ê¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï -1¡£ .IP "\fB-g \fIinitial_group\fR" -¥æ¡¼¥¶¤Î°¤¹¤ë¼ç¥°¥ë¡¼¥×¤Î¥°¥ë¡¼¥×̾¤Þ¤¿¤Ï¥°¥ë¡¼¥× ID¡£ -¥°¥ë¡¼¥×̾¤Ï¤¹¤Ç¤Ë¸ºß¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¥°¥ë¡¼¥× ID ¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¥°¥ë¡¼¥×¤ËÂбþ¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¥Ç¥Õ¥©¥ë¥È¤Î¥°¥ë¡¼¥× ID ¤Ï 1 ¤Ç¤¢¤ë¡£ +¥æ¡¼¥¶¤Î°¤¹¤ë¼ç¥°¥ë¡¼¥×¤Î¥°¥ë¡¼¥×̾¤Þ¤¿¤Ï ID¡£ +¥°¥ë¡¼¥×̾¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¥°¥ë¡¼¥× ID ¤Ï´û¸¤Î¥°¥ë¡¼¥×¤ËÂбþ¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¥Ç¥Õ¥©¥ë¥È¤Î¥°¥ë¡¼¥× ID ¤Ï 1 ¤«¡¢ +¤Þ¤¿¤Ï \fI/etc/default/useradd\fR +¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ì¤Ð¤½¤ì¤Ë½¾¤¦¡£ .IP "\fB-G \fIgroup,[...]\fR" -¥æ¡¼¥¶¤Î°¤¹¤ëÊä½õ¥°¥ë¡¼¥×¤Î¥ê¥¹¥È¡£ -¥°¥ë¡¼¥×¤Ï¥³¥ó¥Þ¤Ç¶èÀڤꡢ¶õÇò¤ò´Þ¤á¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ -¤³¤ì¤é¤Î¥°¥ë¡¼¥×¤Ï¡¢ \fB-g\fR ¥ª¥×¥·¥ç¥ó¤ÈƱÍͤˡ¢ -¤¹¤Ç¤Ë¸ºß¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¥æ¡¼¥¶¤Î°¤¹¤ëÊä½õ¥°¥ë¡¼¥× (supplementary groups) ¤Î¥ê¥¹¥È¡£ +¥°¥ë¡¼¥×¤Ï¥³¥ó¥Þ¤Ç¶èÀڤꡢ´Ö¤Ë¶õÇò¤òÆþ¤ì¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +»ØÄê¤Ç¤­¤ë¥°¥ë¡¼¥×¤Ë¤Ï \fB-g\fR ¥ª¥×¥·¥ç¥ó¤ÈƱÍͤÎÀ©¸Â¤¬¤¢¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥æ¡¼¥¶¤Ï¼ç¥°¥ë¡¼¥×¤Î¤ß¤Ë°¤¹¤ë¡£ .IP \fB-m\fR ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë¡£ \fB-k\fR ¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤È \fIskeleton_dir\fR °Ê²¼¤Î¥Õ¥¡¥¤¥ë¤¬¡¢ »ØÄꤷ¤Ê¤¤¤È \fI/etc/skel\fR °Ê²¼¤Î¥Õ¥¡¥¤¥ë¤¬¡¢ ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡£ -\fIskeleton_dir\fR ¤Þ¤¿¤Ï \fI/etc/skel\fR ¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤â¡¢ -¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ëºî¤é¤ì¤ë¡£ -\fB-k\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢ \fB-m\fR ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»È¤ï¤ì¤ë¾ì¹ç¤Î¤ßÍ­¸ú¤Ç¤¢¤ë¡£ +¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢ +\fIskeleton_dir\fR ¤Þ¤¿¤Ï \fI/etc/skel\fR +¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤âºîÀ®¤µ¤ì¤ë¡£ +\fB-k\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢ +\fB-m\fR ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»È¤ï¤ì¤ë¾ì¹ç¤Î¤ßÍ­¸ú¤Ç¤¢¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤é¤º¡¢¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤â¤·¤Ê¤¤¡£ +.IP "\fB-o\fR" +½ÅÊ£¤·¤¿ (¸ÇÍ­¤Ç¤Ê¤¤) UID ¤Ç¥æ¡¼¥¶¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£ .IP "\fB-p \fIpasswd\fR" -\fBcrypt\fR(3) ¤Ë¤è¤Ã¤Æ°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¡£ +\fBcrypt\fR(3) ¤ÎÊÖ¤êÃͤǤ¢¤ë°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¢¥«¥¦¥ó¥È¤Ï»È¤¨¤Ê¤¤¾õÂ֤Ȥʤ롣 .IP "\fB-s \fIshell\fR" -¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë̾¡£ +¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤Î̾Á°¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï¶õÇò¤È¤Ê¤ê¡¢ ¥·¥¹¥Æ¥à¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òÁª¤Ö¡£ .IP "\fB-u \fIuid\fR" -¥æ¡¼¥¶ ID¡£ -\fI-o\fR ¥ª¥×¥·¥ç¥ó¤¬Æ±»þ¤Ë»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢Â¾¤È½Å¤Ê¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¿ôÃͤÏÈóÉé¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ 99 ¤è¤êÂ礭¤¯¡¢ -¤¹¤Ç¤Ë¸ºß¤¹¤ë¤É¤Î¥æ¡¼¥¶¤è¤ê¤âÂ礭¤¤¿ô¤Î¤¦¤Á¡¢ºÇ¾®¤ÎÃͤ¬»È¤ï¤ì¤ë¡£ -0 ¤«¤é 99 ¤Þ¤Ç¤ÎÃͤÏÂçÄñ¡¢¥·¥¹¥Æ¥à¥¢¥«¥¦¥ó¥ÈÍѤȤ·¤ÆÍ½Ìó¤µ¤ì¤Æ¤¤¤ë¡£ +¥æ¡¼¥¶¤Î ID Èֹ档 +¤³¤ÎÃͤϡ¢\fB-o\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç¤ò½ü¤­¡¢Â¾¤È½ÅÊ£¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤Þ¤¿ÈóÉéÃͤǤʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢99 ¤ª¤è¤Ó¾¤Î¤¢¤é¤æ¤ë´û¸¥æ¡¼¥¶¤Î ID ¤è¤ê¤âÂ礭¤¤¡¢ +ºÇ¾®¤Î¿ôÃͤȤʤ롣 +0 ¤«¤é 99 ¤Þ¤Ç¤ÎÃͤϡ¢ +Ä̾亮¥¹¥Æ¥àÍѤΥ¢¥«¥¦¥ó¥È¤ËͽÌó¤µ¤ì¤Æ¤¤¤ë¡£ .SS ¥Ç¥Õ¥©¥ë¥ÈÃͤÎÊѹ¹ \fB-D\fR ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ \fBuseradd\fR ¤Ï¸½ºß¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòɽ¼¨¤¹¤ë¤«¡¢ ¤Þ¤¿¤Ï¥ª¥×¥·¥ç¥ó¤ÇÍ¿¤¨¤é¤ì¤¿Ãͤ˱þ¤¸¤Æ¥Ç¥Õ¥©¥ë¥ÈÃͤòÊѹ¹¤¹¤ë¡£ -»ÈÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£ +»ÈÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤Ï¼¡¤ÎÄ̤ꡣ .IP "\fB-b \fIdefault_home\fR" -¿·µ¬¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¡£ -¿·µ¬¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤òºîÀ®¤¹¤ëºÝ¤Ë \fB-d\fI ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢ +¿·µ¬¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹¤Î¥×¥ì¥Õ¥£¥Ã¥¯¥¹¡£ +¿·µ¬¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ÎºîÀ®»þ¤Ë \fB-d\fI ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢ \fIdefault_home\fR ¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤òÉÕ¤±²Ã¤¨¤¿¤â¤Î¤¬ ¿·µ¬¥Ç¥£¥ì¥¯¥È¥ê̾¤È¤·¤Æ»È¤ï¤ì¤ë¡£ .IP "\fB-e \fIdefault_expire_date\fR" -¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤¬Ìµ¸ú¤È¤Ê¤ëÆüÉÕ¡£ +¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤È¤Ê¤ëÆüÉÕ¡£ .IP "\fB-f \fIdefault_inactive\fR" ¥Ñ¥¹¥ï¡¼¥É¤Î»ÈÍÑ´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤È¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô¡£ .IP "\fB-g \fIdefault_group\fR" ¿·µ¬¥æ¡¼¥¶¤Î°¤¹¤ë¼ç¥°¥ë¡¼¥×¤Î¥°¥ë¡¼¥×̾¤Þ¤¿¤Ï¥°¥ë¡¼¥× ID¡£ ¥°¥ë¡¼¥×̾¤Ï¤¹¤Ç¤Ë¸ºß¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¥°¥ë¡¼¥× ID ¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¥°¥ë¡¼¥×¤ËÂбþ¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¥°¥ë¡¼¥× ID ¤Ï´û¸¤Î¥°¥ë¡¼¥×¤ËÂбþ¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .IP "\fB-s \fIdefault_shell\fR" ¿·µ¬¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¡£ -»ØÄꤵ¤ì¤¿¥×¥í¥°¥é¥à¤¬¡¢º£¸åºî¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ËŬÍѤµ¤ì¤ë¡£ +»ØÄꤵ¤ì¤¿¥×¥í¥°¥é¥à¤Ï¡¢ +º£¸åºî¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¿·µ¬¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ËŬÍѤµ¤ì¤ë¡£ .PP -¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢ \fBuseradd\fR ¤Ï¸½ºß¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòɽ¼¨¤¹¤ë¡£ +¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢ +\fBuseradd\fR ¤Ï¸½ºß¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòɽ¼¨¤¹¤ë¡£ .SH Ãí°Õ -\fI/etc/skel\fR ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¥Õ¥¡¥¤¥ë¤òÃÖ¤¯ºî¶È¤Ï -¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ÎÀÕǤ¤Ç¤¢¤ë¡£ +\fI/etc/skel\fR ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¤Î¤Ï +¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Î¹Ô¤¦¤Ù¤­ºî¶È¤Ç¤¢¤ë¡£ .SH ·Ù¹ð NIS ¤Î¥°¥ë¡¼¥×¤Ë¥æ¡¼¥¶¤ò²Ã¤¨¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ¤³¤ì¤Ïɬ¤º NIS ¥µ¡¼¥Ð¾å¤Ç¹Ô¤¦¤³¤È¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- shadow ¤µ¤ì¤¿¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/shadow\fR \- °ÂÁ´¤Ê¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/group \- ¥°¥ë¡¼¥×¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¾ðÊó .br -/etc/default/useradd \- ¥Ç¥Õ¥©¥ë¥ÈÃͤξðÊó +\fI/etc/default/useradd\fR \- ¥Ç¥Õ¥©¥ë¥È¾ðÊó .br -/etc/skel \- ¥Õ¥¡¥¤¥ë¤Î¿÷·Á¤¬ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê +\fI/etc/skel/\fR \ - ¥Õ¥¡¥¤¥ë¤Î¿÷·Á¤¬ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê .SH ´ØÏ¢¹àÌÜ .BR chfn (1), .BR chsh (1), @@ -197,5 +174,3 @@ NIS .BR usermod (8) .SH Ãø¼Ô Julianne Frances Haugh (jockgrrl@ix.netcom.com) - - diff --git a/man/ja/userdel.8 b/man/ja/userdel.8 index 30587cf6..9716e6a9 100644 --- a/man/ja/userdel.8 +++ b/man/ja/userdel.8 @@ -1,3 +1,4 @@ +.\"$Id: userdel.8,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,44 +26,44 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: userdel.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka -.\" Updated Fri Jan 12 03:27:30 JST 2000 -.\" by Kentaro Shirakata +.\" Updated Fri Jan 12 JST 2000 by Kentaro Shirakata +.\" Updated Fri Mar 1 JST 2002 by Kentaro Shirakata +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" .TH USERDEL 8 .SH ̾Á° -userdel \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥ÈµÚ¤Ó´ØÏ¢¤¹¤ë¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë +userdel \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤È´ØÏ¢¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë .SH ½ñ¼° .B userdel [\fB-r\fR] .I login .SH ÀâÌÀ -\fBuserdel\fR¥³¥Þ¥ó¥É¤Ï¥·¥¹¥Æ¥à¤Î¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤ò»Ü¤·¡¢ -¥æ¡¼¥¶\fIlogin\fR¤Ë°¤¹¤ëÁ´¤Æ¤Î¥¨¥ó¥È¥ê¡¼¤òºï½ü¤¹¤ë¡£ +\fBuserdel\fR ¥³¥Þ¥ó¥É¤Ï¡¢¥·¥¹¥Æ¥à¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¡¢ +¥æ¡¼¥¶ \fIlogin\fR ¤ËÂбþ¤¹¤ë¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤òºï½ü¤¹¤ë¡£ ºï½ü¤µ¤ì¤ë¥æ¡¼¥¶¤Ï¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +\fBuserdel\fR ¥³¥Þ¥ó¥É¤ËŬÍѤǤ­¤ë¥ª¥×¥·¥ç¥ó¤Ï°Ê²¼¤ÎÄ̤ꡣ .IP \fB-r\fR -¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¥Õ¥¡¥¤¥ë¤ò¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¼«ÂΤȤȤâ¤Ë -¾Ãµî¤¹¤ë¡£¤Þ¤¿¥æ¡¼¥¶¤Î¥á¡¼¥ë¥¹¥×¡¼¥ë¤â¾Ãµî¤¹¤ë¡£ -¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Ï¼êºî¶È¤Çõ¤·½Ð¤·¤Æ½üµî¤·¤Ê¤¯¤Æ¤Ï -¤Ê¤é¤Ê¤¤¡£ +¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¡£ +¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¼«ÂΤȥ桼¥¶¤Î¥á¡¼¥ë¥¹¥×¡¼¥ë¤â¾Ãµî¤¹¤ë¡£ +¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÃæ¤Î¤Û¤«¤Î¾ì½ê¤Ë¤¢¤ë¤½¤Î¥æ¡¼¥¶¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ +¼êºî¶È¤Çõ¤·½Ð¤·¤Æºï½ü¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- °ÂÁ´¤Ê¡¢¥æ¡¼¥¶¤Î¥¢¥«¥¦¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/shadow\fR \- °ÂÁ´¤Ê¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/group \- ¥°¥ë¡¼¥×¤Ë´Ø¤¹¤ë¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¾ðÊó .SH ·Ù¹ð -\fBuserdel\fR¤Ï¾Ãµî¤µ¤ì¤ë¥æ¡¼¥¶¤¬¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¾ì¹ç¤Ï -¤½¤Î¥¢¥«¥¦¥ó¥È¤ò¾Ãµî¤¹¤ë»ö¤òµö²Ä¤·¤Ê¤¤¡£ -¤½¤Î»þ¤Ï¾Ãµî¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥¢¥«¥¦¥ó¥È¤Ë°¤¹¤ë¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹Á´¤Æ¤ò -kill¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -NIS¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Ï¤¤¤«¤Ê¤ëNIS½êÍ­¤Î¥¢¥«¥¦¥ó¥È¤â¾Ãµî¤¹¤ë»ö¤Ï½ÐÍè¤Ê¤¤¡£ -¾Ãµî¤¹¤ë¾ì¹ç¤Ë¤ÏNIS¤Î¥µ¡¼¥Ð¤«¤é¹Ô¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +\fBuserdel\fR ¤Ï¡¢ºï½ü¤µ¤ì¤ë¥æ¡¼¥¶¤¬¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ +¤½¤Î¥¢¥«¥¦¥ó¥È¤Îºï½ü¤òµö²Ä¤·¤Ê¤¤¡£ +ºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥¢¥«¥¦¥ó¥È¤Ë°¤¹¤ë¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Ï¡¢ +¤¹¤Ù¤Æ kill ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +NIS ¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Ï¡¢NIS ¤Î°À­ÃͤϺï½ü¤Ç¤­¤Ê¤¤¡£ +ºï½ü¤Ï NIS ¤Î¥µ¡¼¥Ð¤Ç¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .SH ´ØÏ¢¹àÌÜ .BR chfn (1), .BR chsh (1), diff --git a/man/ja/usermod.8 b/man/ja/usermod.8 index 032f1120..baef3e6a 100644 --- a/man/ja/usermod.8 +++ b/man/ja/usermod.8 @@ -1,3 +1,4 @@ +.\"$Id: usermod.8,v 1.6 2003/04/28 02:14:00 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -25,134 +26,111 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: usermod.8,v 1.3 2002/03/09 11:16:16 ankry Exp $ -.\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka .\" Updated Tue Jan 23 17:21:08 JST 2001 .\" by Kentaro Shirakata +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo +.\" +.\"WORD: initial group ¼ç¥°¥ë¡¼¥× +.\"WORD: supplementary group Êä½õ¥°¥ë¡¼¥× .\" .TH USERMOD 8 .SH ̾Á° -usermod \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤òÊѹ¹¤¹¤ë +usermod \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ò½¤Àµ¤¹¤ë .SH ½ñ¼° -.TP 8 -.B usermod -.\" .RB [ -A -.\" .RI { method | \fBDEFAULT\fR "},... ]" -.RB [ -c -.IR comment ] -.RB [ -d -.IR home_dir " [" -.BR -m ]] +\fBusermod\fR [\fB-c\fR \fIcomment\fR] [\fB-d\fR \fIhome_dir\fR [\fB-m\fR]] .br -.RB [ -e -.IR expire_date ] -.RB [ -f -.IR inactive_time ] +[\fB-e\fR \fIexpire_date\fR] [\fB-f\fR \fIinactive_time\fR] .br -.RB [ -g -.IR initial_group ] -.RB [ -G -.IR group [,...]] +[\fB-g\fR \fIinitial_group\fR] [\fB-G\fR \fIgroup\fR [,...]] .br -.RB [ -l -.IR login_name ] -.RB [ -p -.IR passwd ] +[\fB-l\fR \fIlogin_name\fR] [\fB-p\fR \fIpasswd\fR] .br -.RB [ -s -.IR shell ] -.RB [ -u -.IR uid " [" -.BR -o ]] -.RB [ -L | -U ] -.I login +[\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR [\fB-o\fR]] [\fB-L\fR|\fB-U\fR] +\fIlogin\fR .SH ÀâÌÀ -\fBusermod\fR¥³¥Þ¥ó¥É¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Ç¤Î»Ø¼¨¤Ë¤·¤¿¤¬¤Ã¤Æ -¥·¥¹¥Æ¥à¤Î¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤òÊѹ¹¤¹¤ë¡£ -\fBusermod\fR¥³¥Þ¥ó¥É¤Ç»È¤¨¤ë¥ª¥×¥·¥ç¥ó¤Ï -.\" .IP "\fB-A \fImethod\fR|\fBDEFAULT\fR" -.\" ¥æ¡¼¥¶¤Î¿·¤·¤¤Ç§¾ÚÊýË¡¡£ -.\" ¥æ¡¼¥¶¤Îǧ¾ÚÊýË¡¤È¤Ï¡¢¥æ¡¼¥¶¤¬ËܿͤǤ¢¤ë»ö¤ò³Îǧ¤¹¤ë°Ù¤Î¥×¥í¥°¥é¥à̾¤Ç¤¢¤ë¡£ -.\" ʸ»úÎó\fBDEFAULT\fR¤òÍѤ¤¤Æ¥æ¡¼¥¶¤Îǧ¾ÚÊýË¡¤ò¥·¥¹¥Æ¥àɸ½à¤Î¥Ñ¥¹¥ï¡¼¥ÉÊý¼°¤Ë -.\" Êѹ¹¤¹¤ë»ö¤â½ÐÍè¤ë¡£ +\fBusermod\fR ¥³¥Þ¥ó¥É¤Ï¡¢ +¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Ç¤Î»ØÄê¤Ë¤è¤Ã¤Æ¡¢ +¥·¥¹¥Æ¥à¥¢¥«¥¦¥ó¥È¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤¹¤ë¡£ +\fBusermod\fR ¥³¥Þ¥ó¥É¤Ë»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ï¼¡¤ÎÄ̤ꡣ .IP "\fB-c \fIcomment\fR" -¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤¥³¥á¥ó¥ÈÍó¤ÎÆâÍÆ -Ä̾ï¤Ï\fBchfn\fR(1)¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òÍѤ¤¤ÆÊѹ¹¤µ¤ì¤ë¡£ +¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¥³¥á¥ó¥È¥Õ¥£¡¼¥ë¥É¤ËÍ¿¤¨¤ë¿·¤·¤¤ÃÍ¡£ +Ä̾ï¤Ï +.BR chfn (1) +¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤ë¡£ .IP "\fB-d \fIhome_dir\fR" ¿·¤·¤¤¥í¥°¥¤¥ó¥Ç¥£¥ì¥¯¥È¥ê¡£ -\fB-m\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤¿¾ì¹ç¤Ï¸½ºß¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¿È¤¬ -¿·¤·¤¤¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤µ¤ì¤ë¡£¤â¤·Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¿·¤¿¤Ë -ºî¤é¤ì¤ë¡£ +\fB-m\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¡¢ +¸½ºß¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¿È¤¬¿·¤·¤¤¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤µ¤ì¤ë +(¸å¼Ô¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¿·¤¿¤ËºîÀ®¤µ¤ì¤ë)¡£ .IP "\fB-e \fIexpire_date\fR" -¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ëÆüÉÕ¡£ -ÆüÉÕ¤Ï\fIYYYY-MM-DD\fR¤È¤¤¤¦½ñ¼°¤Ç»ØÄꤹ¤ë -(YYYY, MM, DD ¤Ï¤½¤ì¤¾¤ìǯ¡¢·î¡¢Æü¤òɽ¤¹¿ô»ú)¡£ +¤½¤Î¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤¬»ÈÍÑÉÔǽ¤Ë¤Ê¤ëÆüÉÕ¡£ +ÆüÉÕ¤Ï \fIYYYY-MM-DD\fR ¤È¤¤¤¦½ñ¼°¤Ç»ØÄꤹ¤ë¡£ .IP "\fB-f \fIinactive_days\fR" -¥Ñ¥¹¥ï¡¼¥É¤Î»ÈÍÑ´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬±Êµ×¤Ë»ÈÍÑÉÔǽ¤Ë¤Ê¤ë -¤Þ¤Ç¤ÎÆü¿ô¡£ -0¤È¤¹¤ë¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸Â¤¬ÀÚ¤ì¤ë¤ÈƱ»þ¤Ë¤³¤Î¥¢¥«¥¦¥ó¥È¤Ï»ÈÍÑÉÔ²Äǽ -¤Ë¤Ê¤ë¡£-1¤È¤¹¤ë¤È¤³¤Îµ¡Ç½¤¬Æ¯¤«¤Ê¤¯¤Ê¤ë¡£ -¥Ç¥Õ¥©¥ë¥ÈÃͤÏ-1¡£ +¥Ñ¥¹¥ï¡¼¥É¤Î»ÈÍÑ´ü¸Â¤¬ÀÚ¤ì¤Æ¤«¤é¥¢¥«¥¦¥ó¥È¤¬±Êµ×¤Ë»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¤Þ¤Ç¤ÎÆü¿ô¡£ +0 ¤Ë¤¹¤ë¤È¡¢ +¥Ñ¥¹¥ï¡¼¥É¤Î´ü¸Â¤¬ÀÚ¤ì¤ë¤ÈƱ»þ¤Ë¤³¤Î¥¢¥«¥¦¥ó¥È¤Ï»ÈÍÑÉÔǽ¤Ë¤Ê¤ë¡£ +-1 ¤Ë¤¹¤ë¤È¤³¤Îµ¡Ç½¤¬Ìµ¸ú¤Ë¤Ê¤ë¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï -1¡£ .IP "\fB-g \fIinitial_group\fR" -¥í¥°¥¤¥ó»þ¤Î¿·¤·¤¤¥°¥ë¡¼¥×̾¤Þ¤¿¤ÏID¡£ -¤³¤Î¥°¥ë¡¼¥×̾¤Ï´û¤Ë¸ºß¤·¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¤Þ¤¿¡¢¥°¥ë¡¼¥×ÈÖ¹æ¤Ï´û¸¤Î¥°¥ë¡¼¥×¤ò»²¾È¤·¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¥Ç¥Õ¥©¥ë¥È¤Î¥°¥ë¡¼¥×ÈÖ¹æ¤Ï1¤Ç¤¢¤ë¡£ + +¿·¤¿¤Ë¤½¤Î¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó»þ½é´ü¥°¥ë¡¼¥×¤È¤¹¤ë¥°¥ë¡¼¥×̾¤Þ¤¿¤Ï ID¡£ +¥°¥ë¡¼¥×̾¤Ï´û¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¥°¥ë¡¼¥×ÈÖ¹æ¤Ï´û¸¤Î¥°¥ë¡¼¥×¤ò»²¾È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¥Ç¥Õ¥©¥ë¥È¤Î¥°¥ë¡¼¥×ÈÖ¹æ¤Ï 1¡£ .IP "\fB-G \fIgroup,[...]\fR" -¥æ¡¼¥¶¤¬Â°¤¹¡¢Éû¥°¥ë¡¼¥×¤Î¥ê¥¹¥È¡£ -¥°¥ë¡¼¥×¤Ï¥³¥ó¥Þ¤òÍѤ¤¤Æ¶èÀڤꡢ´Ö¤Ë¶õÇòʸ»ú¤òÆþ¤ì¤Æ¤Ï -¤Ê¤é¤Ê¤¤¡£ -»ØÄê¤Ç¤­¤ë¥°¥ë¡¼¥×¤Ë¤Ï\fB-g\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç¤È -ƱÍͤÎÀ©¸Â¤¬¤¢¤ë¡£ +¥æ¡¼¥¶¤¬Â°¤¹¤ëÊä½õ¥°¥ë¡¼¥× (supplementary groups) ¤Î¥ê¥¹¥È¡£ +¥°¥ë¡¼¥×¤Ï¥³¥ó¥Þ¤Ç¶èÀڤꡢ´Ö¤Ë¶õÇòʸ»ú¤òÆþ¤ì¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +»ØÄê¤Ç¤­¤ë¥°¥ë¡¼¥×¤Ë¤Ï \fB-g\fR ¥ª¥×¥·¥ç¥ó¤ÈƱÍͤÎÀ©¸Â¤¬¤¢¤ë¡£ +¸½ºß¤½¤Î¥æ¡¼¥¶¤¬¡¢ ¿·¤·¤¤¥ê¥¹¥È¤Ë¤Ê¤¤¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¤½¤Î¥°¥ë¡¼¥×¤«¤éºï½ü¤µ¤ì¤ë¡£ .IP "\fB-l \fIlogin_name\fR" -¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó̾¤ò\fIlogin\fR¤«¤é\fIlogin_name\fR¤ËÊѹ¹¤¹¤ë¡£ -¾¤Ï²¿¤âÊѹ¹¤·¤Ê¤¤¡£ -ÆÃ¤Ë¡¢¿·¤·¤¤¥í¥°¥¤¥ó̾¤Ë¹ç¤ï¤»¤Æ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê̾¤òÊѹ¹¤·¤Ê¤¯¤Æ¤Ï -¤Ê¤é¤Ê¤¤¤À¤í¤¦¡£ +¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó̾¤ò \fIlogin\fR ¤«¤é \fIlogin_name\fR ¤ËÊѹ¹¤¹¤ë¡£ +¾¤Ï²¿¤âÊѹ¹¤·¤Ê¤¤¤Î¤Ç¡¢ +¤ª¤½¤é¤¯¿·¤·¤¤¥í¥°¥¤¥ó̾¤Ë¹ç¤ï¤»¤Æ +¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤À¤í¤¦¡£ .IP "\fB-p \fIpasswd\fR" -\fBcrypt\fR(3)¤ÎÊÖ¤êÃͤǤ¢¤ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¡£ +\fBcrypt\fR(3) ¤ÎÊÖ¤êÃͤǤ¢¤ë°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¡£ .IP "\fB-s \fIshell\fR" -¿·¤·¤¤¥í¥°¥¤¥ó¥·¥§¥ë¤Î̾Á°¡£ -¤³¤ÎÍó¤ò¶õÇò¤Ë¤·¤¿¾ì¹ç¤Ï¥·¥¹¥Æ¥à¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤ò -ÁªÂò¤¹¤ë¡£ +¥æ¡¼¥¶¤Î¿·¤·¤¤¥í¥°¥¤¥ó¥·¥§¥ë¤Î̾Á°¡£ +¤³¤Î¥Õ¥£¡¼¥ë¥É¤ò¶õÇò¤Ë¤·¤¿¾ì¹ç¤Ï¡¢ +¥·¥¹¥Æ¥à¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òÁªÂò¤¹¤ë¡£ .IP "\fB-u \fIuid\fR" -¥æ¡¼¥¶¤ÎIDÈֹ档 -¤³¤ÎÈÖ¹æ¤Ï¾¤È½ÅÊ£¤·¤Æ¤¤¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£\fI-o\fR¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤¿ -ºÝ¤Ï¤³¤Î¸Â¤ê¤Ç¤Ï¤Ê¤¤¡£ -¤Þ¤¿¡¢ÈóÉéÃͤǤʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -0¤«¤é99Ëø¤ÎÃͤÏÂçÄñ¥·¥¹¥Æ¥àÍѤΥ¢¥«¥¦¥ó¥È¤Î¤¿¤á¤ËͽÌó¤µ¤ì¤Æ¤¤¤ë¡£ -¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¡¢¤½¤Î¥æ¡¼¥¶½êÍ­¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥æ¡¼¥¶ID¤Ï¡¢ +¥æ¡¼¥¶¤Î ID Èֹ档 +¤³¤ÎÃͤϡ¢\fB-o\fR ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¾ì¹ç¤ò½ü¤­¡¢Â¾¤È½ÅÊ£¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¤Þ¤¿ÈóÉéÃͤǤʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +0 ¤«¤é 99 ¤Þ¤Ç¤ÎÃͤϡ¢Ä̾亮¥¹¥Æ¥à¥¢¥«¥¦¥ó¥ÈÍѤËͽÌó¤µ¤ì¤Æ¤¤¤ë¡£ +¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¡¢ +¤½¤Î¥æ¡¼¥¶½êÍ­¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥æ¡¼¥¶ ID ¤Ï¡¢ ¼«Æ°Åª¤Ë¿·¤·¤¤ÃͤËÊѹ¹¤µ¤ì¤ë¡£ -¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ï¼êºî¶È¤ÇÊѹ¹¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ï¼êºî¶È¤ÇÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .IP "\fB-L\fR" ¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¥í¥Ã¥¯¤¹¤ë¡£ -¤³¤ì¤Ï°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÎÀèÆ¬¤Ë '!' ¤òÄɲä·¡¢ -»ö¼Â¾å¥Ñ¥¹¥ï¡¼¥É¤ò̵¸ú¤Ë¤¹¤ë¡£ -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \fI-p\fR ¤Þ¤¿¤Ï \fI-U\fR ¤ÈƱ»þ¤ËÍѤ¤¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ +¤³¤ì¤Ï°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÎÁ°¤Ë '!' ¤òÄɲä·¡¢ +¼Â¼ÁŪ¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò̵¸ú¤Ë¤¹¤ë¡£ +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò \fI-p\fR ¤ä \fI-U\fR ¤ÈƱ»þ¤ËÍѤ¤¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ .IP "\fB-U\fR" ¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¥¢¥ó¥í¥Ã¥¯¤¹¤ë¡£ ¤³¤ì¤Ï°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ÎÀèÆ¬¤Î '!' ¤ò¼è¤ê½ü¤¯¡£ -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \fI-p\fR ¤Þ¤¿¤Ï \fI-L\fR ¤ÈƱ»þ¤ËÍѤ¤¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò \fI-p\fR ¤ä \fI-L\fR ¤ÈƱ»þ¤ËÍѤ¤¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ .SH ·Ù¹ð -\fBusermod\fR¤Ï¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶¤Î̾Á°¤òÊѹ¹¤¹¤ë»ö¤Ï½ÐÍè¤Ê¤¤¡£ -¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥æ¡¼¥¶¤ÎIDÈÖ¹æ¤òÊѹ¹¤¹¤ëºÝ¤Ï¡¢ -»ØÄꤷ¤¿¥æ¡¼¥¶¤Î¥×¥í¥»¥¹¤¬°ì¤Ä¤â¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤»ö¤ò³Îǧ¤·¤Æ¤«¤é -¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -crontab¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤Ï¼êºî¶È¤ÇÊѹ¹¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ -¤Þ¤¿¡¢at¥¸¥ç¥Ö¤Î½êÍ­¼Ô¤â¼êºî¶È¤ÇÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¡£ -NIS¤Ë´Ø¤¹¤ëºî¶È¤ÏNIS¥µ¡¼¥Ð¾å¤Ç¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ +\fBusermod\fR +¤Ï¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶¤Î̾Á°¤òÊѹ¹¤Ç¤­¤Ê¤¤¡£ +¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥æ¡¼¥¶¤Î ID ÈÖ¹æ¤òÊѹ¹¤¹¤ëºÝ¤Ë¤Ï¡¢ +»ØÄꤷ¤¿¥æ¡¼¥¶¤Î¥×¥í¥»¥¹¤¬°ì¤Ä¤â¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò +»öÁ°¤Ë³Îǧ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +crontab ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤Ï¼êºî¶È¤ÇÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +at ¥¸¥ç¥Ö¤Î½êÍ­¼Ô¤Ï¼êºî¶È¤ÇÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +NIS ¤Ë´Ø¤¹¤ëºî¶È¤Ï NIS ¥µ¡¼¥Ð¾å¤Ç¹Ô¤Ê¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ .SH ¥Õ¥¡¥¤¥ë -/etc/passwd \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤Î¾ðÊó +\fI/etc/passwd\fR \- ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/shadow \- °ÂÁ´¤Ê¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó +\fI/etc/shadow\fR \- °ÂÁ´¤Ê¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¾ðÊó .br -/etc/group \- ¥°¥ë¡¼¥×¾ðÊó +\fI/etc/group\fR \ - ¥°¥ë¡¼¥×¾ðÊó .SH ´ØÏ¢¹àÌÜ .BR chfn (1), .BR chsh (1), diff --git a/man/ja/vipw.8 b/man/ja/vipw.8 index e4503374..e4e48b22 100644 --- a/man/ja/vipw.8 +++ b/man/ja/vipw.8 @@ -1,36 +1,37 @@ -.\" $Id: vipw.8,v 1.2 2002/03/09 11:16:16 ankry Exp $ -.\" +.\"$Id: vipw.8,v 1.4 2003/04/28 02:14:00 kloczek Exp $ .\" .\" Japanese Version Copyright (c) 2001 Maki KURODA .\" all right reserved, .\" Translated Tue Oct 30 11:55:56 JST 2001 -.\" by Maki KURODA -.\" +.\" by Maki KURODA +.\" Modified Sun 22 Sep 2002 by NAKANO Takeo .\" .TH VIPW 8 "26 Sep 1997" .SH ̾Á° -vipw, vigr \- password¡¢ group¡¢ shadow-password¡¢shadow-group ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¡£ +vipw, vigr \- password, group ¤È¤½¤ì¤¾¤ì¤Î shadow ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë .SH ½ñ¼° -.BR vipw " [-s]" +\fBvipw\fR [\fB-s\fR] .br -.BR vigr " [-s]" +\fBvigr\fR [\fB-s\fR] .SH ÀâÌÀ .BR vipw " ¤È " vigr -¤Ï -.IR /etc/passwd ¤È /etc/group -¤ò¤½¤ì¤¾¤ìÊÔ½¸¤¹¤ë¡£ +¤Ï¡¢¤½¤ì¤¾¤ì +\fI/etc/passwd\fR " ¤È " \fI/etc/group\fR +¤òÊÔ½¸¤¹¤ë¡£ .B -s -¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î shadow ¥Ð¡¼¥¸¥ç¥ó¤Ç¤¢¤ë -.IR /etc/shadow ¤È /etc/gshadow +¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤ë¤È¡¢¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î shadow ²½ÈǤǤ¢¤ë +\fI/etc/shadow\fR ¤È \fI/etc/gshadow\fR ¤ò¤½¤ì¤¾¤ìÊÔ½¸¤¹¤ë¡£ -¥×¥í¥°¥é¥à¤Ï¥Õ¥¡¥¤¥ë¤Î²þÊѤòËɤ°¤¿¤á¤ÎŬÀڤʥí¥Ã¥¯¤òÀßÄꤹ¤ë¡£ -»È¤ï¤ì¤ë¥¨¥Ç¥£¥¿¤Ï¡¢´Ä¶­ÊÑ¿ô -.BR VISUAL ¡¢ +¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï¥Õ¥¡¥¤¥ë¤¬²õ¤ì¤Ê¤¤¤è¤¦Å¬Àڤʥí¥Ã¥¯¤òÀßÄꤹ¤ë¡£ + +¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï¡¢ÍøÍѤ¹¤ë¥¨¥Ç¥£¥¿¤È¤·¤Æ¤Þ¤º ´Ä¶­ÊÑ¿ô -.BR EDITOR ¡¢ -¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥Ç¥£¥¿ +.BR VISUAL , +´Ä¶­ÊÑ¿ô +.BR EDITOR , +¤ò½ç¤Ë»î¤·¡¢ºÇ¸å¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥Ç¥£¥¿¤Ç¤¢¤ë .BR vi -¤Î½ç¤Ç¤¢¤ë¡£ +¤òÍѤ¤¤è¤¦¤È¤¹¤ë¡£ .SH ´ØÏ¢¹àÌÜ .BR group (5), .BR passwd (5), diff --git a/man/ko/Makefile.am b/man/ko/Makefile.am index acc037c2..d405cb71 100644 --- a/man/ko/Makefile.am +++ b/man/ko/Makefile.am @@ -4,9 +4,7 @@ mandir = @mandir@/ko man_MANS = \ chfn.1 \ chsh.1 \ + groups.1 \ login.1 \ newgrp.1 \ passwd.5 - -EXTRA_DIST = $(man_MANS) \ - groups.1 diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in index f9b2692b..8b3b5a5f 100644 --- a/man/ko/Makefile.in +++ b/man/ko/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,113 +14,155 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/ko +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ chfn.1 \ chsh.1 \ + groups.1 \ login.1 \ newgrp.1 \ passwd.5 - -EXTRA_DIST = $(man_MANS) \ - groups.1 - subdir = man/ko +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -127,10 +170,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/ko/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -140,13 +188,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ko/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -164,6 +205,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -181,6 +226,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -203,6 +252,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -220,6 +273,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -229,6 +286,8 @@ uninstall-man5: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -236,15 +295,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -257,7 +327,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -269,6 +338,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -276,7 +346,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -286,7 +356,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -308,13 +378,21 @@ install-man: install-man1 install-man5 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 uninstall-man5 @@ -326,8 +404,9 @@ uninstall-man: uninstall-man1 uninstall-man5 install-info-am install-man install-man1 install-man5 \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool uninstall uninstall-am \ - uninstall-info-am uninstall-man uninstall-man1 uninstall-man5 + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man5 # 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. diff --git a/man/ko/groups.1 b/man/ko/groups.1 deleted file mode 100644 index 10901a39..00000000 --- a/man/ko/groups.1 +++ /dev/null @@ -1,31 +0,0 @@ -.TH GROUPS 1L "GNU ½© À¯Æ¿¸®Æ¼" "FSF" \" -*- nroff -*- -.SH À̸§ -groups \- »ç¿ëÀÚ°¡ ¼ÓÇÑ ±×·ìµéÀ» Ãâ·ÂÇÑ´Ù -.SH °³¿ä -.B groups -[»ç¿ëÀÚ¸í...] -.br -.B groups -{\-\-help,\-\-version} -.SH ¼³¸í -ÀÌ ¸ÇÆäÀÌÁö´Â GNU ¹öÀüÀÇ -.BR groups -¸¦ ´Ù·é´Ù. -.B groups -´Â ÁÖ¾îÁø °¢ -.IR username -¶Ç´Â ÇÁ·Î¼¼½º -°¡ ¼ÓÇÑ Ãß°¡ ±×·ìÀÇ À̸§À» Ãâ·ÂÇØÁØ´Ù. -¸¸¾à »ç¿ëÀÚ¸íÀÌ ÁÖ¾îÁ³´Ù¸é °¢ »ç¿ëÀÚ¸íÀÌ ¼Ò¼ÓµÈ ±×·ì ¸ñ·Ï ¾Õ¿¡ Ç¥½ÃµÈ´Ù. -.PP -±×·ì ¸ñ·ÏÀº `id \-Gn'ÀÇ °á°ú¿Í °°´Ù. -.SS ¿É¼Ç -GNU -.B groups -°¡ ´Ü ÇÑ °³ÀÇ Àμö¸¦ °¡Áö°í ½ÇÇàµÇ¸é ´ÙÀ½ ¿É¼ÇµéÀ» ÀνÄÇÑ´Ù: -.TP -.I "\-\-help" -Ç¥ÁØÃâ·ÂÀ¸·Î »ç¿ë¹ýÀ» Ãâ·ÂÇϰí Á¤»óÀûÀ¸·Î Á¾·áÇÑ´Ù. -.TP -.I "\-\-version" -Ç¥ÁØÃâ·ÂÀ¸·Î ¹öÀüÁ¤º¸¸¦ Ãâ·ÂÇϰí Á¤»óÀûÀ¸·Î Á¾·áÇÑ´Ù. diff --git a/man/ko/login.1 b/man/ko/login.1 deleted file mode 100644 index e228581b..00000000 --- a/man/ko/login.1 +++ /dev/null @@ -1,301 +0,0 @@ -.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) -.\" May be distributed under the GNU General Public License -.TH LOGIN 1 "1 February 1993" "Linux 0.99" "Linux Programmer's Manual" -.SH À̸§ -login \- ½Ã½ºÅÛ Á¢¼Ó -.SH »ç¿ë¹ý -.BR "login [ " À̸§ " ]" -.br -.B "login \-p" -.br -.BR "login \-h " È£½ºÆ®À̸§ -.br -.BR "login \-f " À̸§ -.SH ¼³¸í -.B login -Ç®±×¸²Àº ÇÑ ½Ã½ºÅÛ¿¡ Á¢¼Ó󸮸¦ ÇÏ´Â Ç®±×¸²ÀÌ´Ù. -¶ÇÇÑ ÇöÀç Á¢¼Ó Áß¿¡¼­µµ ÇÑ »ç¿ëÀÚ¿¡¼­ ´Ù¸¥ »ç¿ëÀÚ·Î ¹Ù²Ù°íÀÚ ÇÒ ¶§µµ -»ç¿ëµÉ ¼ö ÀÖ´Ù. (ÇÑÆí, ´ëºÎºÐÀÇ ¿äÁò ¸¸µé¾îÁø ½©Àº ±× ½© ³»ºÎÀûÀ¸·Î -ÀÌ·¯ÇÑ ±â´ÉÀ» Á¦°øÇϰí Àֱ⵵ ÇÏ´Ù.) - -¾Æ¹« ¿É¼Ç ¾øÀÌ »ç¿ëÇϸé, -»ç¿ëÀÚ °èÁ¤À» ¹°¾îº¸´Â ÇÁ·ÒÇÁÆ®°¡ ³ªÅ¸³­´Ù. - -À̶§ ÀԷµǴ °èÁ¤ÀÌ root°¡ ¾Æ´Ï°í, -.I /etc/nologin -ÆÄÀÏÀÌ ÀÖÀ¸¸é ±× ÆÄÀϾȿ¡ ³»¿ëÀÌ º¸¿©Áö°í -ÀÌ Ç®±×¸²Àº Á¾·áµÈ´Ù. À̰ÍÀº ½Ã½ºÅÛ °Ë»ç³ª ±âŸ »çÁ¤»ó ÀÏ¹Ý »ç¿ëÀÚ -Á¢¼ÓÀ» ÇÏÁö ¸øÇϵµ·Ï ÇÒ¶§ »ç¿ëµÈ´Ù. - -.IR /etc/usertty -ÆÄÀÏ¿¡¼­ ƯÁ¤ »ç¿ëÀÚÀÇ ·Î±×ÀÎ Çã¿ë°ú °ÅºÎ°¡ ÁöÁ¤µÇ¾î ÀÖÀ» ¶§, -¸¸ÀÏ ±× »ç¿ëÀÚ°¡ Á¢¼ÓÇϰíÀÚ ÇÒ ¶§´Â ±×¿¡ µû¸¥ Á¢¼Ó󸮸¦ ÇÑ´Ù. -À̶§, Á¢¼Ó°ÅºÎµÇ¸é ·Î±×ÀÎÀº ³¡³ª°í -.B syslog -¸í·ÉÀÌ ÀÛµ¿µÇ¾î ±× »óȲÀ» ±â·ÏÇÑ´Ù. -ÀÚ¼¼ÇÑ À̾߱â´Â ¾Æ·¡ "Ưº° Á¢±Ù °ÅºÎ" ºÎºÐ¿¡¼­ ´Ù·é´Ù. - - -.IR /etc/securetty -ÆÄÀÏ¿¡¼­´Â root·Î Á¢¼ÓÇÒ ¼ö ÀÖ´Â Å͹̳¯µéÀÌ ³ª¿­µÇ¾î ÀÖ´Ù. -À̶§ Á¢¼Ó ½ÇÆÐ°¡ ÀϾ¸é -.B syslog -¸í·ÉÀÌ ÀÛµ¿µÇ¾î ±× »óȲÀ» ±â·ÏÇÑ´Ù. - -»ç¿ëÀÚ °èÁ¤ÀÇ È®ÀÎ ÀýÂ÷°¡ ³¡³ª¸é, ºñ¹Ð¹øÈ£¸¦ ¹°¾îº¸´Â ÇÁ·ÒÇÁÆ®°¡ -³ªÅ¸³­´Ù. (±× »ç¿ëÀÚÀÇ °èÁ¤¿¡¼­ ºñ¹Ð¹øÈ£°¡ ÇÊ¿äÇÏ¸é ³ªÅ¸³­´Ù.) -À̶§, 10¹øµ¿¾È ºñ¹Ð¹øÈ£¸¦ Ʋ¸®°Ô ÀÔ·ÂÇϸé loginÀº Á¾·áµÈ´Ù. -±×·±µ¥, óÀ½ ¼¼¹øÀº ¹Ù·Î ´Ù½Ã ¹°¾îº¸Áö¸¸, ´ÙÀ½ºÎÅÍ´Â ¸Å¿ì ´À¸®°Ô -¹Ýº¹µÈ´Ù. (·Î±×ÀÎ °úÁ¤ÀÌ) -¹°·Ð ÀÌ °úÁ¤µéµµ -.B syslog -¸í·É¿¡ ÀÇÇØ ±× »óȲÀÌ ±â·ÏµÈ´Ù. - -.I .hushlogin -ÆÄÀÏ $HOME °æ·Î¾È¿¡ ÀÖÀ¸¸é, »õ·Î µµÂøÇÑ ÆíÁö°¡ ÀÖÀ» ¶§ º¸¿©ÁÖ´Â -¸Þ½ÃÁö¿Í ¸¶Áö¸· ·Î±×ÀÎÇÑ ½Ã°£À» ¾Ë¸®´Â ¸Þ½ÃÁö¸¦ º¸¿©ÁÖÁö ¾Ê´Â´Ù. -ÀÌ ÆÄÀÏÀÌ ¾ø°í, -.I /var/log/lastlog -ÆÄÀÏÀÌ ÀÖÀ¸¸é, ±× ÆÄÀÏ¿¡¼­ ¸¶Áö¸· ·Î±×ÀÎ ½Ã°£À» ÀÐ¾î º¸¿©ÁÖ°í, -±× ÆÄÀÏ¿¡, ÇöÀç ·Î±×ÀÎÀ» ±â·ÏÇÑ´Ù. - -·Î±×ÀÎ °èÁ¤, ºñ¹Ð¹øÈ£ È®ÀÎöÀÚ°¡ ³¡³ª¸é, -´ÙÀ½Àº Å͹̳¯ÀÇ UID, GID ¼³Á¤°°Àº °ü¸®ÀÛ¾÷µéÀ» ¹«ÀÛÀ§·Î -¼öÇàÇÑ´Ù. TERM ȯ°æº¯¼ö°¡ »ç¿ëµÇ°í ÀÖÀ¸¸é, ÀÌ È¯°æº¯¼ö¸¦ ÁöÁ¤Çϰí, -( -.B \-p -¿É¼ÇÀÌ »ç¿ëµÇ¸é ´Ù¸¥ ȯ°æº¯¼ö°¡ ÁöÁ¤µÈ´Ù) -HOME, PATH, SHELL, TERM, MAIL, LOGNAME ȯ°æº¯¼öµéÀ» ÁöÁ¤ÇÑ´Ù. -ÀÏ¹Ý »ç¿ëÀÚ¶ó¸é °æ·Î¸¦ ÃʱⰪÀ¸·Î ¾Æ·¡¿Í °°ÀÌ ÁöÁ¤Çϰí, -.br -.I /usr/local/bin:/bin:/usr/bin:. -root¶ó¸é ÃʱⰪÀ¸·Î ¾Æ·¡¿Í °°ÀÌ ÁöÁ¤ÇÑ´Ù. -.br -.I /sbin:/bin:/usr/sbin:/usr/bin -.br -¸¶Áö¸·À¸·Î "Á¶¿ëÇÑ" ·Î±×ÀÎÀÌ ¾Æ´Ï¶ó¸é, ±×³¯ÀÇ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϰí, -.I /usr/spool/mail -°æ·Î¾È¿¡ ±× »ç¿ëÀÚ À̸§À¸·Î µÈ ÆÄÀÏÀÇ Å©±â°¡ 0ÀÌ ¾Æ´ÑÁö È®ÀÎÇØ¼­ -0ÀÌ ¾Æ´Ï¸é, ÆíÁö°¡ ÀÖ´Ù°í ¾Ë·ÁÁØ´Ù. - -´ÙÀ½ »ç¿ëÀÚ ½©À» ÁöÁ¤Çϴµ¥, -.BR /etc/passwd -ÆÄÀÏ¿¡¼­ ±× »ç¿ëÀÚÀÇ ½©ÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é, -.B /bin/sh -½©À» »ç¿ëÇÑ´Ù. -¶ÇÇÑ, -.IR /etc/passwd -ÆÄÀÏ¿¡¼­ Ȩ °æ·Î°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸ç, -.I / -°æ·Î·Î ·Î±×ÀεȴÙ.(Ȩ °æ·Î´Â À§¿¡¼­ ¼³¸íÇÑ -.I .hushlogin -ÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇÒ ¶§ °Ë»çµÈ´Ù.) -.SH ¿É¼Ç -.TP -.B \-p -.B login -½ÇÇàÇÒ ¶§ ÀÌÀü ȯ°æµéÀ» ±×´ë·Î »ç¿ëÇϵµ·Ï -.BR getty (8) -¸í·É¿¡ ÀÇÇØ »ç¿ëµÈ´Ù. -.TP -.B \-f -µÎ¹øÂ° ·Î±×ÀÎÀÏ °æ¿ì¿¡´Â ±× ÀÎÁõ(°èÁ¤È®ÀÎÀýÂ÷)À» Åë°úÇÑ´Ù. -root °èÁ¤ÀÏ °æ¿ì¿¡´Â ÀÛµ¿µÇÁö ¾ÊÀ¸¸ç, ¸®´ª½º¿¡¼­´Â ¹Ù¸£°Ô -ÀÛµ¿µÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. -.TP -.B \-h -¸®¸ðÆ® È£½ºÆ® ·Î±×ÀνÃ(°¡·É, telnetd(8) »ç¿ë) °èÁ¤ ÀÔ·ÂÀ» Åë°úÇÑ´Ù. -¹°·Ð utmp, wtmp ±â·ÏÀº ÀÖ´Ù. ÀÌ ¿É¼ÇÀº ´ÜÁö root¸¸ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. - -.SH "Ưº° Á¢±Ù °ÅºÎ" -.I /etc/securetty -ÆÄÀÏ¿¡´Â root°¡ Á¢¼Ó ÇÒ ¼ö Å͹̳¯ÀÌ ³ª¿­µÇ¾î ÀÖ´Ù. -ÀÌ Å͹̳¯ À̸§Àº /dev/ ±ÛÀÚ¸¦ »ý·«ÇÑ Å͹̳¯ À̸§¸¸ÀÌ´Ù. -ÀÌ ÆÄÀÏÀÌ ¾ø´Ù¸é root´Â ¸ðµç Å͹̳¯¿¡¼­ Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù. -.PP -.I /etc/usertty -ÆÄÀÏ¿¡´Â ƯÁ¤ »ç¿ëÀÚÀÇ Á¢¼Ó¿¡ ´ëÇÑ Æ¯º°ÇÑ ¼³Á¤ ³»¿ëÀÌ ÀÖ´Ù. -ÀÌ ÆÄÀÏÀÌ ¾ø´Ù¸é, ¾î¶°ÇÑ Æ¯Á¤ »ç¿ëÀÚÀÇ Á¢¼Ó °ÅºÎ°°Àº ¾ø´Ù. -ÀÌ ÆÄÀÏÀÇ ¼¼ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î Àִµ¥, °¢°¢ ±× ºÎºÐµéÀÇ À̸§Àº -CLASSES, GROUPS, USERS ÀÌ´Ù. CLASSES ºÎºÐ¿¡¼­´Â Å͹̳¯ÀÇ Å¬·¡½º¿Í -È£½ºÆ®À̸§ ÆÐÅÏÀÌ Á¤Àǵǰí, GROUPS ºÎºÐ¿¡¼­´Â ±×·ì ´ÜÀ§ÀÇ Çã¶ôµÇ´Â -Å͹̳¯°ú È£½ºÆ®°¡ Á¤Àǵǰí, USERS ºÎºÐ¿¡¼­´Â »ç¿ëÀÚ ´ÜÀ§ÀÇ Çã¶ôµÇ´Â -Å͹̳¯°ú È£½ºÆ®°¡ Á¤ÀǵȴÙ. -.PP -ÀÌ ÆÄÀÏÀÇ °¢ ÁÙÀº 255 ¹®ÀÚ¸¦ ³ÑÀ» ¼ö ¾øÀ¸¸ç, -# ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â ±× ÁÙ Àüü´Â ÁÖ¼®À¸·Î 󸮵ȴÙ. -.PP -.SS "CLASSES ¼½¼Ç" -CLASSES ¼½¼ÇÀº ´ë¹®ÀڷΠùĭºÎÅÍ CLASSES¶ó°í ¾¸À¸·Î Á¤ÀǵȴÙ. -ÀÌ ºÎºÐÀº ´ÙÀ½ ¼½¼ÇÀÌ Á¤ÀǵDZâ Àü±îÁö ¸ðµç ºÎºÐÀÌ Æ÷ÇԵȴÙ. -°¢ ´Ü¾îÀÇ ±¸ºÐÀº °ø¹é¹®ÀÚ³ª Åǹ®ÀÚ·Î ÇÑ´Ù. -°¢ ÁÙ¿¡´Â Å͹̳¯°ú È£½ºÆ® ÆÐÅÏÀÇ Å¬·¡½º°¡ Á¤ÀǵȴÙ. -.PP -°¢ ÁÙÀÇ Ã³À½Àº °ü¸®ÀÚ°¡ Á¤ÀÇÇϴ Ŭ·¡½º À̸§ÀÌ ¿À°í, -±× ´ÙÀ½¿¡´Â ±× Ŭ·¡½º¿¡¼­ »ç¿ëÇÏ´Â Å͹̳¯°ú È£½ºÆ® ÆÐÅÏÀÌ ¿Â´Ù. -ÀÌ Å¬·¡½º À̸§Àº ´ÙÀ½¿¡ ¿À´Â GROUPS, USERS ¼½¼Ç¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ´Ù. -.PP -CLASSES ¼½¼Ç ¿¹Á¦: -.PP -.nf -.in +.5 -CLASSES -myclass1 tty1 tty2 -myclass2 tty3 @.foo.com -.in -.5 -.fi -.PP -À­ ¿¹Á¦´Â -.I myclass1 -°ú -.I myclass2 -Ŭ·¡½º¸¦ ¿À¸¥ÂÊ ºÎºÐ°ú °°ÀÌ Á¤ÀÇÇÑ °ÍÀÌ´Ù. -.PP -.SS "GROUPS ¼½¼Ç" -GROUPS ¼½¼Ç¿¡¼­´Â À¯´Ð½º ±×·ì ´ÜÀ§ÀÇ Çã¶ôµÇ´Â Å͹̳¯°ú È£½ºÆ®°¡ Á¤ÀǵȴÙ. -Á¢¼ÓÇÏ´Â »ç¿ëÀÚÀÇ ±×·ìÀÌ(À̰ÍÀº -.I /etc/passwd -ÆÄÀϰú -.I /etc/group -ÆÄÀÏ¿¡¼­ È®ÀεÊ)ÀÌ -.I /etc/usertty -ÆÄÀÏÀÇ GROUPS ¼½¼Ç ºÎºÐ¿¡¼­ Á¤ÀÇµÈ ±×·ìÀ̶ó¸é, ±×¿¡ ÇØ´çµÇ´Â -Å͹̳¯°ú È£½ºÆ®¿¡¸¸ Á¢¼ÓÀÌ °¡´ÉÇØ Áø´Ù. -.PP -GROUPS ¼½¼ÇÀº ùĭ¿¡ ´ë¹®ÀÚ·Î GROUPS À̶ó°í ¾¸À¸·Î Á¤Àǰ¡ ½ÃÀ۵ǰí, -´ÙÀ½¼½¼ÇÀÇ Á¤Àǰ¡ ³ªÅ¸³ª±â Àü±îÁö ÀÌ ¼½¼ÇÀ¸·Î °¡Á¤ÇÑ´Ù. -°¢ ´Ü¾îÀÇ ±¸ºÐÀº °ø¹é¹®ÀÚ³ª Åǹ®ÀÚ·Î Çϸç, -°¢ ÁÙÀÇ Ã³À½¿¡´Â ±×·ìÀÌ ¿À°í ´ÙÀ½¿¡´Â ±× ±×·ì¿¡¼­ Á¢±ÙÇÒ ¼ö ÀÖ´Â -Å͹̳¯°ú È£½ºÆ®°¡ ¿Â´Ù. ¶ÇÇÑ Çã¶ôµÇ´Â Å͹̳¯°ú È£½ºÆ® ºÎºÐ¿¡¼­ -¾Õ CLASSES ¼½¼Ç¿¡¼­ Á¤ÀÇÇÑ Å¬·¡½º À̸§ÀÌ »ç¿ëµÉ ¼öµµ ÀÖ´Ù. -.PP -GROUPS ¼½¼ÇÀÇ ¿¹Á¦: -.PP -.nf -.in +0.5 -GROUPS -sys tty1 @.bar.edu -stud myclass1 tty4 -.in -0.5 -.fi -.PP -À­ ¿¹Á¦´Â -.I sys -±×·ìÀÇ »ç¿ëÀÚ´Â bar.edu µµ¸ÞÀÎÀ» °¡Áø È£½ºÆ®¿¡¼­, tty1·Î¸¸ -Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù. -.I stud -±×·ìÀÇ »ç¿ëÀÚ´Â myclass1 Ŭ·¡½º ¶Ç´Â tty4·Î¸¸ Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù. -.PP - -.SS "USERS ¼½¼Ç" -USERS ¼½¼ÇÀº ùĭ¿¡ USERS ¶ó°í ´ë¹®ÀÚ·Î ¾¸À¸·Î Á¤ÀǵȴÙ. -°¢ ´Ü¾îÀÇ ±¸ºÐÀº °ø¹é¹®ÀÚ¿Í Åǹ®ÀÚ·Î Çϸç, -ùĭ¿¡´Â »ç¿ëÀÚ °èÁ¤, ´ÙÀ½¿¡´Â ±× °èÁ¤ »ç¿ëÀÚ°¡ Á¢¼Ó ÇÒ ¼ö ÀÖ´Â -Å͹̳¯°ú ±× »ç¿ëÀÚ°¡ Á¢¼Ó ½ÃµµÇϴ ȣ½ºÆ®°¡ Á¤ÀǵȴÙ. -¹°·Ð Å͹̳¯°ú È£½ºÆ® Á¤ÀǺκп¡¼­ ¾Õ CLASSES ¼½¼Ç¿¡¼­ Á¤ÀÇÇÑ Å¬·¡½º°¡ -»ç¿ëµÉ ¼öµµ ÀÖ´Ù. -.PP -USERS ¼½¼Ç ¿¹Á¦: -.PP -.nf -.in +0.5 -USERS -zacho tty1 @130.225.16.0/255.255.255.0 -blue tty3 myclass2 -.in -0.5 -.fi -.PP -À­ ¿¹Á¦´Â zacho °èÁ¤ »ç¿ëÀÚ´Â IP ÁÖ¼Ò°¡ 130.225.16.0 ºÎÅÍ 130.225.16.255 -¹üÀ§ ¾ÈÀÇ È£½ºÆ®¿¡¼­ ÀÌ ÄÄÀÇ tty1·Î Á¢¼Ó ÇϰíÀÚ ÇÒ ¶§¸¸ Á¢¼ÓÀ» ÇÒ ¼ö ÀÖ´Ù. -blue °èÁ¤ »ç¿ëÀÚ´Â myclass2¿¡¼­ Á¤ÀÇµÈ È¯°æ°ú tty3À¸·Î¸¸ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù. -.PP -USERS ¼½¼Ç¾È¿¡¼­ »ç¿ëÀÚ °èÁ¤ ºÎºÐ¿¡ * ¹®ÀÚ°¡ ¿Ã ¼öµµ ÀÖ´Ù. -À̰ÍÀº ÃʱⰪ ÁöÁ¤À̸ç, ¸ðµç »ç¿ëÀÚ¿¡°Ô Àû¿ëµÈ´Ù. -.PP -Á¢¼ÓÇϰíÀÚ ÇÏ´Â »ç¿ëÀÚÀÇ °èÁ¤°ú ±×·ìÀÌ USERS, GROUPS ¼½¼Ç µÎ ºÎºÐ¿¡¼­ ¸ðµÎ -Àû¿ëµÇ¸é °¢ ¼½¼Ç¿¡¼­ Á¤ÀÇµÈ ¸ðµç Å͹̳¯/È£½ºÆ®°¡ Àû¿ëµÈ´Ù. - -.SS Origins -Å͹̳¯°ú È£½ºÆ® Á¤ÀÇ ºÎºÐ¿¡´Â Ŭ·¡½º, originÀ̶ó°í ºÎ¸£´Â -ÀϱºÀÇ ¹®ÀÚ¿­ÀÌ »ç¿ëµÈ´Ù. ÀÌ origin ¹®ÀÚ¿­Àº ´ÙÀ½°ú °°Àº Çü½ÄÀ» ÃëÇÑ´Ù. -.IP o -Å͹̳¯ÀÇ À̸§¿¡´Â /dev/ ºÎºÐÀÌ ºüÁø´Ù. Áï, tty1, ttyS0 Çü½ÄÀ¸·Î »ç¿ëµÈ´Ù. -.PP -.IP o -@localhost ¹®ÀÚ¿­Àº ·ÎÄ® È£½ºÆ®¿¡¼­ telnet/rloginÀ¸·Î Á¢¼ÓÇÏ´Â »ç¿ëÀÚ¸¦ -ÀǹÌÇÑ´Ù. Áï `xterm -e /bin/login' ¸í·É°°Àº °ÍÀÌ ½ÇÇàµÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. -.PP -.IP o -@.some.dom ¹®ÀÚ¿­Àº ¸®¸ðÆ® È£½ºÆ® Á¢¼Ó½Ã ±× »ç¿ëÀÚ°¡ rlogin/telnetÀ¸·Î -µµ¸ÞÀÎÀÌ .some.dom·Î ³¡³ª´Â È£½ºÆ®¿¡¼­¸¸ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. -.PP -.IP o -IP ÁÖ¼ÒÀÇ ¿µ¿ªÀº @x.x.x.x/y.y.y.y ÀÌ·± ½ÄÀ¸·Î Á¤ÀÇÇϴµ¥, -À̰ÍÀº x.x.x.x ¿¡¼­ y.y.y.y ¹üÀ§ÀÇ IP ÁÖ¼Ò¸¦ °¡Áø È£½ºÆ®¿¡¼­¸¸ -Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î, @130.225.16.0/255.255.254.0 -À¸·Î Á¤ÀÇÇϸé, IPÀÇ ¹üÀ§°¡ 130.225.16.0 \- 130.225.17.255ÀÎ -È£½ºÆ®¿¡¼­¸¸ Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù. -.PP -±âŸ origin ¿¡¼­ »ç¿ëµÇ´Â ¹®ÀÚ¿­·Î ½Ã°£À» Á¤ÇÒ¼ö Àִµ¥, -±× Çü½ÄÀº ´ÙÀ½°ú °°´Ù. -.PP -.nf -timespec ::= '[' [':' ]* ']' -day ::= 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun' -hour ::= '0' | '1' | ... | '23' -hourspec ::= | '\-' -day-or-hour ::= | -.fi -.PP -¿¹¸¦ µé¾î, [mon:tue:wed:thu:fri:8\-17]tty3 ¹®ÀÚ¿­Àº -¿ù¿äÀϺÎÅÍ ±Ý¿äÀϱîÁö, ¿ÀÀü 8½Ã 00ºÐºÎÅÍ ¿ÀÈÄ 5½Ã 59ºÐ±îÁö¸¸ -tty3À¸·Î Á¢¼ÓÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÑ´Ù. ½Ã°£ ÁöÁ¤¿¡¼­´Â ´ÜÁö, -a\-b ½ÄÀ¸·Î Á¤ÀǵǸé a½Ã 00ºÐ ºÎÅÍ b½Ã 59ºÐ±îÁö¸¦ ÀǹÌÇϸç, -´ÜÁö ´ÜÀÏ ¼ýÀÚ¸¸ ÀÖÀ¸¸é(°¡·É 10) ±× ½Ã°£¸¸(10½Ã 00ºÐºÎÅÍ 10½Ã 59ºÐ±îÁö)À» -ÀǹÌÇÑ´Ù. -.PP -½Ã°£ºÎºÐÀÇ ¼³Á¤ÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ¾î¶°ÇÑ ½Ã°£¿¡µµ Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù. -°¢ ¿äÀϺ°·Î ±× ½Ã°£À» µû·Î Á¤ÇÏ°í ½ÍÀ¸¸é °¢ ¿äÀÏ Á¤ÀÇ´ÙÀ½¿¡ ½Ã°£À» -°¢°¢ µû·Î Á¤ÀÇ ÇÒ ¼öµµ ÀÖ´Ù. -½Ã°£ÁöÁ¤¿¡¼­´Â °ø¹é¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. -.PP -¸¸¾à -.I /etc/usertty -ÆÄÀÏ¿¡¼­ °¢ Á¤ÀǵéÀÌ ¹Ù¸£Áö ¸øÇÏ°Ô Á¤Àǵȴٸé, -¸ðµç »ç¿ëÀÚÀÇ Æ¯º° Á¢¼Ó °ÅºÎ °°Àº °ÍÀº ¾ø´Ù. -.PP -.SH "°ü·Ã ÆÄÀÏ" -.nf -.I /var/run/utmp -.I /var/log/wtmp -.I /var/log/lastlog -.I /usr/spool/mail/* -.I /etc/motd -.I /etc/passwd -.I /etc/nologin -.I /etc/usertty -.I .hushlogin -.fi -.SH "°ü·Ã Ç׸ñ" -.BR init (8), -.BR getty (8), -.BR mail (1), -.BR passwd (1), -.BR passwd (5), -.BR environ (7), -.BR shutdown (8) -.SH ¹ú·¹ -¸®´ª½º¿¡¼­´Â ´Ù¸¥ ¿¾³¯ ¿î¿µÃ¼Á¦¿Í ´Þ¸® ÇÑ »ç¿ëÀÚÀÇ Áߺ¹ ·Î±×ÀÎÀ» -Á¦ÇÑÇÏÁö ¾Ê´Â´Ù. - -¼³¸íµÇÁö ¾ÊÀº BSDÀÇ -.B \-r -¿É¼ÇÀº Áö¿øµÇÁö ¾Ê´Â´Ù. -ÀÌ ¿É¼ÇÀº -¾î¶°ÇÑ -.BR rlogind (8) -Ç®±×¸²¿¡¼­ ÇÊ¿äÇÒ Áöµµ ¸ð¸¥´Ù. -.SH ¸¸µçÀÌ -Derived from BSD login 5.40 (5/9/89) by Michael Glad (glad@daimi.dk) for HP-UX -.br -Ported to Linux 0.12: Peter Orbaek (poe@daimi.aau.dk) diff --git a/man/ko/newgrp.1 b/man/ko/newgrp.1 deleted file mode 100644 index e2bbe987..00000000 --- a/man/ko/newgrp.1 +++ /dev/null @@ -1,29 +0,0 @@ -.\" Original author unknown. This man page is in the public domain. -.\" Modified Sat Oct 9 17:46:48 1993 by faith@cs.unc.edu -.TH NEWGRP 1 "9 October 1993" "Linux 1.2" "Linux Programmer's Manual" -.SH NAME -newgrp \- ÀÚ½ÅÀÌ ¼Ò¼ÓµÈ ±×·ìÀ» »õ ±×·ìÀ¸·Î ¹Ù²Û´Ù. -.SH SYNOPSIS -.BI "newgrp [ " group " ]" -.SH DESCRIPTION -.B Newgrp -¸í·ÉÀº -changes the group identification of its caller, analogously to -.BR login (1). -¸í·ÉÀ¸·Î ·Î±×ÀÎ ÇÒ ¶§ ½Äº°µÇ´Â ±×·ìÀ» ¹Ù²Û´Ù. -\fIgroup\fRÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ´Â °ªÀº /etc/group ÆÄÀϾȿ¡ -ÀÖ´Â ±×·ìÀÇ À̸§À̳ª, GID °ªÀÌ¿©¾ß Çϸç, -¸í·ÉÇà ÀÎÀÚ¿¡¼­ ÀÌ °ªÀ» Ưº°È÷ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é, ÇöÀç ÀÚ½ÅÀÇ -±×·ìÀ¸·Î ¹Ù²Û´Ù. -.LP -.SH FILES -.I /etc/group -.br -.I /etc/passwd - -.SH "SEE ALSO" -.BR login "(1), " group (5) - -.SH AUTHOR -Originally by Michael Haardt. Currently maintained by -Peter Orbaek (poe@daimi.aau.dk). diff --git a/man/ko/passwd.5 b/man/ko/passwd.5 deleted file mode 100644 index ec8e2995..00000000 --- a/man/ko/passwd.5 +++ /dev/null @@ -1,120 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (michael@moria.de), Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; 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. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual 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 manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Sun Jul 25 10:46:28 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Aug 21 18:12:27 1994 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Jun 18 01:53:57 1995 by Andries Brouwer (aeb@cwi.nl) -.\" Modified Mon Jan 5 20:24:40 MET 1998 by Michael Haardt -.\" (michael@cantor.informatik.rwth-aachen.de) -.\" -.\" Çѱ¹¾î ¹ø¿ª : ASPLINUX 2000³â 7¿ù 29ÀÏ -.\" -.TH PASSWD 5 "January 5, 1998" "" "File formats" -.SH À̸§ -passwd \- ÆÐ½º¿öµå ÆÄÀÏ -.SH ¼³¸í -.B Passwd -´Â ÅØ½ºÆ® ÆÄÀϷμ­, ½Ã½ºÅÛ °èÁ¤ÀÇ ¸ñ·ÏÀ» Æ÷ÇÔÇϰí ÀÖ°í, »ç¿ëÀÚ ID, ±×·ì -ID, Ȩ µð·ºÅ丮, ½© µîÀÇ °¢ °èÁ¤¿¡ ´ëÇÑ ¸Å¿ì À¯¿ëÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù. -Á¾Á¾, °¢ °èÁ¤¿¡ ´ëÇÑ ¾ÏȣȭµÈ ÆÐ½º¿öµå¸¦ Æ÷ÇÔÇÑ´Ù. -Passwd´Â ÀϹÝÀûÀÎ Àб⠱ÇÇÑÀ» °¡Á®¾ß ÇÏÁö¸¸, ¼öÆÛ À¯Àú¿¡°Ô¸¸ ¾²±â Á¢±ÙÀÌ -°¡´ÉÇÏ´Ù. -.PP -¿¹Àü¿¡´Â ÀϹÝÀûÀÎ Àб⠱ÇÇÑÀ¸·ÎÀÎÇÑ ¹®Á¦µéÀÌ ¾ø¾ú´Ù. ¸ðµç »ç¶÷µéÀÌ -¾ÏȣȭµÈ ÆÐ½º¿öµå¸¦ ÀÐÀ» ¼ö ÀÖ¾úÁö¸¸, ÆÐ½º¿öµå¸¦ Å©·¢Çϱ⿡´Â Çϵå¿þ¾î°¡ -³Ê¹«³ª ´À·È°í, ´õ¿ì±â, ±âº»ÀûÀÎ °¡Á¤Àº ±×µéÀº ¾ÆÁÖ Ä£¼÷ÇÑ »ç¿ëÀÚ -°øµ¿Ã¼ÀÇ ÆÐ½º¿öµåµéÀ̾ú´Ù. - -¿À´Ã³¯ ¸¹Àº »ç¶÷µéÀÌ ½¦µµ¿ì ÆÐ½º¿öµåÀÇ ÀϺΠ¹öÀüÀ» ½ÇÇàÇÑ´Ù. - .I /etc/passwd´Â ¾ÏȣȭµÈ ÆÐ½º¿öµå ´ë½Å *·Î µÈ -ÆÐ½º¿öµå¸¦ Áö´Ï°í, ¾ÏȣȭµÈ ÆÐ½º¿öµåµéÀº ¼öÆÛÀ¯Àú¸¸ÀÌ ÀÐÀ» ¼ö ÀÖ´Â -.I /etc/shadow¿¡ ÀúÀåµÈ´Ù. -.PP -½¦µµ¿ì ÆÐ½º¿ìµå°¡ »ç¿ëµÇ´ÂÁö¿¡ »ó°ü¾øÀÌ, ¸¹Àº ½Ã½ºÅÛ °ü¸®ÀÚµéÀº »ç¿ëÀÚ°¡ -ÀÚ±â ÀÚ½ÅÀ» ÆÐ½º¿öµå¸¦ »ç¿ëÇÏ¿© ÀÎÁõÇÒ ¼ö ¾øµµ·Ï ÆÐ½º¿öµå Çʵ峻¿¡ -º°Ç¥¸¦ »ç¿ëÇÑ´Ù. - -.PP -¸¸ÀÏ »õ·Î¿î ·Î±×ÀÎÀ» ¸¸µé¸é, ¿ì¼± ÆÐ½º¿öµå Çʵ忡 º°Ç¥¸¦ ³õ°í, À̸¦ -¼³Á¤Çϱâ À§ÇØ .BR passwd (1)À» »ç¿ëÇÑ´Ù. -PP -°¢ Çึ´Ù ÇϳªÀÇ Ç׸ñÀÌ ÀÖ°í, °¢ ÇàÀº ´ÙÀ½ÀÇ Çü½ÄÀ» Áö´Ñ´Ù. -.sp -.RS -°èÁ¤:ÆÐ½º¿öµå:UID:GID:GECOS:µð·ºÅ丮:½© -.RE -.sp -°¢ Çʵ忡 ´ëÇÑ ¼³¸íÀº ´ÙÀ½°ú °°´Ù. -.sp -.RS -.TP 1.0in -.I °èÁ¤ -½Ã½ºÅÛ¿¡¼­ÀÇ »ç¿ëÀÚ À̸§. ´ë¹®ÀÚ¸¦ »ç¿ëÇØ¼­´Â ¾ÈµÈ´Ù. -.TP -.I ÆÐ½º¿öµå -¾ÏȣȭµÈ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå ȤÀº º°Ç¥ -.TP -.I UID -¼ýÀڷΠǥÇöµÇ´Â »ç¿ëÀÚ id -.TP -.I GID -ÀÌ »ç¿ëÀÚ¿¡ ´ëÇÑ ÁÖ ±×·ì ID, ¼ýÀڷΠǥÇöµÊ -.TP -.I GECOS -ÀÌ Çʵå´Â ¼±ÅÃÀûÀ̰í, ¿ÀÁ÷ Á¤º¸ÀûÀÎ ¸ñÀûÀ¸·Î¸¸ »ç¿ëµÈ´Ù. º¸Åë, ÀÌ´Â -»ç¿ëÀÚÀÇ Àüü À̸§À» Æ÷ÇÔÇÑ´Ù. GECOS´Â ÀÏ¹Ý ÀüÀÚ ÅëÇÕ ¿î¿µÃ¼Á¦·Î¼­, -GEÀÇ °Å´ë ½Ã½ºÅÛÀÌ Honeywell¿¡ ÆÇ¸ÅµÈ GCOS,·Î ´Ù½Ã ¸í¸íµÇ¾ú´Ù. Dennis -Ritchie´Â ¸»Çϱ⸦, ¶§¶§·Î ¿ì¸®´Â ÇÁ¸°ÅÍ Ãâ·Â ȤÀº Àϰý ó¸® ÀÛ¾÷µéÀ» -GCOS ¸Ó½ÅÀ¸·Î Àü¼ÛÇÏ¿´´Ù. ÆÐ½º¿öµå ÆÄÀÏ¿¡¼­ GCOS Çʵå´Â $IDENTcard¿¡ ´ëÇÑ -Á¤º¸¸¦ ¼û°ÜµÎ´Â Àå¼ÒÀÌ´Ù. -.TP -.I directory -»ç¿ëÀÚÀÇ $HOME µð·ºÅ丮 -.TP -.I shell(½©) -·Î±×Àνà ½ÇÇàÇÏ´Â ÇÁ·Î±×·¥(¸¸ÀÏ ºñ¾ú´Ù¸é, .BR /bin/shÀ» »ç¿ëÇÑ´Ù.) -¸¸ÀÏ Á¸ÀçÇÏÁö ¾Ê´Â ½ÇÇàÆÄÀÏ·Î ¼³Á¤µÇ¾ú´Ù¸é, »ç¿ëÀÚ´Â .BR login (1)À» ÅëÇØ -·Î±×ÀÎ ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. - -.RE -.SH ÁÖÀÇ -¿©·¯ºÐÀÌ »ç¿ëÀÚ ±×·ìÀ» ¸¸µé°í ½Í´Ù¸é, GID´Â ÀÌ¿Í µ¿ÀÏÇÏ¿©¾ß Çϸç, -\fI/etc/group\fP³»¿¡ Ç׸ñµéÀÌ Àְųª, ±×·ìÀÌ Á¸ÀçÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. -.PP -¾ÏȣȭµÈ ÆÐ½º¿öµå°¡ º°Ç¥·Î ¼³Á¤µÈ °æ¿ì, »ç¿ëÀÚ´Â .BR login (1)·Î ·Î±×ÀÏ ÇÒ ¼ö ¾øÁö¸¸, -.BR rlogin (1)À» »ç¿ëÇÏ¿© ·Î±×ÀÎÇÒ ¼ö ÀÖÀ» ¼öµµ ÀÖ´Ù. Á¸ÀçÇÏ´Â ÇÁ·Î¼¼½ºµéÀ» ½ÇÇàÇϰí, -.BR rsh (1) -ȤÀº -.BR cron (1) -ȤÀº -.BR at (1) -À» ÃʱâÈ­½ÃŰ°Å³ª, ¸ÞÀÏ ÇÊÅ͸¦ ½ÃÀÛÇÑ´Ù. -´Ü¼øÈ÷ ½© Çʵ带 º¯°æ½ÃÄѼ­ °èÁ¤À» Àá±×´Â °ÍÀº ¶È°°Àº °á°ú¸¦ °¡Á®¿À°í, -.BR su (1)ÀÇ »ç¿ëÀ» Çã¿ëÇÑ´Ù.. -.SH ÆÄÀÏ -.I /etc/passwd -.SH °ü·Ã Ç׸ñ -.BR passwd (1), -.BR login (1), -.BR su (1), -.BR group (5), -.BR shadow (5) diff --git a/man/lastlog.8 b/man/lastlog.8 index 727e6049..ee612a4e 100644 --- a/man/lastlog.8 +++ b/man/lastlog.8 @@ -1,4 +1,4 @@ -.\"$Id: lastlog.8,v 1.10 2001/01/27 02:55:52 kloczek Exp $ +.\"$Id: lastlog.8,v 1.14 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1992, Phillip Street and Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,14 +31,14 @@ lastlog \- examine lastlog file .SH SYNOPSIS .TP 8 -\fBlastlog\fR [<\fB-u\fR|\fB--user\fR> \fIlogin-name\fR] -[<\fB-t\fR|\fB--time\fR> \fIdays\fR] [<\fB-h\fR|\fB--help\fR>] +\fBlastlog\fR [(\fB-u\fR|\fB--user\fR) \fIlogin\fR] +[(\fB-t\fR|\fB--time\fR) \fIdays\fR] [(\fB-h\fR|\fB--help\fR) ] .SH DESCRIPTION .PP \fBlastlog\fR formats and prints the contents of the last login log \fI/var/log/lastlog\fR file . The \fBlogin-name\fR, \fBport\fR, and \fBlast login time\fR will be printed. The default (no flags) causes lastlog entries -to be printed, sorted by the numerical UID. +to be printed, sorted by their order in \fB/etc/passwd\fR. .TP \fB-u\fR, \fB--user\fR \fIlogin-name\fR will cause the lastlog record for \fIlogin-name\fR only to be printed @@ -54,7 +54,7 @@ The \fB-t\fR flag overrides the use of \fB-u\fR. If the user has never logged in the message \fB"**Never logged in**"\fR will be displayed instead of the port and time. .SH FILES -/var/log/lastlog \- lastlog logging file +\fI/var/log/lastlog\fR \ - lastlog logging file .SH 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 diff --git a/man/limits.5 b/man/limits.5 index fe6afb86..596d8fa4 100644 --- a/man/limits.5 +++ b/man/limits.5 @@ -1,13 +1,11 @@ -.\"$Id: limits.5,v 1.5 2001/01/25 10:43:50 kloczek Exp $ +.\"$Id: limits.5,v 1.7 2003/05/01 18:17:39 kloczek Exp $ .TH LIMITS 5 .SH NAME limits \- Resource limits definition .SH DESCRIPTION -The -.I 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. +The \fIlimits\fR 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. .PP 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). @@ -54,21 +52,22 @@ username L2D2048N5 .br username L2 D2048 N5 .PP -Be aware that after \fIusername\fP the rest of the line is considered a limit -string, thus comments are not allowed. A invalid limits string will be +Be aware that after \fIusername\fP 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. .PP -The default entry is denoted by username "\fB*\fP". If you have multiple \fIdefault\fP -entries in your \fBLIMITS_FILE\fP, then the last one will be used as the default -entry. +The default entry is denoted by username "\fB*\fP". If you have multiple +\fIdefault\fP entries in your \fBLIMITS_FILE\fP, then the last one will be +used as the default entry. .PP To completely disable limits for a user, a single dash "\fB-\fP" will do. .PP -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 ;) +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 ;) + .SH FILES -/etc/limits +\fI/etc/limits\fR .SH SEE ALSO .BR login (1), .BR setpriority (2), diff --git a/man/login.1 b/man/login.1 index b63a7e67..b8958681 100644 --- a/man/login.1 +++ b/man/login.1 @@ -1,4 +1,4 @@ -.\"$Id: login.1,v 1.11 2002/03/09 19:22:30 ankry Exp $ +.\"$Id: login.1,v 1.16 2003/06/19 18:17:05 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -35,48 +35,39 @@ login \- begin session on the system .br \fBlogin\fR [\fB-p\fR] \fB-r \fIhost\fR .SH DESCRIPTION -.B login -is used to establish a new session with the system. -It is normally invoked automatically by responding to the -.I login: -prompt on the user\'s terminal. -.B login -may be special to the shell and may not be invoked as a sub-process. -Typically, -.B login -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 produce an error message. +\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 +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 +produce an error message. .PP -When invoked from the \fIlogin:\fR prompt, the user may enter -environmental variables after the username. -These variables are entered in the form \fBNAME=VALUE\fR. -Not all variables may be set in the fashion, notably \fBPATH\fR, -\fBHOME\fR and \fBSHELL\fR. -Additionally, \fBIFS\fR may be inhibited if the user\'s login -shell is \fB/bin/sh\fR. + +When invoked from the \fIlogin:\fR prompt, the user may enter environmental +variables after the username. These variables are entered in the form +\fBNAME=VALUE\fR. Not all variables may be set in the fashion, notably +\fBPATH\fR, \fBHOME\fR and \fBSHELL\fR. Additionally, \fBIFS\fR may be +inhibited if the user\'s login shell is \fB/bin/sh\fR. .PP -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 -\fBlogin\fR exits and the communications link is severed. +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 \fBlogin\fR exits and the communications link +is severed. .PP -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 \fBpasswd\fR(1) for more information. +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 +\fBpasswd\fR(1) for more information. .PP -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, -\fI/etc/motd\fR, by creating a zero-length file \fI.hushlogin\fR -in your login directory. -The mail message will be one of "\fBYou have new mail.\fR", -"\fBYou have mail.\fR", or "\fBNo Mail.\fR" according to -the condition of your mailbox. + +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, \fI/etc/motd\fR, by creating a zero-length file \fI.hushlogin\fR in +your login directory. The mail message will be one of "\fBYou have new +mail.\fR", "\fBYou have mail.\fR", or "\fBNo Mail.\fR" according to the +condition of your mailbox. + .PP Your user and group ID will be set according to their values in the \fI/etc/passwd\fR file. @@ -99,17 +90,13 @@ 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. .SH OPTIONS -.TP -.B -p +.IP "\fB-p\fR" Preserve environment. -.TP -.B -f +.IP "\fB-f\fR" Do not perform authentication, user is preauthenticated. -.TP -.B -h +.IP "\fB-h\fR" Name of the remote host for this login. -.TP -.B -r +.IP "\fB-r\fR" Perform autologin protocol for rlogin. .PP The \fB-r\fP, \fB-h\fP and \fB-f\fP options are only used when \fBlogin\fP is @@ -120,30 +107,26 @@ may be in use at any particular site. .PP The location of files is subject to differences in system configuration. .SH FILES +\fI/var/run/utmp\fR \- list of current login sessions .br -/etc/utmp \- list of current login sessions +\fI/var/log/wtmp\fR \- list of previous login sessions .br -/etc/wtmp \- list of previous login sessions +\fI/etc/passwd\fR \- user account information .br -/etc/passwd \- user account information +\fI/etc/shadow\fR \- encrypted passwords and age information .br -/etc/shadow \- encrypted passwords and age information +\fI/etc/motd\fR \- system message file .br -/etc/motd \- system message file +\fI/etc/nologin\fR \- prevent non-root users from logging in .br -/etc/nologin \- prevent non-root users from logging in +\fI/etc/ttytype\fR \- list of terminal types .br -/etc/ttytype \- list of terminal types -.br -$HOME/.profile \- initialization script for default shell -.br -$HOME/.hushlogin \- suppress printing of system messages +\fI$HOME/.hushlogin\fR \- suppress printing of system messages .SH SEE ALSO .BR mail (1), .BR passwd (1), .BR sh (1), .BR su (1), -.\" .BR d_passwd (5), .BR login.defs (5), .BR nologin (5), .BR passwd (5), diff --git a/man/login.access.5 b/man/login.access.5 index 684a54df..9e4312ef 100644 --- a/man/login.access.5 +++ b/man/login.access.5 @@ -1,4 +1,4 @@ -.\"$Id: login.access.5,v 1.3 2001/01/25 10:43:50 kloczek Exp $ +.\"$Id: login.access.5,v 1.5 2003/05/01 18:17:39 kloczek Exp $ .\" this is comment .TH LOGIN.ACCESS 5 .\" .Dt SKEY.ACCESS 5 @@ -6,47 +6,37 @@ .SH NAME login.access \- Login access control table .SH DESCRIPTION -The -.I login.access -file specifies (user, host) combinations and/or (user, tty) -combinations for which a login will be either accepted or refused. +The \fIlogin.access\fR file specifies (user, host) combinations and/or +(user, tty) combinations for which a login will be either accepted or +refused. .PP -When someone logs in, the -.I 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. +When someone logs in, the \fIlogin.access\fR 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. .PP Each line of the login access control table has three fields separated by a ":" character: .sp 1 .IR permission : users : origins .sp 1 -The first field should be a "\fB+\fR" (access granted) or "\fB-\fR" -(access denied) character. The second field should be a list of one or -more login names, group names, or -.B 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 "\fB.\fR"), host addresses, internet network numbers -(end with "\fB.\fR"), -.B ALL -(always matches) or -.B LOCAL -(matches any string that does not contain a "\fB.\fR" character). -If you run NIS you can use @netgroupname in host or user patterns. +The first field should be a "\fB+\fR" (access granted) or "\fB-\fR" (access +denied) character. The second field should be a list of one or more login +names, group names, or \fBALL\fR (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 "\fB.\fR"), host addresses, internet network +numbers (end with "\fB.\fR"), \fBALL\fR (always matches) or \fBLOCAL\fR +(matches any string that does not contain a "\fB.\fR" character). If you run +NIS you can use @netgroupname in host or user patterns. .PP -The -.B EXCEPT -operator makes it possible to write very compact rules. +The \fBEXCEPT\fR operator makes it possible to write very compact rules. .PP 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. .SH FILES -/etc/login.access +\fI/etc/loginn.defs\fR .SH SEE ALSO .BR login (1) .SH AUTHOR diff --git a/man/login.defs.5 b/man/login.defs.5 index 354334ba..48627585 100644 --- a/man/login.defs.5 +++ b/man/login.defs.5 @@ -25,105 +25,86 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: login.defs.5,v 1.11 2002/03/08 04:39:11 kloczek Exp $ +.\" $Id: login.defs.5,v 1.12 2003/05/01 18:17:39 kloczek Exp $ .\" .TH LOGIN.DEFS 5 .SH NAME /etc/login.defs \- shadow password suite configuration .SH DESCRIPTION The -.I /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. +\fI/etc/login.defs\fR 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. .PP -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. +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. .PP -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. +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. .PP The following configuration items are provided: .\" .IP "CHFN_AUTH (boolean)" -If -.IR yes , -the -.B chfn -and -.B chsh -programs will require authentication before making any changes, unless -run by the superuser. +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 -.I gecos -field of the -.I passwd -file may be changed by regular users using the -.B chfn -program. It can be any combination of letters -.IR f , -.IR r , -.IR w , -.IR 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. +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 +"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. .\" .IP "CREATE_HOME (boolean)" This defines whether useradd should create home directories for users by -default. This option is OR'ed with the -m flag on useradd command line. +default. This option is OR'ed with the \fI-m\fR flag on useradd command line. .\" .IP "GID_MAX (number)" .IP "GID_MIN (number)" -Range of group IDs to choose from for the -.B useradd -and -.B groupadd +Range of group IDs to choose from for the fBuseradd\fR and \fBgroupadd\fR programs. .\" .IP "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. +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. .\" .IP "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). +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). .IP "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 +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). .IP "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. +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. .PP PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE -are only used at the time of account creation. Any changes to these +are only used at the time of account creation. Any changes to these settings won't affect existing accounts. .\" .IP "UID_MAX (number)" .IP "UID_MIN (number)" -Range of user IDs to choose from for the -.B useradd -program. +Range of user IDs to choose from for the \fBuseradd\fR program. .\" .IP "UMASK (number)" -The permission mask is initialized to this value. If not specified, +The permission mask is initialized to this value. If not specified, the permission mask will be initialized to 077. .\" .IP "USERDEL_CMD (string)" @@ -160,10 +141,8 @@ MAIL_DIR .ad .SH BUGS Much of the functionality that used to be provided by the shadow password -suite is now handled by PAM. -Thus, -.I /etc/login.defs -is no longer used by programs such as +suite is now handled by PAM. Thus, \fI/etc/login.defs\fR is no longer used +by programs such as .BR login (1), .BR passwd (1) and diff --git a/man/logoutd.8 b/man/logoutd.8 index a6f9e777..3a548ba7 100644 --- a/man/logoutd.8 +++ b/man/logoutd.8 @@ -1,4 +1,4 @@ -.\"$Id: logoutd.8,v 1.7 2001/01/25 10:43:50 kloczek Exp $ +.\"$Id: logoutd.8,v 1.10 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,19 +31,16 @@ logoutd \- Enforce login time restrictions .SH SYNOPSIS .B logoutd .SH DESCRIPTION -.B logoutd -enforces the login time and port restrictions specified in -.IR /etc/porttime . -.B logoutd -should be started from \fI/etc/rc\fR. -The \fI/etc/utmp\fR file is scanned periodically and each user name +\fBlogoutd\fR enforces the login time and port restrictions specified in +\fI/etc/porttime\fR. \fBlogoutd\fR should be started from \fI/etc/rc\fR. +The \fI/var/run/utmp\fR 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 \fI/etc/porttime\fR is terminated. .SH FILES -/etc/porttime \- login and port permissions +\fI/etc/porttime\fR \ - login and port permissions .br -/etc/utmp \- current login sessions +\fI/var/run/utmp\fR \ - current login sessions .SH AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/mkpasswd.8 b/man/mkpasswd.8 index 2ec8fc3e..436e61fb 100644 --- a/man/mkpasswd.8 +++ b/man/mkpasswd.8 @@ -1,4 +1,4 @@ -.\"$Id: mkpasswd.8,v 1.8 2002/03/08 04:39:11 kloczek Exp $ +.\"$Id: mkpasswd.8,v 1.10 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,46 +31,41 @@ mkpasswd \- Update passwd and group database files .SH SYNOPSIS \fBmkpasswd\fR [\fB-fvgps\fR] \fIfile\fR .SH DESCRIPTION -.B 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 \fIfile\fR.dir and \fIfile\fR.pag. +\fBmkpasswd\fR 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 \fIfile\fR.dir and \fIfile\fR.pag. .PP The \fB-f\fR option causes \fBmkpasswd\fR to ignore any existing output -files and overwrite them. -Normally \fBmkpasswd\fR complains about existing output files and quits. +files and overwrite them. Normally \fBmkpasswd\fR complains about existing +output files and quits. .PP -The \fB-v\fR option causes \fBmkpasswd\fR to output information about -each record as it is converted, with a final message at the very end. +The \fB-v\fR option causes \fBmkpasswd\fR to output information about each +record as it is converted, with a final message at the very end. .PP The \fB-g\fR option treats the input file as though it were in -\fI/etc/group\fR file format. -When combined with the \fB-s\fR option, the \fI/etc/gshadow\fR file -format is used instead. +\fI/etc/group\fR file format. When combined with the \fB-s\fR option, the +\fI/etc/gshadow\fR file format is used instead. .PP The \fB-p\fR option treats the input file as though it were in -\fI/etc/passwd\fR file format. -This is the default. -When combined with the \fB-s\fR option, the \fI/etc/shadow\fR file -format is used instead. +\fI/etc/passwd\fR file format. This is the default. When combined with the +\fB-s\fR option, the \fI/etc/shadow\fR file format is used instead. .SH 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. +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. .SH 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. +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. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/shadow \- shadow user information +\fI/etc/shadow\fR \ - shadow user information .br -/etc/group \- group information +\fI/etc/group\fR \ - group information .br -/etc/gshadow \- shadow group information +\fI/etc/gshadow\fR \ - shadow group information .SH SEE ALSO .BR group (5), .BR passwd (5), diff --git a/man/newgrp.1 b/man/newgrp.1 index 12bdcc23..da737077 100644 --- a/man/newgrp.1 +++ b/man/newgrp.1 @@ -1,4 +1,4 @@ -.\"$Id: newgrp.1,v 1.12 2002/03/09 19:22:30 ankry Exp $ +.\"$Id: newgrp.1,v 1.14 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -36,10 +36,9 @@ sg \- execute command as different group ID \fBsg\fR [\fB-\fR] [\fIgroup\fR [[\fB-c\fR] \fIcommand\fR]] .SH DESCRIPTION \fBnewgrp\fR is used to change the current group ID during a login session. -If the optional \fB\-\fR flag is given, the user's environment -will be reinitialized as though the user had logged in, otherwise -the current environment, including current working directory, -remains unchanged. +If the optional \fB\-\fR flag is given, the user's environment will be +reinitialized as though the user had logged in, otherwise the current +environment, including current working directory, remains unchanged. .PP \fBnewgrp\fR changes the current real group ID to the named group, or to the default group listed in \fI/etc/passwd\fR if no group name is given. The @@ -49,16 +48,16 @@ password. The user will be denied access if the group password is empty and the user is not listed as a member. .PP The \fBsg\fR command works similiar to \fBnewgrp\fR but accepts a command. -The command will be executed with the Bourne shell. With most shells you +The command will be executed with the Bourne shell. With most shells you may run \fBsg\fR from, you need to enclose multi-word commands in quotes. Another difference between \fBnewgrp\fR and \fBsg\fR is that some shells -treat \fBnewgrp\fR specially, replacing themselves with a new instance of -a shell that \fBnewgrp\fR creates. This doesn't happen with \fBsg\fR, so -upon exit from a \fBsg\fR command you are returned to your previous group ID. +treat \fBnewgrp\fR specially, replacing themselves with a new instance of a +shell that \fBnewgrp\fR creates. This doesn't happen with \fBsg\fR, so upon +exit from a \fBsg\fR command you are returned to your previous group ID. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \- user account information .br -/etc/group \- group information +\fI/etc/group\fR \- group information .SH SEE ALSO .BR id (1), .BR login (1), diff --git a/man/newusers.8 b/man/newusers.8 index f0f875d5..c2d6f51c 100644 --- a/man/newusers.8 +++ b/man/newusers.8 @@ -1,4 +1,4 @@ -.\"$Id: newusers.8,v 1.10 2002/03/08 04:39:11 kloczek Exp $ +.\"$Id: newusers.8,v 1.11 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,29 +31,27 @@ .SH SYNOPSIS \fBnewusers\fR [\fInew_users\fR] .SH DESCRIPTION -\fBnewusers\fR reads a file of user name and cleartext 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 +\fBnewusers\fR reads a file of user name and cleartext 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 \fBpasswd\fR(5)) with the following exceptions. .IP "\fIpw_passwd\fR" 10 -This field will be encrypted and used as the new value -of the encrypted password. +This field will be encrypted and used as the new value of the encrypted +password. .IP "\fIpw_age\fR" -This field will be ignored for shadow passwords if the user already -exists. +This field will be ignored for shadow passwords if the user already exists. .IP "\fIpw_gid\fR" -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. +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. .IP "\fIpw_dir\fR" -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 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. .PP -This command is intended to be used in a large system environment where -many accounts are updated at a single time. +This command is intended to be used in a large system environment where many +accounts are updated at a single time. .SH CAVEATS The input file must be protected since it contains unencrypted passwords. .SH SEE ALSO diff --git a/man/passwd.1 b/man/passwd.1 index 870cdf8e..14baec92 100644 --- a/man/passwd.1 +++ b/man/passwd.1 @@ -1,4 +1,4 @@ -.\"$Id: passwd.1,v 1.13 2002/03/09 19:22:30 ankry Exp $ +.\"$Id: passwd.1,v 1.16 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -38,35 +38,30 @@ passwd \- change user password .br \fBpasswd\fR {\fB-l\fR|\fB-u\fR|\fB-d\fR|\fB-S\fR|\fB-e\fR} \fIlogin\fR .SH DESCRIPTION -\fBpasswd\fR 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. -\fBpasswd\fR also changes account information, such as the full name -of the user, user's login shell, or password expiry date and interval. +\fBpasswd\fR 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. \fBpasswd\fR also changes account information, +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 passwd call chsh to change the user's shell. The \fB-f\fR 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. .SS 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. +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. .PP -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, \fBpasswd\fR refuses to change the password and exits. +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, +\fBpasswd\fR refuses to change the password and exits. .PP -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: +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: .IP "" .5i Lower case alphabetics .IP "" .5i @@ -76,44 +71,35 @@ Digits 0 thru 9 .IP "" .5i Punctuation marks .PP -Care must be taken not to include the system default erase -or kill characters. -\fBpasswd\fR will reject any password which is not suitably +Care must be taken not to include the system default erase or kill +characters. \fBpasswd\fR will reject any password which is not suitably complex. .PP -If the password is accepted, -\fBpasswd\fR 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. +If the password is accepted, \fBpasswd\fR 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. .SS Group passwords -When the \fB-g\fR 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 \fB-r\fR option is used with the \fB-g\fR option to remove -the current password from the named group. -This allows group access to all members. -The \fB-R\fR option is used with the \fB-g\fR option to restrict -the named group for all users. +When the \fB-g\fR 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 +\fB-r\fR option is used with the \fB-g\fR option to remove the current +password from the named group. This allows group access to all members. The +\fB-R\fR option is used with the \fB-g\fR option to restrict the named group +for all users. + .SS Password expiry information -The password aging information may be changed by the super -user with the \fB-x\fR, \fB-n\fR, \fB-w\fR, and \fB-i\fR options. -The \fB-x\fR option is used to set the maximum number of days -a password remains valid. -After \fImax\fR days, the password is required to be changed. -The \fB-n\fR 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 -\fImin\fR days have elapsed. -The \fB-w\fR option is used to set the number of days of warning -the user will receive before his/her password will expire. -The warning occurs \fIwarn\fR days before the expiration, telling -the user how many days remain until the password is set to expire. -The \fB-i\fR 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 \fIinact\fR +The password aging information may be changed by the super user with the +\fB-x\fR, \fB-n\fR, \fB-w\fR, and \fB-i\fR options. The \fB-x\fR option is +used to set the maximum number of days a password remains valid. After +\fImax\fR days, the password is required to be changed. The \fB-n\fR 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 \fImin\fR days +have elapsed. The \fB-w\fR option is used to set the number of days of +warning the user will receive before his/her password will expire. The +warning occurs \fIwarn\fR days before the expiration, telling the user how +many days remain until the password is set to expire. The \fB-i\fR 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 \fIinact\fR days, the user may no longer sign on to the account. .PP If you wish to immediately expire an account's password, you can use the @@ -123,20 +109,17 @@ 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. .SS Account maintenance -User accounts may be locked and unlocked with the \fB-l\fR and -\fB-u\fR flags. -The \fB-l\fR option disables an account by changing the password to a -value which matches no possible encrypted value. -The \fB-u\fR option re-enables an account by changing the password -back to its previous value. +User accounts may be locked and unlocked with the \fB-l\fR and fB-u\fR +\flags. The \fB-l\fR option disables an account by changing the password to +a value which matches no possible encrypted value. The \fB-u\fR option +re-enables an account by changing the password back to its previous value. .PP -The account status may be given with the \fB-S\fR option. -The status information consists of 6 parts. -The first part indicates if the user account is locked (L), has no -password (NP), or has a usable password (P). -The second part gives the date of the last password change. -The next four parts are the minimum age, maximum age, warning period, -and inactivity period for the password. +The account status may be given with the \fB-S\fR option. The status +information consists of 6 parts. The first part indicates if the user +account is locked (L), has no password (NP), or has a usable password (P). +The second part gives the date of the last password change. The next four +parts are the minimum age, maximum age, warning period, and inactivity +period for the password. .SS Hints for user passwords The security of a password depends upon the strength of the encryption algorithm and the size of the key space. @@ -170,15 +153,13 @@ which produces .IP "" .5i An4wtbt. .PP -You may be reasonably sure few crackers will have -included this in their dictionaries. -You should, however, select your own methods for constructing +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. .SS 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. +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. .SH CAVEATS Not all options may be supported. Password complexity checking may vary from site to site. @@ -187,9 +168,25 @@ 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. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \- user account information .br -/etc/shadow \- encrypted user passwords +\fI/etc/shadow\fR \- encrypted user passwords +.SH EXIT VALUES +.TP 2 +The \fBpasswd\fR command exits with the following values: +\fB0\fR \- success +.br +\fB1\fR \- permission denied +.br +\fB2\fR \- invalid combination of options +.br +\fB3\fR \- unexpected failure, nothing done +.br +\fB4\fR \- unexpected failure, passwd file missing +.br +\fB5\fR \- passwd file busy, try again later +.br +\fB6\fR \- invalid argument to option .SH "SEE ALSO" .BR group (5), .BR passwd (5) diff --git a/man/passwd.5 b/man/passwd.5 index c76c609d..3d0f01b4 100644 --- a/man/passwd.5 +++ b/man/passwd.5 @@ -1,4 +1,4 @@ -.\"$Id: passwd.5,v 1.8 2002/03/08 04:39:11 kloczek Exp $ +.\"$Id: passwd.5,v 1.11 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -29,9 +29,8 @@ .SH NAME passwd \- The password file .SH DESCRIPTION -.I passwd -contains various pieces of information for each user account. -Included is +\fI\etc\passwd\fR contains various pieces of information for each user +account. Included is: .IP "" .5i Login name .IP "" .5i @@ -47,33 +46,16 @@ User home directory .IP "" .5i User command interpreter .PP -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 \fI/etc/shadow\fR. -The encryped password consists of 13 characters from the -64 character alphabet -a thru z, A thru Z, 0 thru 9, \. and /. -Refer to \fBcrypt\fR(3) for details on how this string is -interpreted. -.PP -An optional password age string may follow the encrypted -password, separated by a comma, from the same alphabet -as the password itself. -The first character gives the number of weeks during which the -password is valid. -The second character gives the number of weeks which must pass -before the user is permitted to change the password. -The last two characters give the week since Jan 1970 when the -password was last changed. -When the number of weeks during which the password is valid -have passed, the user will be required to provide a new -password. +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 +\fI/etc/shadow\fR. The encryped password consists of 13 characters from the +64 character alphabet a thru z, A thru Z, 0 thru 9, \. and /. Refer to +\fBcrypt\fR(3) for details on how this string is interpreted. .PP The comment field is used by various system utilities, such as -\fBfinger\fR(1). -Three additional values may be present in the comment field. -They are +\fBfinger\fR(1). Three additional values may be present in the comment +field. +They are: .IP "" .5i pri= \- set initial value of nice .IP "" .5i @@ -81,22 +63,20 @@ umask= \- set initial value of umask .IP "" .5i ulimit= \- set initial value of ulimit .PP -These fields are separated from each other and from any other -comment field by a comma. +These fields are separated from each other and from any other comment field +by a comma. .PP -The home directory field provides the name of the initial -working directory. +The home directory field provides the name of the initial working directory. \fBLogin\fR uses this information to set the value of the \fBHOME\fR environmental variable. .PP -The command interpreter field provides the name of the user's -command language interpreter, or the name of the initial program -to execute. +The command interpreter field provides the name of the user's command +language interpreter, or the name of the initial program to execute. \fBLogin\fR uses this information to set the value of the \fBSHELL\fR environmental variable. If this field is empty, it defaults to the value \fB/bin/sh\fR. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .SH SEE ALSO .BR login (1), .BR passwd (1), diff --git a/man/pl/Makefile.am b/man/pl/Makefile.am index 0690595b..3c668a14 100644 --- a/man/pl/Makefile.am +++ b/man/pl/Makefile.am @@ -7,7 +7,6 @@ man_MANS = \ chfn.1 \ chpasswd.8 \ chsh.1 \ - d_passwd.5 \ expiry.1 \ faillog.5 \ faillog.8 \ @@ -15,6 +14,7 @@ man_MANS = \ groupadd.8 \ groupdel.8 \ groupmod.8 \ + groups.1 \ grpck.8 \ grpconv.8 \ grpunconv.8 \ @@ -44,12 +44,8 @@ man_MANS = \ vipw.8 EXTRA_DIST = $(man_MANS) \ - dialups.5 \ - dpasswd.8 \ - groups.1 \ id.1 \ pw_auth.3 \ - pwauth.8 \ shadow.3 \ shadowconfig.8 \ sulogin.8 diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in index fdbf4e38..3e7cdd8f 100644 --- a/man/pl/Makefile.in +++ b/man/pl/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,100 +14,144 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/pl +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ adduser.8 \ @@ -114,7 +159,6 @@ man_MANS = \ chfn.1 \ chpasswd.8 \ chsh.1 \ - d_passwd.5 \ expiry.1 \ faillog.5 \ faillog.8 \ @@ -122,6 +166,7 @@ man_MANS = \ groupadd.8 \ groupdel.8 \ groupmod.8 \ + groups.1 \ grpck.8 \ grpconv.8 \ grpunconv.8 \ @@ -152,17 +197,14 @@ man_MANS = \ EXTRA_DIST = $(man_MANS) \ - dialups.5 \ - dpasswd.8 \ - groups.1 \ id.1 \ pw_auth.3 \ - pwauth.8 \ shadow.3 \ shadowconfig.8 \ sulogin.8 subdir = man/pl +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -170,10 +212,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/pl/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -183,13 +230,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/pl/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -207,6 +247,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -224,6 +268,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -246,6 +294,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -263,6 +315,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -285,6 +341,10 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -302,6 +362,10 @@ uninstall-man8: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -311,6 +375,8 @@ uninstall-man8: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -318,15 +384,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -339,7 +416,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -351,6 +427,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -358,7 +435,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -368,7 +445,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -390,13 +467,21 @@ install-man: install-man1 install-man5 install-man8 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @@ -408,9 +493,9 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 install-info-am install-man install-man1 install-man5 \ install-man8 install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool uninstall \ - uninstall-am uninstall-info-am uninstall-man uninstall-man1 \ - uninstall-man5 uninstall-man8 + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man5 uninstall-man8 # 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. diff --git a/man/pl/chage.1 b/man/pl/chage.1 index 309b3e39..c3ac73c0 100644 --- a/man/pl/chage.1 +++ b/man/pl/chage.1 @@ -1,4 +1,4 @@ -.\" $Id: chage.1,v 1.5 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: chage.1,v 1.7 2003/05/06 22:55:11 kloczek Exp $ .\" {PTM/WK/1999-09-16} .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. @@ -46,40 +46,38 @@ u Polecenia \fBchage\fR mo¿e u¿yæ tylko u¿ytkownik root, za wyj±tkiem opcji \fB-l\fR. Mo¿e siê ni± pos³u¿yæ siê u¿ytkownik nieuprzywilejowany do stwierdzenia, kiedy wygasa jego w³asne has³o lub konto. -.PP -Opcja \fB-m\fR ustawia minimaln± liczbê dni pomiêdzy zmianami has³a na warto¶æ -\fImindni\fR. Warto¶æ zerowa oznacza, ¿e u¿ytkownik mo¿e je zmieniaæ -w dowolnym czasie. -.PP -Opcja \fB-M\fR ustawia maksymaln± liczbê dni, przez jakie has³o jest wa¿ne -na warto¶æ \fImaxdni\fR. -Gdy \fImaxdni\fR plus \fIostatni\fR jest mniejsze ni¿ bie¿±cy dzieñ, -u¿ytkownik musi zmieniæ swoje has³a, zanim bêdzie móg³ skorzystaæ z konta. -Zdarzenie to mo¿e byæ zaplanowane z wyprzedzeniem przez wykorzystanie -opcji \fB-W\fR, ostrzegaj±cej zawczasu u¿ytkownika o zbli¿aj±cym siê terminie -zmiany. -.PP -Opcja \fB-d\fR ustawia liczbê dni od 1 stycznia 1970 do dnia kiedy ostatnio -zmieniono has³o na \fIostatni\fR. Data mo¿e równie¿ zostaæ podana w postaci -RRRR-MM-DD (lub postaci powszechniej u¿ywanej w danym regionie). -.PP -Opcja \fB-E\fR s³u¿y do ustawiania daty, pocz±wszy od której konto u¿ytkownika -nie bêdzie ju¿ dostêpne. +Polecenie \fBchage\fR posiada nastêpuj±ce opcje: +.IP "\fB-m\fR \fImindni\fR" +Utawia minimaln± liczbê dni pomiêdzy zmianami has³a na warto¶æ fImindni\fR. +Warto¶æ zerowa oznacza, ¿e u¿ytkownik mo¿e je zmieniaæ w dowolnym czasie. +.IP "\fB-M\fR \fImaxdni\fR" +Ustawia maksymaln± liczbê dni, przez jakie has³o jest wa¿ne na warto¶æ +\fImaxdni\fR. Gdy \fImaxdni\fR plus \fIostatni\fR jest mniejsze ni¿ bie¿±cy +dzieñ, u¿ytkownik musi zmieniæ swoje has³a, zanim bêdzie móg³ skorzystaæ z +konta. Zdarzenie to mo¿e byæ zaplanowane z wyprzedzeniem przez wykorzystanie +opcji \fB-W\fR, ostrzegaj±cej zawczasu u¿ytkownika o zbli¿aj±cym siê +terminie zmiany. +.IP "\fB-M\fR \fIostatni\fR" +Ustawia liczbê dni od 1 stycznia 1970 do dnia kiedy ostatnio zmieniono has³o +na \fIostatni\fR. Data mo¿e równie¿ zostaæ podana w postaci RRRR-MM-DD (lub +postaci powszechniej u¿ywanej w danym regionie). +.IP "\fB-E\fR \fIdata_wa¿no¶ci\fR" +Ustawia datê, pocz±wszy od której konto u¿ytkownika nie bêdzie ju¿ dostêpne. \fIdata_wa¿no¶ci\fR jest liczb± dni od 1 stycznia 1970, od której konto jest blokowane. Data mo¿e byæ te¿ wyra¿ona w postaci RRRR-MM-DD (lub innej, powszechniej u¿ywanej w danym regionie). U¿ytkownik, którego konto jest zablokowane musi skontaktowaæ siê z administratorem systemu zanim bêdzie móg³ z niego ponownie skorzystaæ. -.PP +.IP "\fB-I\fR \fInieaktywne\fR" Opcja \fB-I\fR s³u¿y do ustawiania czasu nieaktywno¶ci po wyga¶niêciu has³a, po którym konto jest blokowane. Parametr \fInieaktywne\fR podaje liczbê dni nieaktywno¶ci. Warto¶æ 0 wy³±cza tê funkcjê. U¿ytkownik, którego konto jest zablokowane musi skontaktowaæ siê z administratorem systemu zanim bêdzie móg³ z niego ponownie skorzystaæ. -.PP -Opcja \fB-W\fR s³u¿y do ustawiania ostrzegania przed wymagan± zmian± has³a. -Parametr \fIdni_ostrzegania\fR jest liczb± dni przed up³ywem wa¿no¶ci has³a; -od tego dnia u¿ytkownik bêdzie ostrzegany o nadchodz±cym terminie. +.IP "\fB-W\fR \fIdni_ostrzegania\fR" +Ustawia na \fIdni_ostrzegania\fR liczbê dni przed up³ywem wa¿no¶ci has³a. +Od tego dnia u¿ytkownik bêdzie ostrzegany o nadchodz±cym terminie zmiany +has³a. .PP Je¶li nie podano ¿adnej opcji, to \fBchage\fR dzia³a w trybie interaktywnym, proponuj±c u¿ytkownikowi warto¶ci bie¿±ce dla ka¿dego z pól. Wprowadzenie @@ -91,9 +89,9 @@ Program \fBchage\fR wymaga do dzia (shadow). Je¶li has³a u¿ytkowników s± przechowywane w pliku passwd, funkcjonalno¶æ programu \fBchage\fR jest niedostêpna. .SH PLIKI -/etc/passwd \- informacje o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacje o kontach u¿ytkowników .br -/etc/shadow \- chronione informacje o kontach u¿ytkowników +\fI/etc/shadow\fR \- chronione informacje o kontach u¿ytkowników .SH ZOBACZ TAK¯E .BR passwd (5), .BR shadow (5) diff --git a/man/pl/chfn.1 b/man/pl/chfn.1 index b49423f1..57bae15e 100644 --- a/man/pl/chfn.1 +++ b/man/pl/chfn.1 @@ -1,4 +1,4 @@ -.\" $Id: chfn.1,v 1.6 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: chfn.1,v 1.7 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-25} .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. @@ -58,7 +58,7 @@ Bie Je¶li nie podano ¿adnej opcji, \fBchfn\fR pyta o konto u¿ytkownika, które ma podlegaæ zmianie. .SH PLIKI -/etc/passwd \- informacja o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .SH ZOBACZ TAK¯E .BR passwd (5) .SH AUTOR diff --git a/man/pl/chsh.1 b/man/pl/chsh.1 index 8d2d60a1..e1db81ba 100644 --- a/man/pl/chsh.1 +++ b/man/pl/chsh.1 @@ -1,4 +1,4 @@ -.\" $Id: chsh.1,v 1.6 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: chsh.1,v 1.7 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-25} .\" Copyright 1990, Julianne Frances Haugh .\" All rights reserved. @@ -53,9 +53,9 @@ proponuj warto¶ci powoduje zmianê pow³oki, a podanie warto¶ci pustej pozostawia bie¿±c± pow³okê. Bie¿±ca pow³oka wy¶wietlana jest w nawiasach \fB[ ]\fR. .SH PLIKI -/etc/passwd \- informacja o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -/etc/shells \- lista dozwolonych pow³ok zg³oszeniowych +\fI/etc/shells\fR \- lista dozwolonych pow³ok zg³oszeniowych .SH ZOBACZ TAK¯E .BR chfn (1), .BR passwd (5) diff --git a/man/pl/d_passwd.5 b/man/pl/d_passwd.5 deleted file mode 100644 index 842b88f6..00000000 --- a/man/pl/d_passwd.5 +++ /dev/null @@ -1,29 +0,0 @@ -.\" $Id: d_passwd.5,v 1.2 2001/01/25 10:43:54 kloczek Exp $ -.\" {PTM/WK/1999-09-22} -.TH D_PASSWD 5 -.SH NAZWA -d_passwd - plik hase³ telefonicznych -.SH OPIS -Z dostêpem do systemu przez liniê telefoniczn± zwi±zane s± dwa pliki -konfiguracyjne: \fI/etc/d_passwd\fR, zawieraj±cy has³a i \fI/etc/dialups\fR, -zawieraj±cy linie. -Ka¿dorazowo, zanim u¿ytkownik ³±cz±cy siê za po¶rednictwem modemu otrzyma -dostêp do systemu, musi podaæ has³o telefoniczne. Has³a te s± niezale¿ne -od hase³ u¿ytkowników i przypisane nie do u¿ytkownika, ani linii terminalowej, -lecz do pow³oki zg³oszeniowej u¿ytkownika. -Do rozpoczêcia sesji wymagane jest zarówno has³o u¿ytkownika jak -i telefoniczne. Zauwa¿ jednak, ¿e has³a telefoniczne nie posiadaj± kontroli -terminu wa¿no¶ci. Nale¿y, po uzgodnieniu, okresowo zmieniaæ je rêcznie. -W pliku \fId_passwd\fR kolejne wiersze definiuj± has³a dla rozmaitych pow³ok: -.br -.sp 1 - pow³oka:zakodowane_has³o: -.br -.sp 1 -Zauwa¿, ¿e po polu has³a wystêpuje dwukropek. Pow³oka powinna byæ -okre¶lona przez bezwzglêdn± nazwê ¶cie¿kow± pliku interpretatora poleceñ. -Do zarz±dzania has³ami telefonicznymi s³u¿y polecenie \fBdpasswd\fR (1). -.SH ZOBACZ TAK¯E -.BR dpasswd (1), -.BR login (1), -.BR dialups (5). diff --git a/man/pl/dialups.5 b/man/pl/dialups.5 deleted file mode 100644 index 7b36df4b..00000000 --- a/man/pl/dialups.5 +++ /dev/null @@ -1,23 +0,0 @@ -.\" $Id: dialups.5,v 1.2 2001/01/25 10:43:54 kloczek Exp $ -.\" {PTM/WK/1999-09-22} -.TH DIALUPS -.SH NAZWA -dialups - plik terminalowych linii telefonicznych -.SH OPIS -Z dostêpem do systemu przez liniê telefoniczn± zwi±zane s± dwa pliki -konfiguracyjne: \fI/etc/d_passwd\fR, zawieraj±cy has³a i \fI/etc/dialups\fR, -zawieraj±cy linie. W ka¿dym wierszu pliku \fIdialups\fR zawarta jest nazwa -pliku specjalnego linii terminalowej, do której pod³±czony jest modem: -.br -.sp 1 - /dev/tty12 - /dev/tty13 -.br -.sp 1 -Warto jest uj±æ w nim \fBwszystkie\fR linie z dostêpem modemowym. -Po³±czenie z linii pominiêtej nie bêdzie dodatkowo weryfikowane - u¿ytkownicy -³±cz±cy siê ni± nie bêd± musieli podawaæ has³a telefonicznego. -.SH ZOBACZ TAK¯E -.BR dpasswd (1), -.BR login (1), -.BR d_passwd (5). diff --git a/man/pl/expiry.1 b/man/pl/expiry.1 index 7b42aa08..236b4c75 100644 --- a/man/pl/expiry.1 +++ b/man/pl/expiry.1 @@ -1,4 +1,4 @@ -.\" $Id: expiry.1,v 1.2 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: expiry.1,v 1.3 2003/04/26 13:24:15 kloczek Exp $ .\" Copyright 1990 - 1994 Julianne Frances Haugh .\" All rights reserved. .\" Modified for expiry by Ben Collins , 1999 @@ -38,9 +38,9 @@ expiry \- sprawdzenie wa (\fB-f\fR) jego zmianê, je¶li potrzeba. Mo¿e ono byæ wywo³ywane jako zwyk³e polecenie przez u¿ytkownika. .SH PLIKI -/etc/passwd \- informacje o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacje o kontach u¿ytkowników .br -/etc/shadow \- chronione informacje o kontach u¿ytkowników +\fI/etc/shadow\fR \- chronione informacje o kontach u¿ytkowników .SH "ZOBACZ TAK¯E" .BR passwd (5), .BR shadow (5) diff --git a/man/pl/faillog.5 b/man/pl/faillog.5 index 483b72b5..e310a385 100644 --- a/man/pl/faillog.5 +++ b/man/pl/faillog.5 @@ -1,4 +1,4 @@ -.\"$Id: faillog.5,v 1.4 2001/01/27 02:55:54 kloczek Exp $ +.\"$Id: faillog.5,v 1.5 2003/01/07 14:25:35 kloczek Exp $ .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" Translation (c) 1998 "Gwidon S. Naskrent" .\" All rights reserved. @@ -34,8 +34,8 @@ faillog \- plik rejestruj konta. Plik ten sk³ada siê z rekordów o sta³ej d³ugo¶ci, indeksowanych liczbowym UID. Ka¿dy rekord zawiera licznik nieudanych zalogowañ od ostatniego pomy¶lnego logowania, maksymaln± liczbê pomy³ek przed -zablokowaniem konta, konsolê na której nast±pi³o ostatnie nieudane -logowanie, oraz datê tego¿. +zablokowaniem konta, terminal na którym nast±pi³o ostatnie nieudane +logowanie, oraz datê tego¿ logowania. .PP Struktura tego pliku to .DS diff --git a/man/pl/gpasswd.1 b/man/pl/gpasswd.1 index a772be95..87dce071 100644 --- a/man/pl/gpasswd.1 +++ b/man/pl/gpasswd.1 @@ -1,4 +1,4 @@ -.\" $Id: gpasswd.1,v 1.4 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: gpasswd.1,v 1.5 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-16} .\" Copyright 1996, Rafal Maszkowski .\" All rights reserved. You can redistribute this man page and/or @@ -24,7 +24,7 @@ gpasswd \- administracja plikiem /etc/group \fBgpasswd\fR [\fB-A \fIu¿ytkownik\fR,...] [\fB-M \fIu¿ytkownik\fR,...] \fIgrupa\fR .SH OPIS \fBgpasswd\fR s³u¿y do administrowania plikiem /etc/group (oraz -/etc/gshadow je¶li zosta³a wykonana kompilacja ze zdefiniowanym +\fI/etc/gshadow\fR je¶li zosta³a wykonana kompilacja ze zdefiniowanym SHADOWGRP). Ka¿da z grup mo¿e posiadaæ administratorów, cz³onków i has³o. Administrator systemu mo¿e pos³u¿yæ siê opcj± \fB-A\fR do zdefiniowania administratora(-ów) grupy oraz opcj± \fB-M\fR do zdefiniowania jej cz³onków. @@ -46,9 +46,9 @@ Je bez has³a, inni musz± natomiast podaæ has³o. .SH PLIKI -/etc/group \- informacja o grupach +\fI/etc/group\fR \- informacja o grupach .br -/etc/gshadow \- chroniona informacja o grupach +\fI/etc/gshadow\fR \- chroniona informacja o grupach .SH ZOBACZ TAK¯E .BR newgrp (1), .BR groupadd (8), diff --git a/man/pl/groupadd.8 b/man/pl/groupadd.8 index ec8afaa3..ecf43b5a 100644 --- a/man/pl/groupadd.8 +++ b/man/pl/groupadd.8 @@ -1,4 +1,4 @@ -.\" $Id: groupadd.8,v 1.6 2002/03/09 11:16:18 ankry Exp $ +.\" $Id: groupadd.8,v 1.9 2004/01/05 01:08:32 kloczek Exp $ .\" {PTM/WK/0.1/VIII-1999} .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. @@ -30,12 +30,12 @@ .SH NAZWA groupadd - twórz now± grupê .SH SK£ADNIA -\fBgroupadd\fR [\fB-g\fR \fIgid\fR [\fB-o\fR]] \fIgrupa\fR +\fBgroupadd\fR [\fB-g\fR \fIgid\fR [\fB-o\fR]] [\fB-f\fR] \fIgrupa\fR .SH OPIS Polecenie \fBgroupadd\fR tworzy nowe konto grupy pos³uguj±c siê warto¶ciami podanymi w wierszu poleceñ i domy¶lnymi warto¶ciami z systemu. W razie potrzeby zostanie wprowadzona do systemu nowa grupa. -Polecenie \fBgroupadd\fR posiada opcje: +Polecenie \fBgroupadd\fR posiada nastêpuj±ce opcje: .TP .BI -g " gid" Numeryczna warto¶æ identyfikatora grupy. Warto¶æ ta musi byæ niepowtarzalna, @@ -43,10 +43,30 @@ chyba u¿ywana jest najmniejsza warto¶æ identyfikatora wiêksza ni¿ 99 a wiêksza ni¿ jakiejkolwiek innej grupy. Warto¶ci miêdzy 0 a 99 s± zwykle zarezerwowane dla kont systemowych. +.TP +.BI -f +Ta opcja powoduje zakoñczenie programu ze statusem oznaczaj±cym sukces je¶li +podana groupa ju¿ istnieje. Z opcj± \fB-g\fR, je¶li podany gid ju¿ istnieje, +wybierany jest inny (unikalny) gid (czyli \fB-g\fR jest wy³±czane). .SH PLIKI -.IR /etc/group " - informacja o kontach grup" +\fI/etc/group\fR \- informacja o kontach grup .br -.IR /etc/gshadow " - bezpieczna informacja o kontach grup" +\fI/etc/gshadow\fR \- bezpieczna informacja o kontach grup +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBgroupadd\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB2\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB3\fR \- niew³a¶ciwe parametry opcji +.br +\fB4\fR \- uid jest ju¿ u¿ywany (i nie u¿yto opcji -o) +.br +\fB9\fR \- nazwa groupy nie jest unikalna +.br +\fB10\fR \- niemo¿liwa aktualizacja plików grup .SH ZOBACZ TAK¯E .BR chfn (1), .BR chsh (1), @@ -58,8 +78,3 @@ Warto .BR usermod (8), .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) -.SH OD T£UMACZA -Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu shadow. -Istnieje wiele programów i skryptów do zarz±dzania kontami u¿ytkowników czy -grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz -z w³a¶ciwej dokumentacji. diff --git a/man/pl/groupdel.8 b/man/pl/groupdel.8 index b9a34266..27f11725 100644 --- a/man/pl/groupdel.8 +++ b/man/pl/groupdel.8 @@ -1,4 +1,4 @@ -.\" $Id: groupdel.8,v 1.6 2002/03/09 11:16:18 ankry Exp $ +.\" $Id: groupdel.8,v 1.7 2003/04/28 17:52:15 kloczek Exp $ .\" {PTM/WK/0.1/VIII-1999} .\" Copyright 1991 - 1993, Julianne Frances Haugh .\" All rights reserved. @@ -42,10 +42,22 @@ nie pozosta Nie mo¿esz usun±æ podstawowej grupy ¿adnego z istniej±cych u¿ytkowników. Musisz usun±æ u¿ytkownika przed usuniêciem takiej grupy. .SH PLIKI -.IR /etc/group " - informacja o grupach" +\fI/etc/group\fR \- informacja o grupach .br -.IR /etc/gshadow " - bezpieczna informacja o grupach" -.\" secure group information +\fI/etc/gshadow\fR \- bezpieczna informacja o grupach +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBgroupdel\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB2\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB6\fR \- podana grupa nie istnieje +.br +\fB8\fR \- nie mo¿na usun±æ grupy podstawowej u¿ytykownika +.br +\fB10\fR \- nie mo¿na zaktualizowaæ pliku z grupami .SH ZOBACZ TAK¯E .BR chfn (1), .BR chsh (1), @@ -57,8 +69,3 @@ Musisz usun .BR usermod (8) .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) -.SH OD T£UMACZA -Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu shadow. -Istnieje wiele programów i skryptów do zarz±dzania kontami u¿ytkowników czy -grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz -z w³a¶ciwej dokumentacji. diff --git a/man/pl/groupmod.8 b/man/pl/groupmod.8 index 761af13d..ff382698 100644 --- a/man/pl/groupmod.8 +++ b/man/pl/groupmod.8 @@ -1,4 +1,4 @@ -.\" $Id: groupmod.8,v 1.6 2002/03/09 11:16:18 ankry Exp $ +.\" $Id: groupmod.8,v 1.7 2003/04/28 17:52:15 kloczek Exp $ .\" {PTM/WK/0.1/VIII-1999} .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. @@ -48,9 +48,26 @@ grupy pliku, wymagaj .BI -n " nazwa_grupy" Nazwa grupy zostanie zmieniona z \fIgrupa\fR na \fInazwa_grupy\fR. .SH PLIKI -.IR /etc/group " - informacja o grupach" +\fI/etc/group\fR \- informacja o grupach .br -.IR /etc/gshadow " - bezpieczna informacja o grupach" +\fI/etc/gshadow\fI \- bezpieczna informacja o grupach +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBgroupmod\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB2\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB3\fR \- niew³a¶ciwe parametry opcji +.br +\fB4\fR \- gid jest ju¿ u¿ywany (i nie u¿yto opcji -o) +.br +\fB6\fR \- podana grupa nie istnieje +.br +\fB9\fR \- grupa jest ju¿ u¿ywana +.br +\fB10\fR \- niemo¿liwa aktualizacja plików grup .SH ZOBACZ TAK¯E .BR chfn (1), .BR chsh (1), @@ -62,8 +79,3 @@ Nazwa grupy zostanie zmieniona z \fIgrupa\fR na \fInazwa_grupy\fR. .BR usermod (8) .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) -.SH OD T£UMACZA -Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu shadow. -Istnieje wiele programów i skryptów do zarz±dzania kontami u¿ytkowników czy -grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz -z w³a¶ciwej dokumentacji. diff --git a/man/pl/groups.1 b/man/pl/groups.1 index 5b59938c..b46d1db9 100644 --- a/man/pl/groups.1 +++ b/man/pl/groups.1 @@ -1,4 +1,4 @@ -.\" $Id: groups.1,v 1.7 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: groups.1,v 1.8 2003/04/26 13:24:15 kloczek Exp $ .\" {PRM/WK/1999-09-25} .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. @@ -44,7 +44,7 @@ informacj Do zmiany bie¿±cego rzeczywistego i efektywnego identyfikatora grupy u¿ytkownik musi u¿yæ polecenia \fBnewgrp\fR lub \fBsg\fR. .SH PLIKI -/etc/group \- informacja o grupach +\fI/etc/group\fR \- informacja o grupach .SH ZOBACZ TAK¯E .BR newgrp (1), .BR getgid (2), diff --git a/man/pl/grpck.8 b/man/pl/grpck.8 index afd08aed..112547ff 100644 --- a/man/pl/grpck.8 +++ b/man/pl/grpck.8 @@ -1,4 +1,4 @@ -.\" $Id: grpck.8,v 1.6 2002/03/09 11:16:18 ankry Exp $ +.\" $Id: grpck.8,v 1.7 2003/04/28 17:52:15 kloczek Exp $ .\" {PTM/WK/1999-09-17} .\" Copyright 1992 - 1993, Julianne Frances Haugh .\" All rights reserved. @@ -39,7 +39,7 @@ i poprawne dane w ka pozycji, które s± sformatowane niepoprawnie lub posiadaj± inne nie daj±ce siê skorygowaæ b³êdy. .P -Kontrolowane jest czy ka¿da pozycja posiada +Kontrolowane jest czy ka¿da pozycja posiada: .sp .in +.5i - w³a¶ciw± liczbê pól @@ -75,29 +75,31 @@ u oraz \fI/etc/gshadow\fR wed³ug GID. By w³±czyæ tryb sortowania nale¿y przekazaæ opcjê \fB-s\fR. Nie s± wtedy przeprowadzane ¿adne kontrole, tylko sortowanie. .SH PLIKI -.IR /etc/group " - informacja o kontach grup" +\fI/etc/group\fR \- informacja o kontach grup .br -.IR /etc/gshadow " - zakodowana informacja o has³ach i administratorach grup" +\fI/etc/gshadow\fR \- zakodowana informacja o has³ach i administratorach grup +.br +\fI/etc/passwd\fR \-informacja o u¿ytkownikach +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBgrpck\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB1\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB2\fR \- jedna lub wiêcej z³ych pozycji pliku grup +.br +\fB3\fR \- niemo¿liwe otwarcie plików grup +.br +\fB4\fR \- niemo¿liwa blokada plików grup +.br +\fB5\fR \- niemo¿liwa aktualizacja plików grup .br -.IR /etc/passwd " -informacja o u¿ytkownikach" .SH ZOBACZ TAK¯E .BR group (5), .BR passwd (5), .BR shadow (5), .BR groupmod (8) -.SH DIAGNOSTYKA -Polecenie \fBgrpck\fR koñczy pracê z nastêpuj±cymi warto¶ciami kodów: -.IP 0 5 -Powodzenie -.IP 1 5 -B³±d sk³adni -.IP 2 5 -Jedna lub wiêcej z³ych pozycji pliku grup -.IP 3 5 -Niemo¿liwe otwarcie plików grup -.IP 4 5 -Niemo¿liwa blokada plików grup -.IP 5 5 -Niemo¿liwa aktualizacja plików grup .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pl/id.1 b/man/pl/id.1 index 97b4281a..93eaed0e 100644 --- a/man/pl/id.1 +++ b/man/pl/id.1 @@ -1,4 +1,4 @@ -.\" $Id: id.1,v 1.7 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: id.1,v 1.8 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-25} .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. @@ -40,9 +40,9 @@ lub \fI/etc/group\fR, to zostanie wy U¿yvie opcji \fB-a\fR powoduje wy¶wietlenie zestaw grup w systemach, które obs³uguj± równoczesne cz³onkostwo w wielu grupach. .SH PLIKI -/etc/passwd \- informacja o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -/etc/group \- informacja o grupach +\fI/etc/group\fR \- informacja o grupach .SH ZOBACZ TAK¯E .BR getgid (2), .BR getgroups (2), diff --git a/man/pl/lastlog.8 b/man/pl/lastlog.8 index e42b35b2..f04fe210 100644 --- a/man/pl/lastlog.8 +++ b/man/pl/lastlog.8 @@ -1,4 +1,4 @@ -.\" $Id: lastlog.8,v 1.5 2001/01/27 02:55:54 kloczek Exp $ +.\" $Id: lastlog.8,v 1.8 2003/04/28 06:38:54 kloczek Exp $ .\" {PTM/WK/1999-09-18} .\" Copyright 1992, Phillip Street and Julianne Frances Haugh .\" All rights reserved. @@ -33,14 +33,14 @@ lastlog \- sprawd¼ plik ostatnich logowañ (lastlog) .SH SK£ADNIA .TP 8 -\fBlastlog\fR [<\fB-u\fR|\fB--user\fR> \fIlogin-u¿ytkownika\fR] -[<\fB-t\fR|\fB--time\fR> \fIdni\fR] [<\fB-h\fR|\fB--help\fR>] +\fBlastlog\fR [(\fB-u\fR|\fB--user\fR) \fIlogin\fR] +[(\fB-t\fR|\fB--time\fR) \fIdni\fR] [(\fB-h\fR|\fB--help\fR)] .SH OPIS \fBlastlog\fR formatuje i wy¶wietla zawarto¶æ dziennika ostatnich logowañ zapisanych w pliku \fI/var/log/lastlog\fR. Wy¶wietlone zostan± \fBnazwa u¿ytkownika\fR, \fBport\fR i \fBczas ostatniego logowania\fR. Domy¶lnie (bez -flag) pozycje pliku wy¶wietlane s± w kolejno¶ci identyfikatorów u¿ytkowników -(UID). +flag) pozycje pliku wy¶wietlane s± w kolejno¶ci w jakiej s± w pliku +\fB/etc/passwd\fR. .TP \fB-u\fR, \fB--user\fR \fIlogin-u¿ytkownika\fR spowoduje wy¶wietlenie tylko pozycji opisuj±cej ostatnie rozpoczêcie sesji tylko dla u¿ytkownika @@ -58,7 +58,7 @@ Je zostanie wy¶wietlony komunikat \fB"**Never logged in**"\fR (nigdy siê nie logowa³). .SH PLIKI -\fI/var/log/lastlog\fR " - dziennik ostatnich logowañ" +\fI/var/log/lastlog\fR \- dziennik ostatnich logowañ .SH PRZESTROGI Du¿e luki w numeracji UID powoduj±, ¿e program bêdzie pracowa³ d³u¿ej, nie wy¶wietlaj±c wyników (np. je¶li mmdf=800, za¶ ostatni uid=170, to program diff --git a/man/pl/login.1 b/man/pl/login.1 index 16d19582..9233f4ef 100644 --- a/man/pl/login.1 +++ b/man/pl/login.1 @@ -1,4 +1,4 @@ -.\" $Id: login.1,v 1.7 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: login.1,v 1.9 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-25} .\" Copyright 1989 - 1994, Julianne Frances Haugh .\" All rights reserved. @@ -119,29 +119,27 @@ cz Po³o¿enie plików mo¿e byæ ró¿ne w zale¿no¶ci od konfiguracji systemu. .SH PLIKI .br -/etc/utmp \- lista bie¿±cych sesji pracy +\fI/var/run/utmp\fR \- lista bie¿±cych sesji pracy .br -/etc/wtmp \- lista poprzednich sesji pracy +\fI/var/log/wtmp\fR \- lista poprzednich sesji pracy .br -/etc/passwd \- informacje o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacje o kontach u¿ytkowników .br -/etc/shadow \- zakodowane has³a i informacje o ich wa¿no¶ci +\fI/etc/shadow\fR \- zakodowane has³a i informacje o ich wa¿no¶ci .br -/etc/motd \- plik 'wiadomo¶ci dnia' +\fI/etc/motd\fR \- plik 'wiadomo¶ci dnia' .br -/etc/nologin \- zapobiega logowaniu innych ni¿ root +\fI/etc/nologin\fR \- zapobiega logowaniu innych ni¿ root .br -/etc/ttytype \- lista typów terminali +\fI/etc/ttytype\fR \- lista typów terminali .br -$HOME/.profile \- skrypt startowy domy¶lnej pow³oki .br -$HOME/.hushlogin \- zapobiega wy¶wietlaniu wiadomo¶ci dnia +\fI$HOME/.hushlogin\fR \- zapobiega wy¶wietlaniu wiadomo¶ci dnia .SH ZOBACZ TAK¯E .BR mail (1), .BR passwd (1), .BR sh (1), .BR su (1), -.\" .BR d_passwd (5), .BR login.defs (5), .BR nologin (5), .BR passwd (5), diff --git a/man/pl/logoutd.8 b/man/pl/logoutd.8 index 50f8d3ae..3af4aa9b 100644 --- a/man/pl/logoutd.8 +++ b/man/pl/logoutd.8 @@ -1,4 +1,4 @@ -.\" $Id: logoutd.8,v 1.3 2001/01/25 10:43:54 kloczek Exp $ +.\" $Id: logoutd.8,v 1.4 2002/10/07 17:32:42 kloczek Exp $ .\" {PTM/WK/1999-09-17} .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. @@ -37,7 +37,7 @@ wymusza ograniczenia port .IR /etc/porttime . .B logoutd powinno byæ uruchamiane z \fI/etc/rc\fR. -Okresowo przegl±dany jest plik \fI/etc/utmp\fR. Sprawdzana jest ka¿da nazwa +Okresowo przegl±dany jest plik \fI/var/run/utmp\fR. Sprawdzana jest ka¿da nazwa u¿ytkownika, by móc stwierdziæ czy posiada on zezwolenie na pracê w bie¿±cym czasie na danym porcie. Ka¿da sesja pracy (logowania) naruszaj±ca ograniczenia zawarte @@ -45,6 +45,6 @@ w \fI/etc/porttime\fR jest ko .SH PLIKI .IR /etc/porttime " - zezwolenia dla logowania na portach" .br -.IR /etc/utmp " - bie¿±ce sesje pracy" +.IR /var/run/utmp " - bie¿±ce sesje pracy" .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pl/newgrp.1 b/man/pl/newgrp.1 index ba1b0077..5230e86b 100644 --- a/man/pl/newgrp.1 +++ b/man/pl/newgrp.1 @@ -1,4 +1,4 @@ -.\" $Id: newgrp.1,v 1.7 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: newgrp.1,v 1.8 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-15} .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. @@ -60,9 +60,9 @@ now \fBsg\fR, wiêc po zakoñczeniu \fBsg\fR u¿ytkownik powraca do swego poprzedniego identyfikatora grupy. .SH PLIKI -/etc/passwd \- informacja o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -/etc/group \- informacja o grupach +\fI/etc/group\fR \- informacja o grupach .SH ZOBACZ TAK¯E .BR id (1), .BR login (1), diff --git a/man/pl/passwd.1 b/man/pl/passwd.1 index 31dfea11..2d0eafdf 100644 --- a/man/pl/passwd.1 +++ b/man/pl/passwd.1 @@ -1,4 +1,4 @@ -.\" $Id: passwd.1,v 1.9 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: passwd.1,v 1.11 2003/04/28 17:52:15 kloczek Exp $ .\" Translation (c) 1999 Wojtek Kotwica .\" (c) 2002 Andrzej Krzysztofowicz .\" @@ -183,9 +183,26 @@ wygodnie. U¿ytkownicy mog± nie móc zmieniæ has³a w systemie przy w³±czonym NIS, je¶li nie s± zalogowani do serwera NIS. .SH PLIKI -/etc/passwd \- informacja o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -/etc/shadow \- zakodowane has³a u¿ytkowników +\fI/etc/shadow\fR \- zakodowane has³a u¿ytkowników +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBpasswd\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB1\fR \- permission denied +.br +\fB2\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB3\fR \- nieoczekiwanie niepowodzenie, nic nie zosta³o wykonane +.br +\fB4\fR \- nieoczekiwanie niepowodzenie, brakuje pliku passwd +.br +\fB5\fR \- passwd file busy, try again later +.br +\fB6\fR \- niew³a¶ciwe parametry opcji .SH "ZOBACZ TAK¯E" .BR group (5), .BR passwd (5) diff --git a/man/pl/pwauth.8 b/man/pl/pwauth.8 deleted file mode 100644 index f4078c09..00000000 --- a/man/pl/pwauth.8 +++ /dev/null @@ -1,63 +0,0 @@ -.\" $Id: pwauth.8,v 1.4 2002/03/09 11:16:20 ankry Exp $ -.\" {PTM/WK/1999-09-15} -.\" Copyright 1992, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.TH PWAUTH 8 -.SH NAZWA -pwauth \- definiowane przez administratora uwierzytelnianie hase³ -.SH OPIS -Administrator systemu mo¿e zdefiniowaæ listê programów, jakie s± u¿ywane -do potwierdzenia to¿samo¶ci u¿ytkownika. -Programy te podawane s± zamiast informacji o zakodowanym ha¶le obecnej -w pliku \fI/etc/passwd\fR albo \fI/etc/shadow\fR. -Narzêdzia administruj±ce kontami u¿ytkowników sprawdzaj± pole zakodowanego -has³a i stwierdzaj± czy u¿ytkownik posiada zdefiniowany przez administratora -program uwierzytelniaj±cy (autentykuj±cy). -Funkcja \fBpw_auth\fR zostanie wywo³ana ka¿dorazowo, gdy jeden z tych -programów administracyjnych stwierdzi, ¿e zmieniany u¿ytkownik posiada -zdefiniowane programy uwierzytelniania. -.PP -Pocz±tkowy wpis tworzony jest przez polecenie \fBuseradd\fR. -Zmiany, takie jak zmiana informacji autentykuj±cej lub usuniêcie konta -u¿ytkownika, spowoduj± wywo³anie funkcji \fBpw_auth\fR. Pozwala to -na utrzymanie aktualno¶ci informacji dla ka¿dego konta. -.PP -Programy uwierzytelniaj±ce nie tworz± sesji pracy (loginowych) ani -sesji sieciowych. Kod zakoñczenia programu uwierzytelniaj±cego jest -wskazaniem czy akcja bêdzie dozwolona. -Proces wo³aj±cy musi posiadaæ odpowiednie uprawnienia do samodzielnego -utworzenia sesji pracy lub sesji sieciowej. -.SH ZOBACZ TAK¯E -.BR login (1), -.BR passwd (1), -.BR su (1), -.BR pw_auth (3), -.BR useradd (8), -.BR userdel (8), -.BR usermod (8) -.SH AUTOR -Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pl/pwck.8 b/man/pl/pwck.8 index bda75aba..bd0f80bd 100644 --- a/man/pl/pwck.8 +++ b/man/pl/pwck.8 @@ -1,4 +1,4 @@ -.\" $Id: pwck.8,v 1.4 2001/08/14 21:11:19 malekith Exp $ +.\" $Id: pwck.8,v 1.5 2003/04/28 17:52:15 kloczek Exp $ .\" {PTM/WK/1999-09-14} .\" Copyright 1992, Julianne Frances Haugh .\" All rights reserved. @@ -39,7 +39,7 @@ i poprawne dane w ka pozycji, które s± sformatowane niepoprawnie lub posiadaj± inne nie daj±ce siê skorygowaæ b³êdy. .P -Kontrolowane jest czy ka¿da pozycja posiada +Kontrolowane jest czy ka¿da pozycja posiada: .sp .in +.5i - w³a¶ciw± liczbê pól @@ -81,30 +81,30 @@ u oraz \fI/etc/shadow\fR wed³ug UID. By w³±czyæ tryb sortowania nale¿y przekazaæ opcjê \fB-s\fR. Nie s± wtedy przeprowadzane ¿adne kontrole, tylko sortowanie. .SH PLIKI -.IR /etc/passwd " - informacja o kontach u¿ytkowników" +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -.IR /etc/shadow " - zakodowana informacja o has³ach" +\fI/etc/shadow\fR \- zakodowana informacja o has³ach .br -.IR /etc/group " - informacja o grupach" +\fI/etc/group\fR \- informacja o grupach +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBpwck\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB1\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB2\fR \- jedna lub wiêcej z³ych pozycji pliku hase³ +.br +\fB3\fR \- niemo¿liwe otwarcie plików hase³ +.br +\fB4\fR \- niemo¿liwa blokada plików hase³ +.br +\fB5\fR \- niemo¿liwa aktualizacja plików hase³ .SH ZOBACZ TAK¯E .BR usermod (8), .BR group (5), .BR passwd (5), .BR shadow (5) -.SH DIAGNOSTYKA -Polecenie \fBpwck\fR koñczy pracê z nastêpuj±cymi warto¶ciami kodów -zakoñczenia: -.IP 0 5 -Powodzenie -.IP 1 5 -B³±d sk³adni -.IP 2 5 -Jedna lub wiêcej z³ych pozycji pliku hase³ -.IP 3 5 -Niemo¿liwe otwarcie plików hase³ -.IP 4 5 -Niemo¿liwa blokada plików hase³ -.IP 5 5 -Niemo¿liwa aktualizacja plików hase³ .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pl/shadow.3 b/man/pl/shadow.3 index 3d447a95..fc144642 100644 --- a/man/pl/shadow.3 +++ b/man/pl/shadow.3 @@ -1,4 +1,4 @@ -.\" $Id: shadow.3,v 1.3 2001/01/25 10:43:54 kloczek Exp $ +.\" $Id: shadow.3,v 1.4 2003/01/07 14:32:57 kloczek Exp $ .\" {PTM/WK/1999-09-16} .\" Copyright 1989 - 1993, Julianne Frances Haugh .\" All rights reserved. @@ -63,23 +63,23 @@ Plik \fI#include\fR opisuje struktur struct spwd { .in +.4i .br -char *sp_namp; /* nazwa u¿ytkownika (login) */ + char *sp_namp; /* nazwa u¿ytkownika (login) */ .br -char *sp_pwdp; /* zakodowane has³o */ + char *sp_pwdp; /* zakodowane has³o */ .br -long sp_lstchg; /* ostatnia zmiana has³a */ + long int sp_lstchg; /* ostatnia zmiana has³a */ .br -int sp_min; /* dni do dozwolonej zmiany */ + long int sp_min; /* dni do dozwolonej zmiany */ .br -int sp_max; /* dni przed wymagan± zmian± */ + long int sp_max; /* dni przed wymagan± zmian± */ .br -int sp_warn; /* dni ostrze¿enia o wyga¶niêciu */ + long int sp_warn; /* dni ostrze¿enia o wyga¶niêciu */ .br -int sp_inact; /* dni przed wy³±czeniem konta */ + long int sp_inact; /* dni przed wy³±czeniem konta */ .br -int sp_expire; /* data wa¿no¶ci konta */ + long int sp_expire; /* data wa¿no¶ci konta */ .br -int sp_flag; /* zarezerwowane do przysz³ego u¿ytku */ + unsigned long int sp_flag; /* zarezerwowane do przysz³ego u¿ytku */ .br .in -.5i } diff --git a/man/pl/su.1 b/man/pl/su.1 index a180569a..9f5e1c66 100644 --- a/man/pl/su.1 +++ b/man/pl/su.1 @@ -1,4 +1,4 @@ -.\" $Id: su.1,v 1.7 2002/03/09 19:24:25 ankry Exp $ +.\" $Id: su.1,v 1.8 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-25} .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. @@ -64,11 +64,9 @@ katalog g Niniejsza wersja \fBsu\fR posiada wiele opcji kompilacji, z których tylko czê¶æ bêdzie mieæ zastosowanie w danej instalacji. .SH PLIKI -/etc/passwd \- informacje o kontach u¿ytkowników +\fI/etc/passwd\fR \- informacje o kontach u¿ytkowników .br -/etc/shadow \- zakodowane has³a i informacje o ich wa¿no¶ci -.br -$HOME/.profile \- plik startowy dla domy¶lnej pow³oki +\fI/etc/shadow\fR \- zakodowane has³a i informacje o ich wa¿no¶ci .SH ZOBACZ TAK¯E .BR login (1), .BR sh (1), diff --git a/man/pl/sulogin.8 b/man/pl/sulogin.8 index c2fe5396..71af1fc0 100644 --- a/man/pl/sulogin.8 +++ b/man/pl/sulogin.8 @@ -1,4 +1,4 @@ -.\" $Id: sulogin.8,v 1.4 2002/03/09 11:16:23 ankry Exp $ +.\" $Id: sulogin.8,v 1.5 2003/04/26 13:24:15 kloczek Exp $ .\" {PTM/WK/1999-09-14} .\" Copyright 1989 - 1992, Julianne Frances Haugh .\" All rights reserved. @@ -82,8 +82,6 @@ nie funkcjonowa .IR /etc/passwd " - informacja o kontach u¿ytkowników" .br .IR /etc/shadow " - zakodowane has³a i informacja o ich wa¿no¶ci" -.br -.IR /.profile " - skrypt startowy dla pow³oki trybu jednou¿ytkownikowego" .SH ZOBACZ TAK¯E .BR login (1), .BR sh (1), diff --git a/man/pl/useradd.8 b/man/pl/useradd.8 index 0f6cd392..7eeca34b 100644 --- a/man/pl/useradd.8 +++ b/man/pl/useradd.8 @@ -1,4 +1,4 @@ -.\" $Id: useradd.8,v 1.10 2002/03/09 11:16:23 ankry Exp $ +.\" $Id: useradd.8,v 1.15 2004/01/13 00:34:16 kloczek Exp $ .\" {PTM/WK/0.1/VIII-1999} .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. @@ -35,9 +35,9 @@ useradd - tw .br [\fB-e\fR \fIdata_wa¿no¶ci\fR] [\fB-f\fR \fIdni_nieaktywno¶ci\fR] .br -[\fB-g\fR \fIgrupa_pocz±tkowa\fR] [\fB-G\fR \fIgrupa [,...]\fR] +[\fB-g\fR \fIgrupa_pocz±tkowa\fR] [\fB-G\fR \fIgrupa\fR[,...]] .br -[\fB-m\fR [\fB-k\fR \fIkatalog_wzorców\fR]] [\fB-o\fR] [\fB-p\fR \fIhas³o\fR] +[[\fB-M\fR] \fB-m\fR [\fB-k\fR \fIkatalog_wzorców\fR]] [\fB-o\fR] [\fB-p\fR \fIhas³o\fR] .br [\fB-s\fR \fIpow³oka\fR] [\fB-u\fR \fIuid\fR] \fIlogin\fR .TP 8 @@ -90,6 +90,11 @@ Ka Do grup odnosz± siê te same ograniczenia, które obowi±zuj± przy grupie podanej w opcji \fB-g\fR. Domy¶lnie u¿ytkownik nale¿y tylko do grupy pocz±tkowej. +.IP \fB-M\fR +RedHat doda³ opcjê CREATE_HOME w pliku login.defs w swojej wersji shadow-utils, +która powodowa³a domy¶lne u¿ycie \fB-m\fR - ta opcja wy³±cza to. U¿ywanie jej +znajduje zastosowanie np. w skryptach, lecz mo¿e byæ powodem niezgodno¶ci +z innymi wersjami shadow-utils. .IP \fB-m\fR Je¶li nie istnieje katalog domowy u¿ytkownika, to zostanie on utworzony. Je¶li pos³u¿ono siê opcj± \fB-k\fR, to bêd± do niego przekopiowane wzorcowe @@ -149,15 +154,38 @@ plik Nie mo¿esz dodaæ u¿ytkownika do grupy NIS. Musi to zostaæ wykonane na serwerze NIS. .SH PLIKI -.IR /etc/passwd " - informacja o kontach u¿ytkowników" +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -.IR /etc/shadow " - bezpieczna informacja o kontach u¿ytkowników" +\fI/etc/shadow\fR \- bezpieczna informacja o kontach u¿ytkowników .br -.IR /etc/group " - informacja o grupach" +\fI/etc/group\fR \- informacja o grupach .br -.IR /etc/default/useradd " - informacja o ustawieniach domy¶lnych" +\fI/etc/default/useradd\fR \- informacja o ustawieniach domy¶lnych .br -.IR /etc/skel " - katalog zawieraj±cy pliki domy¶lne" +\fI/etc/skel/\fR \- katalog zawieraj±cy pliki domy¶lne +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBuseadd\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB1\fR \- nie mo¿na zaktualizowaæ pliku z has³ami +.br +\fB2\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB3\fR \- niew³a¶ciwe parametry opcji +.br +\fB4\fR \- uid jest ju¿ u¿ywany (i nie u¿yto opcji -o) +.br +\fB6\fR \- podana grupa nie istnieje +.br +\fB9\fR \- podany login jest ju¿ u¿ywany +.br +\fB10\fR \- nie mo¿na zaktualizowaæ pliku z grupami +.br +\fB12\fR \- nie mo¿na utworzyæ katalogu domowego +.br +\fB13\fR \- nie mo¿na utworzyæ spoola pocztowego .SH ZOBACZ TAK¯E .BR chfn (1), .BR chsh (1), @@ -170,9 +198,3 @@ na serwerze NIS. .BR usermod (8) .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) -.SH OD T£UMACZA -Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu -shadow. -Istnieje wiele programów i skryptów do zarz±dzania kontami -u¿ytkowników czy grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij -siê, ¿e korzystasz z w³a¶ciwej dokumentacji. diff --git a/man/pl/userdel.8 b/man/pl/userdel.8 index e421d35b..c5c0ebe9 100644 --- a/man/pl/userdel.8 +++ b/man/pl/userdel.8 @@ -1,4 +1,4 @@ -.\" $Id: userdel.8,v 1.8 2002/03/09 11:16:24 ankry Exp $ +.\" $Id: userdel.8,v 1.9 2003/04/28 17:52:15 kloczek Exp $ .\" {PTM/WK/0.1/VIII-1999} .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. @@ -42,11 +42,28 @@ Zostan i sam ten katalog. Pliki po³o¿one w innym systemie plików musz± byæ odszukane i usuniête rêcznie. .SH PLIKI -.IR /etc/passwd " - informacja o kontach u¿ytkowników" +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -.IR /etc/shadow " - bezpieczna informacja o kontach u¿ytkowników" +\fI/etc/shadow\fR \- bezpieczna informacja o kontach u¿ytkowników .br -.IR /etc/group " - informacja o grupach" +\fI/etc/group\fR \- informacja o grupach +.SH KOD ZAKOÑCZENIA +.TP 2 +Polecenie \fBuserdel\fR koñczy dzia³anie z nastêpuj±cymi warto¶ciami kodów zakoñczenia: +.br +\fB0\fR \- powodzenie +.br +\fB1\fR \- nie mo¿na zaktualizowaæ pliku z has³ami +.br +\fB2\fR \- niew³a¶ciwa sk³adnia parametrów polecenia +.br +\fB6\fR \- podany u¿ytkownik nie istnieje +.br +\fB8\fR \- u¿ytkownik jest aktualnie zalogowany +.br +\fB10\fR \- nie mo¿na zaktualizowaæ pliku z grupami +.br +\fB12\fR \- nie mo¿na usun±æ katalogu domowego .SH PRZESTROGI \fBuserdel\fR nie pozwoli na usuniêcie konta aktualnie zalogowanego u¿ytkownika. Musisz usun±æ wszystkie uruchomione procesy nale¿±ce @@ -64,8 +81,3 @@ Musi to zosta .BR usermod (8) .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) -.SH OD T£UMACZA -Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu shadow. -Istnieje wiele programów i skryptów do zarz±dzania kontami u¿ytkowników czy -grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz -z w³a¶ciwej dokumentacji. diff --git a/man/pl/usermod.8 b/man/pl/usermod.8 index 778a64f6..c1a0ffbc 100644 --- a/man/pl/usermod.8 +++ b/man/pl/usermod.8 @@ -1,4 +1,4 @@ -.\" $Id: usermod.8,v 1.7 2002/03/09 11:16:24 ankry Exp $ +.\" $Id: usermod.8,v 1.9 2003/04/28 17:55:22 kloczek Exp $ .\" {PTM/WK/0.1/VIII-1999} .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. @@ -119,11 +119,11 @@ W W³a¶niciela zadañ at musisz zmieniæ rêcznie. Jakiekolwiek zmiany dotycz±ce NIS musisz wykonaæ na serwerze NIS. .SH PLIKI -.IR /etc/passwd " - informacja o kontach u¿ytkowników" +\fI/etc/passwd\fR \- informacja o kontach u¿ytkowników .br -.IR /etc/shadow " - bezpieczna informacja o kontach u¿ytkowników" +\fI/etc/shadow\fR \- bezpieczna informacja o kontach u¿ytkowników .br -.IR /etc/group " - informacja o grupach" +\fI/etc/group\fR \- informacja o grupach .SH ZOBACZ TAK¯E .BR chfn (1), .BR chsh (1), @@ -135,8 +135,3 @@ Jakiekolwiek zmiany dotycz .BR userdel (8) .SH AUTOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) -.SH OD T£UMACZA -Niniejsza dokumentacja opisuje polecenie wchodz±ce w sk³ad pakietu shadow. -Istnieje wiele programów i skryptów do zarz±dzania kontami u¿ytkowników czy -grup. Z uwagi na powtarzaj±ce siê nazwy poleceñ, upewnij siê, ¿e korzystasz -z w³a¶ciwej dokumentacji. diff --git a/man/porttime.5 b/man/porttime.5 index 12f43974..3c64cf15 100644 --- a/man/porttime.5 +++ b/man/porttime.5 @@ -1,4 +1,4 @@ -.\"$Id: porttime.5,v 1.7 2001/01/25 10:43:51 kloczek Exp $ +.\"$Id: porttime.5,v 1.9 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -29,23 +29,22 @@ .SH NAME porttime \- port access time file .SH DESCRIPTION -.I porttime -contains a list of tty devices, user names, and permitted login times. +\fIporttime\fR contains a list of tty devices, user names, and permitted +login times. .PP -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 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. .PP Each access time entry consists of zero or more days of the week, abbreviated \fBSu\fR, \fBMo\fR, \fBTu\fR, \fBWe\fR, \fBTh\fR, \fBFr\fR, and \fBSa\fR, followed by a pair of times separated by -a hyphen. -The abbreviation \fBWk\fR may be used to represent Monday thru Friday, -and \fBAl\fR may be used to indicate every day. -If no days are given, \fBAl\fR is assumed. +a hyphen. The abbreviation \fBWk\fR may be used to represent Monday thru +Friday, and \fBAl\fR may be used to indicate every day. If no days are +given, \fBAl\fR is assumed. .SH EXAMPLES The following entry allows access to user \fBjfh\fR on every port during weekdays from 9am to 5pm. @@ -55,11 +54,9 @@ during weekdays from 9am to 5pm. .br .sp 1 The following entries allow access only to the users \fBroot\fR and -\fBoper\fR on /dev/console at any time. -This illustrates how the -\fI/etc/porttime\fR file is an ordered list of access times. -Any other user would match the second entry which does not permit -access at any time. +\fBoper\fR on /dev/console at any time. This illustrates how the +\fI/etc/porttime\fR file is an ordered list of access times. Any other user +would match the second entry which does not permit access at any time. .br .sp 1 console:root,oper:Al0000-2400 @@ -67,15 +64,15 @@ access at any time. console:*: .br .sp 1 -The following entry allows access for the user \fBgames\fR on any -port during non-working hours. +The following entry allows access for the user \fBgames\fR on any port +during non-working hours. .br .sp 1 *:games:Wk1700-0900,SaSu0000-2400 .br .sp 1 .SH FILES -/etc/porttime \- file containing port access times +\fI/etc/porttime\fR \ - file containing port access times .SH SEE ALSO .BR login (1) .SH AUTHOR diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in index d0ad33d7..6144a49c 100644 --- a/man/pt_BR/Makefile.in +++ b/man/pt_BR/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,100 +14,144 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ mandir = @mandir@/pt_BR +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ man_MANS = \ gpasswd.1 \ @@ -118,6 +163,7 @@ man_MANS = \ EXTRA_DIST = $(man_MANS) subdir = man/pt_BR +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -125,10 +171,15 @@ DIST_SOURCES = NROFF = nroff MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/pt_BR/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) mostlyclean-libtool: -rm -f *.lo @@ -138,13 +189,6 @@ clean-libtool: distclean-libtool: -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/pt_BR/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: man1dir = $(mandir)/man1 @@ -162,6 +206,10 @@ install-man1: $(man1_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -179,6 +227,10 @@ uninstall-man1: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -201,6 +253,10 @@ install-man5: $(man5_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -218,6 +274,10 @@ uninstall-man5: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -240,6 +300,10 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -257,6 +321,10 @@ uninstall-man8: done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -266,6 +334,8 @@ uninstall-man8: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -273,15 +343,26 @@ top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -294,7 +375,6 @@ all-am: Makefile $(MANS) installdirs: $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -306,6 +386,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -313,7 +394,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -323,7 +404,7 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - + -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool dvi: dvi-am @@ -345,13 +426,21 @@ install-man: install-man1 install-man5 install-man8 installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am uninstall-man uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @@ -363,9 +452,9 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 install-info-am install-man install-man1 install-man5 \ install-man8 install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool uninstall \ - uninstall-am uninstall-info-am uninstall-man uninstall-man1 \ - uninstall-man5 uninstall-man8 + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man5 uninstall-man8 # 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. diff --git a/man/pt_BR/gpasswd.1 b/man/pt_BR/gpasswd.1 index 05bdf1b0..aaf631be 100644 --- a/man/pt_BR/gpasswd.1 +++ b/man/pt_BR/gpasswd.1 @@ -22,11 +22,11 @@ .\" Foundation, Inc., 675 mass Ave, Cambridge, MA 02139 USA ou .\" em português na Conectiva Informática - http://www.conectiva.com.br .\" -.\" $Id: gpasswd.1,v 1.1 2001/01/31 07:06:23 kloczek Exp $ +.\" $Id: gpasswd.1,v 1.2 2003/04/26 13:24:16 kloczek Exp $ .\" .TH GPASSWD 1 .SH NOME -gpasswd \- administra o arquivo /etc/group +gpasswd \- administra o arquivo \fI/etc/group\fR .br .SH SINOSPE .B gpasswd \fIgrupo\fR @@ -57,11 +57,12 @@ gpasswd \- administra o arquivo /etc/group .SH DESCRIÇÃO O .B gpasswd -é utilizado para administrar o arquivo /etc/group (e o arquivo /etc/gshadow, -caso compilado com SHADOWGRP). -Todos os grupos podem ter administradores, membros e uma senha. O administrador -do sistema pode usar a opção \fB-A\fR para definir o administrador do grupo e \fB-M\fR para definir os membros e todos os seus direitos assim como os do -administrador. +é utilizado para administrar o arquivo \fI/etc/group\fR (e o arquivo +\fI/etc/gshadow\fR, caso compilado com SHADOWGRP). +Todos os grupos podem ter administradores, membros e uma senha. O +administrador do sistema pode usar a opção \fB-A\fR para definir o +administrador do grupo e \fB-M\fR para definir os membros e todos os seus +direitos assim como os do administrador. .PP Administradores de grupos podem adicionar e excluir usuários utilizando as opções \fB-a\fR e \fB-d\fR respectivamente. Administradores podem usar a opção @@ -81,9 +82,9 @@ solicitar esteja habilitado para outros usuários do grupo sem o uso de senha, não membros podem também executar o comando, informando porém a senha do grupo. .SH ARQUIVOS -/etc/group \- informações do grupo +\fI/etc/group\fR \- informações do grupo .br -/etc/gshadow \- informações do grupo em arquivo shadow +\fI/etc/gshadow\fR \- informações do grupo em arquivo shadow .SH VEJA TAMBÉM .BR newgrp (1), .BR groupadd (8), diff --git a/man/pt_BR/groupadd.8 b/man/pt_BR/groupadd.8 index dfd85045..bee0e3a5 100644 --- a/man/pt_BR/groupadd.8 +++ b/man/pt_BR/groupadd.8 @@ -25,15 +25,13 @@ .\" .\" .\" -.\" $Id: groupadd.8,v 1.2 2002/03/09 11:16:27 ankry Exp $ +.\" $Id: groupadd.8,v 1.4 2004/01/05 01:08:34 kloczek Exp $ .\" .TH GROUPADD 8 .SH NOME groupadd \- Criar um novo grupo .SH SINOPSE -.B groupadd -[\fB-g\fI gid \fR[\fB-o\fR]] [\fB-r\fR] [\fB-f\fR] -.I grupo +\fBgroupadd\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-f\fR] \fIgrupo\fR .SH DESCRIÇÃO O comando \fBgroupadd\fR cria um novo grupo usando valores especificados na linha de comando e os valores padrões do sistema. O novo grupo será criado nos arquivos do sistema, conforme o requerido. As opções que aplicam-se ao comando \fBgroupadd\fR são .IP "\fB-g \fIgid\fR" @@ -50,9 +48,9 @@ Este Esta opção também modifica o modo como a opção \fB-g\fR funciona. Ao solicitar um \fIgid\fR que não seja único e ao não informar a opção \fB-o\fR, a criação do grupo , a criação terá o comportamento padrão (adicionando um grupo como se as opções \fB-g\fR ou \fB-o\fR \fBnão\fR fossem especificadas). .br .SH ARQUIVOS -/etc/group \- informações sobre o grupo +\fI/etc/group\fR \- informações sobre o grupo .br -/etc/gshadow \- informações seguras sobre o grupo +\fI/etc/gshadow\fR \- informações seguras sobre o grupo .br .SH VEJA TAMBÉM .BR chfn (1), diff --git a/man/pt_BR/groupdel.8 b/man/pt_BR/groupdel.8 index 03294bbc..0eb75622 100644 --- a/man/pt_BR/groupdel.8 +++ b/man/pt_BR/groupdel.8 @@ -25,7 +25,7 @@ .\" Foundation, Inc., 675 mass Ave, Cambridge, MA 02139 USA ou .\" em português na Conectiva Informática Ltda. - http://www.conectiva.com.br.\" .\" -.\" $Id: groupdel.8,v 1.2 2002/03/09 11:16:27 ankry Exp $ +.\" $Id: groupdel.8,v 1.3 2003/04/26 13:24:16 kloczek Exp $ .\" .TH GROUPDEL 8 .SH NOME @@ -40,9 +40,9 @@ Deve-se manualmente checar os sistemas de arquivos para garantir que nenhum dos .SH DICAS Não se deve remover o grupo primário de um grupo existente. Deve-se remover os usuários, antes de se remover o grupo. .SH ARQUIVOS -/etc/group \- informações do grupo +\fI/etc/group\fR \- informações do grupo .br -/etc/gshadow \- informações seguras do grupo +\fI/etc/gshadow\fR \- informações seguras do grupo .SH VEJA TAMBÉM .BR chfn (1), .BR chsh (1), diff --git a/man/pt_BR/groupmod.8 b/man/pt_BR/groupmod.8 index 94df2599..da2afadd 100644 --- a/man/pt_BR/groupmod.8 +++ b/man/pt_BR/groupmod.8 @@ -26,7 +26,7 @@ .\" .\" .\" -.\" $Id: groupmod.8,v 1.2 2002/03/09 11:16:27 ankry Exp $ +.\" $Id: groupmod.8,v 1.3 2003/04/26 13:24:16 kloczek Exp $ .\" .TH GROUPMOD 8 .SH NOME @@ -44,9 +44,9 @@ O valor num O nome do grupo irá ser alterado de \fIgroup\fR para \fInome_grupo\fR. .SH ARQUIVOS -/etc/group \- Informações do grupo +\fI/etc/group\fR \- Informações do grupo .br -/etc/gshadow \- informações seguras do grupo +\fI/etc/gshadow\fR \- informações seguras do grupo .SH VEJA TAMBÉM .BR chfn (1), .BR chsh (1), diff --git a/man/pt_BR/shadow.5 b/man/pt_BR/shadow.5 index 04a9a263..5e735083 100644 --- a/man/pt_BR/shadow.5 +++ b/man/pt_BR/shadow.5 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: shadow.5,v 1.2 2002/03/09 11:16:27 ankry Exp $ +.\" $Id: shadow.5,v 1.3 2003/04/26 13:24:16 kloczek Exp $ .\" .TH SHADOW 5 .SH NOME @@ -63,9 +63,9 @@ Esta informa .PP Este arquivo não poderá ser acessado por usuários comuns, caso deseje manter a segurança das senhas. .SH ARQUIVOS -/etc/passwd \- informações das contas de usuários +\fI/etc/passwd\fR \- informações das contas de usuários .br -/etc/shadow \- senhas de usuários criptografadas +\fI/etc/shadow\fR \- senhas de usuários criptografadas .SH VEJA TAMBÉM .BR chage (1), .BR login (1), diff --git a/man/pwauth.8 b/man/pwauth.8 deleted file mode 100644 index c46c0a10..00000000 --- a/man/pwauth.8 +++ /dev/null @@ -1,65 +0,0 @@ -.\"$Id: pwauth.8,v 1.8 2002/03/08 04:39:11 kloczek Exp $ -.\" Copyright 1992, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.TH PWAUTH 8 -.SH NAME -pwauth \- administrator defined password authentication -.SH DESCRIPTION -The system administrator is able to define a list of programs which -are used to validate a user's identity. -These programs are given in place of the encrypted password -information which is present in either the \fI/etc/passwd\fR or -\fI/etc/shadow\fR files. -The utilities which administer user accounts examine the encrypted -password field and determine if the user has an administrator defined -authentication program. -The \fBpw_auth\fR function will be invoked whenever one of these -administration programs determines that a user which is being altered -has authentication programs defined. -.PP -The initial entry is created with the \fBuseradd\fR command. -Alterations, such as changing authentication information or deleting -the user account, will cause the \fBpw_auth\fR function to be invoked. -This keeps the authentication information up to date for each user -account. -.PP -The authentication programs do not create the actual login or network -sessions. -The exit code from the authentication program is taken as an -indication that the action is to be permitted. -The calling process must have the appropriate priviledges to create -the login or network session itself. -.SH SEE ALSO -.BR login (1), -.BR passwd (1), -.BR su (1), -.BR pw_auth (3), -.BR useradd (8), -.BR userdel (8), -.BR usermod (8) -.SH AUTHOR -Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pwck.8 b/man/pwck.8 index 05902977..61542767 100644 --- a/man/pwck.8 +++ b/man/pwck.8 @@ -1,4 +1,4 @@ -.\"$Id: pwck.8,v 1.9 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: pwck.8,v 1.12 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1992, Julianne Frances Haugh .\" All rights reserved. .\" @@ -53,56 +53,52 @@ Checks are made to verify that each entry has - a valid login shell .in -.5i .sp -.P -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 +.PP +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 \fBusermod\fR command to correct the error. -.P +.PP The commands which operate on the \fI/etc/passwd\fR file are not able to alter corrupted or duplicated entries. \fBpwck\fR should be used in those circumstances to remove the offending entry. .SH OPTIONS By default, \fBpwck\fR operates on the files \fI/etc/passwd\fR and -\fI/etc/shadow\fR. -The user may select alternate files with the \fIpasswd\fR and \fIshadow\fR -parameters. -Additionally, the user may execute the command in read-only mode by -specifying the \fB-r\fR flag. -This causes all questions regarding changes to be answered \fBno\fR -without user intervention. +\fI/etc/shadow\fR. The user may select alternate files with the \fIpasswd\fR +and \fIshadow\fR parameters. Additionally, the user may execute the command +in read-only mode by specifying the \fB-r\fR flag. This causes all questions +regarding changes to be answered \fBno\fR without user intervention. \fBpwck\fR can also sort entries in \fI/etc/passwd\fR and \fI/etc/shadow\fR by UID. To run it in sort mode pass it \fB-s\fR flag. No checks are performed then, it just sorts. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \- user account information .br -/etc/shadow \- encrypted password information +\fI/etc/shadow\fR \- encrypted password information .br -/etc/group \- group information +\fI/etc/group\fR \- group information .SH SEE ALSO .BR group (5), .BR passwd (5), .BR shadow (5), .BR usermod (8) -.SH DIAGNOSTICS +.SH EXIT VALUES +.TP 2 The \fBpwck\fR command exits with the following values: -.IP 0 5 -Success -.IP 1 5 -Syntax Error -.IP 2 5 -One or more bad password entries -.IP 3 5 -Cannot open password files -.IP 4 5 -Cannot lock password files -.IP 5 5 -Cannot update password files +\fB0\fR \- success +.br +\fB1\fR \- invalid command syntax +.br +\fB2\fR \- one or more bad password entries +.br +\fB3\fR \- can't open password files +.br +\fB4\fR \- can't lock password files +.br +\fB5\fR \- can't update password files .SH AUTHOR Julianne Frances Haugh (jockgrrl@ix.netcom.com) diff --git a/man/pwconv.8 b/man/pwconv.8 index 0f13f969..2f02996e 100644 --- a/man/pwconv.8 +++ b/man/pwconv.8 @@ -1,61 +1,55 @@ -.\"$Id: pwconv.8,v 1.10 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: pwconv.8,v 1.11 2003/05/01 18:17:39 kloczek Exp $ .TH PWCONV 8 "26 Sep 1997" .SH NAME pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and groups. .SH SYNOPSIS -.B pwconv +\fBpwconv\fR .br -.B pwunconv +\fBpwunconv\fR .br -.B grpconv +\fBgrpconv\fR .br -.B grpunconv +\fBgrpunconv\fR .SH DESCRIPTION -These four programs all operate on the normal and shadow password and -group files: -.IR /etc/passwd ", " /etc/group ", " /etc/shadow ", and " /etc/gshadow . - -.B pwconv -.RI "creates " shadow " from " passwd " and an optionally existing " shadow . -.B pwunconv -.RI "creates " passwd " from " passwd " and " shadow " and then removes " shadow . -.B grpconv -.RI "creates " gshadow " from " group " and an optionally existing " gshadow . -.B grpunconv -.RI "creates " group " from " group " and " gshadow " and then removes " gshadow . - -Each program acquires the necessary locks before conversion. - -.BR pwconv " and " grpconv -are similiar. 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. - -.B pwconv -will use the values of -.BR PASS_MIN_DAYS ", " PASS_MAX_DAYS ", and " PASS_WARN_AGE -from -.I /etc/login.defs -when adding new entries to -.IR /etc/shadow . - -.RB "Likewise, " pwunconv " and " grpunconv -are similiar. 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 -.BR pwunconv . +\fBpwconv\fR creates \fIshadow\fR from \fIpasswd\fR and an optionally existing +\fIshadow\fR. +.PP +\fBpwunconv\fR creates \fIpasswd\fR from \fIpasswd\fR and \fIshadow\fR and then +removes \fIshadow\fR. +.PP +\fBgrpconv\fR creates \fIgshadow/fR from \fIgroup/fR and an optionally existing +\fIgshadow\fR. +.PP +\fBgrpunconv\fR creates \fIgroup\fR from \fIgroup\fR and \fIgshadow\fR and then +removes \fIgshadow\fR. +.PP +These four programs all operate on the normal and shadow password and group +files: \fI/etc/passwd\fR, \fI/etc/group\fR, \fI/etc/shadow\fR, and +\fI/etc/gshadow\fR. +.PP +.PP +Each program acquires the necessary locks before conversion. fBpwconv\fR and +\fBgrpconv\fR are similiar. 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. +.PP +\fBpwconv\fR will use the values of fBPASS_MIN_DAYS\fR, \fBPASS_MAX_DAYS\fR, +and \fBPASS_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 +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. It will convert what it can. .SH "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 \fBpwck\fR and \fBgrpck\fR to correct any -such errors before converting to or from shadow passwords or groups. +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 \fBpwck\fR and \fBgrpck\fR to correct any such errors before +converting to or from shadow passwords or groups. .SH "SEE ALSO" .BR login.defs (5), .BR grpck (8), diff --git a/man/ru/Makefile.am b/man/ru/Makefile.am new file mode 100644 index 00000000..7047d26d --- /dev/null +++ b/man/ru/Makefile.am @@ -0,0 +1,6 @@ +mandir = @mandir@/ru + +man_MANS = \ + passwd.5 + +EXTRA_DIST = $(man_MANS) diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in new file mode 100644 index 00000000..5b4a147d --- /dev/null +++ b/man/ru/Makefile.in @@ -0,0 +1,361 @@ +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# This Makefile.in 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +LDFLAGS = @LDFLAGS@ +LIBCRACK = @LIBCRACK@ +LIBCRYPT = @LIBCRYPT@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ +LIBPAM = @LIBPAM@ +LIBS = @LIBS@ +LIBSKEY = @LIBSKEY@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +U = @U@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@/ru +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +man_MANS = \ + passwd.5 + + +EXTRA_DIST = $(man_MANS) +subdir = man/ru +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = + +NROFF = nroff +MANS = $(man_MANS) +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/ru/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +man5dir = $(mandir)/man5 +install-man5: $(man5_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man5dir) + @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.5*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \ + done +uninstall-man5: + @$(NORMAL_UNINSTALL) + @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.5*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 5*) ;; \ + *) ext='5' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \ + rm -f $(DESTDIR)$(man5dir)/$$inst; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = ../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(man5dir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-man5 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man5 + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-man5 install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am uninstall-man uninstall-man5 + +# 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/ru/passwd.5 b/man/ru/passwd.5 new file mode 100644 index 00000000..73230258 --- /dev/null +++ b/man/ru/passwd.5 @@ -0,0 +1,136 @@ +.\" Copyright (c) 1993 Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de), Fri Apr 2 11:32:09 MET DST 1993 +.\" +.\" This is free documentation; 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. +.\" +.\" The GNU General Public License's references to "object code" +.\" and "executables" are to be interpreted as the output of any +.\" document formatting or typesetting system, including +.\" intermediate and printed output. +.\" +.\" This manual 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 manual; if not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, +.\" USA. +.\" +.\" Modified Sun Jul 25 10:46:28 1993 by Rik Faith (faith@cs.unc.edu) +.\" Modified Sun Aug 21 18:12:27 1994 by Rik Faith (faith@cs.unc.edu) +.\" Modified Sun Jun 18 01:53:57 1995 by Andries Brouwer (aeb@cwi.nl) +.\" Modified Mon Jan 5 20:24:40 MET 1998 by Michael Haardt +.\" (michael@cantor.informatik.rwth-aachen.de) +.TH PASSWD 5 "$Date: 2003/04/28 02:17:55 $" "" "æÏÒÍÁÔÙ ÆÁÊÌÏ×" +.SH îáú÷áîéå +passwd \- ÆÁÊÌ ÐÁÒÏÌÅÊ +.SH ïðéóáîéå +.B Passwd +-- ÜÔÏ ÔÅËÓÔÏ×ÙÊ ÆÁÊÌ, ÓÏÄÅÒÖÁÝÉÊ ÓÐÉÓÏË ÕÞÅÔÎÙÈ ÚÁÐÉÓÅÊ ÐÏÌØÚÏ×ÁÔÅÌÅÊ +ÓÉÓÔÅÍÙ, ËÁÖÄÁÑ ÉÚ ËÏÔÏÒÙÈ ÓÏÄÅÒÖÉÔ ÔÁËÕÀ ÉÎÆÏÒÍÁÃÉÀ, ËÁË +ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ, ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ, +ËÏÍÁÎÄÎÕÀ ÏÂÏÌÏÞËÕ É Ô. Ä. þÁÓÔÏ × ÜÔÏÍ ÆÁÊÌÅ ÔÁËÖÅ ÓÏÄÅÒÖÁÔÓÑ +ÚÁÛÉÆÒÏ×ÁÎÎÙÅ ÐÁÒÏÌÉ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. üÔÏÔ ÆÁÊÌ ÄÏÌÖÅÎ ÂÙÔØ +ÄÏÓÔÕÐÅÎ ×ÓÅÍ ÄÌÑ ÞÔÅÎÉÑ (ÍÎÏÇÉÅ ÕÔÉÌÉÔÙ, ÎÁÐÒÉÍÅÒ, +.BR ls (1) +ÉÓÐÏÌØÚÕÀÔ ÜÔÏÔ ÆÁÊÌ ÄÌÑ ÓÏÐÏÓÔÁ×ÌÅÎÉÑ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× É ÉÍÅÎ +ÐÏÌØÚÏ×ÁÔÅÌÅÊ), ÎÏ ÚÁÐÉÓØ × ÎÅÇÏ ÒÁÚÒÅÛÅÎÁ ÔÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌÀ. +.PP +÷ ÓÔÁÒÙÅ ÄÏÂÒÙÅ ×ÒÅÍÅÎÁ ÎÅ ÂÙÌÏ ÎÉËÁËÉÈ ÐÒÏÂÌÅÍ Ó ÄÏÓÔÕÐÎÏÓÔØÀ ÜÔÏÇÏ +ÆÁÊÌÁ ÄÌÑ ÞÔÅÎÉÑ ×ÓÅÍÕ ÍÉÒÕ. ëÁÖÄÙÊ ÍÏÇ ÐÒÏÞÉÔÁÔØ ÚÁÛÉÆÒÏ×ÁÎÎÙÊ +ÐÁÒÏÌØ, ÎÏ ÜÌÅËÔÒÏÎÉËÁ ÂÙÌÁ ÓÌÉÛËÏÍ ÍÅÄÌÅÎÎÏÊ, ÞÔÏÂÙ ×ÚÌÏÍÁÔØ +ÐÒÁ×ÉÌØÎÏ ×ÙÂÒÁÎÎÙÊ ÐÁÒÏÌØ É, ÂÏÌÅÅ ÔÏÇÏ, ÏÓÎÏ×ÎÙÍ ÐÒÉÎÃÉÐÏÍ ÂÙÌÏ +ÄÒÕÖÅÌÀÂÉÅ ÓÒÅÄÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. óÅÊÞÁÓ ÍÎÏÇÉÅ ÉÓÐÏÌØÚÕÀÔ ÔÕ ÉÌÉ ÉÎÕÀ +×ÅÒÓÉÀ ËÏÍÐÌÅËÔÁ ÔÅÎÅ×ÙÈ ÐÁÒÏÌÅÊ, ÇÄÅ +.I /etc/passwd +ÓÏÄÅÒÖÉÔ Ú×ÅÚÄÏÞËÉ ×ÍÅÓÔÏ ÚÁÛÉÆÒÏ×ÁÎÎÏÇÏ ÐÁÒÏÌÑ, Á ÓÁÍÉ ÜÔÉ ÐÁÒÏÌÉ +ÈÒÁÎÑÔÓÑ × +.I /etc/shadow\fR, +ËÏÔÏÒÙÊ ÄÏÓÔÕÐÅÎ ÄÌÑ ÞÔÅÎÉÑ ÔÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌÀ. +.PP +îÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ, ÉÓÐÏÌØÚÕÀÔÓÑ ÌÉ ÔÅÎÅ×ÙÅ ÐÁÒÏÌÉ, ÍÎÏÇÉÅ ÓÉÓÔÅÍÎÙÅ +ÁÄÍÉÎÉÓÔÒÁÔÏÒÙ ÉÓÐÏÌØÚÕÀÔ Ú×ÅÚÄÏÞËÕ × ËÁÞÅÓÔ×Å ÚÁÛÉÆÒÏ×ÁÎÎÏÇÏ ÐÁÒÏÌÑ, +ÞÔÏÂÙ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÜÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÓÍÏÖÅÔ ×ÏÊÔÉ × ÓÉÓÔÅÍÕ ÐÏÄ +Ó×ÏÉÍ ÐÁÒÏÌÅÍ. (ïÄÎÁËÏ, ÓÍÏÔÒÉÔÅ ÎÉÖÅ úáíåþáîéñ). +.PP +åÓÌÉ ×Ù ÓÏÚÄÁÅÔÅ ÎÏ×ÕÀ ÕÞÅÔÎÕÀ ÚÁÐÉÓØ, ÓÎÁÞÁÌÁ ÐÏÍÅÓÔÉÔÅ × ÐÏÌÅ ÐÁÒÏÌÑ +Ú×ÅÚÄÏÞËÕ, ÚÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ +.BR passwd (1), +ÞÔÏÂÙ ÚÁÄÁÔØ ÎÁÓÔÏÑÝÉÊ ÐÁÒÏÌØ. +.PP +ëÁÖÄÁÑ ÕÞÅÔÎÁÑ ÚÁÐÉÓØ ÎÁÈÏÄÉÔÓÑ × ÏÄÎÏÊ ÓÔÒÏËÅ, Á ËÁÖÄÁÑ ÓÔÒÏËÁ ÉÍÅÅÔ +ÆÏÒÍÁÔ +.sp +.RS +account:password:UID:GID:GECOS:directory:shell +.RE +.sp +÷ÏÔ ÏÐÉÓÁÎÉÅ ÐÏÌÅÊ: +.sp +.RS +.TP 1.0in +.I account +ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ × ÓÉÓÔÅÍÅ. ïÎÏ ÎÅ ÄÏÌÖÎÏ ÓÏÄÅÒÖÁÔØ ÚÁÇÌÁ×ÎÙÈ ÂÕË×. +.TP +.I password +ÚÁÛÉÆÒÏ×ÁÎÎÙÊ ÐÁÒÏÌØ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÌÉ Ú×ÅÚÄÏÞËÁ. +.TP +.I UID +ÃÉÆÒÏ×ÏÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ. +.TP +.I GID +ÃÉÆÒÏ×ÏÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÏÓÎÏ×ÎÏÊ ÇÒÕÐÐÙ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. +.TP +.I GECOS +üÔÏ ÐÏÌÅ ÎÅÏÂÑÚÁÔÅÌØÎÏ É ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ ÄÌÑ ÉÎÆÏÒÍÁÃÉÏÎÎÙÈ ÃÅÌÅÊ. +ïÂÙÞÎÏ ÚÄÅÓØ ÓÏÄÅÒÖÉÔÓÑ ÐÏÌÎÏÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ. GECOS ÏÚÎÁÞÁÅÔ +General Electric Comprehensive Operating System, ËÏÔÏÒÁÑ ÂÙÌÁ +ÐÅÒÅÉÍÅÎÏ×ÁÎÁ × GCOS, ËÏÇÄÁ ÐÏÄÒÁÚÄÅÌÅÎÉÅ ÂÏÌØÛÉÈ ÓÉÓÔÅÍ ËÏÍÐÁÎÉÉ +General Electric ÂÙÌÏ ÐÒÏÄÁÎÏ ËÏÍÐÁÎÉÉ Honeywell. äÅÎÉÓ òÉÞÉ ÇÏ×ÏÒÉÌ: +"éÎÏÇÄÁ ÍÙ ÐÏÓÙÌÁÌÉ ÆÁÊÌ ÄÌÑ ÒÁÓÐÅÞÁÔËÉ ÉÌÉ ÎÁÂÏÒ ÚÁÄÁÞ ÄÌÑ ÐÁËÅÔÎÏÊ +ÏÂÒÁÂÏÔËÉ ÎÁ ÍÁÛÉÎÕ Ó GCOS. ÷ ÐÏÌÅ GCOS × ÆÁÊÌÅ ÐÁÒÏÌÅÊ ÐÒÑÔÁÌÁÓØ +ÉÎÆÏÒÍÁÃÉÑ ÄÌÑ $IDENTcard. îÅ ÜÌÅÇÁÎÔÎÏ." +.TP +.I directory +ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ ÐÏÌØÚÏ×ÁÔÅÌÑ ($HOME). +.TP +.I shell +ÐÒÏÇÒÁÍÍÁ, ËÏÔÏÒÁÑ ×ÙÐÏÌÎÑÅÔÓÑ ÐÒÉ ×ÈÏÄÅ × ÓÉÓÔÅÍÕ (ÅÓÌÉ ÚÄÅÓØ ÎÉÞÅÇÏ +ÎÅ ÕËÁÚÁÎÏ, ÉÓÐÏÌØÚÕÅÔÓÑ +.BR /bin/sh ). +åÓÌÉ ÚÄÅÓØ ÕËÁÚÁÎ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÊ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ, ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ +ÓÍÏÖÅÔ ×ÏÊÔÉ × ÓÉÓÔÅÍÕ Ó ÐÏÍÏÝØÀ +.BR login (1). +.RE +.SH úáíåþáîéå +åÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÏÚÄÁ×ÁÔØ ÇÒÕÐÐÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÔÏ ÉÈ GID ÄÏÌÖÎÙ ÂÙÔØ +ÏÄÉÎÁËÏ×Ù, Á × ÆÁÊÌÅ \fI/etc/group\fP, ÄÏÌÖÎÁ ÂÙÔØ ÚÁÐÉÓØ Ï ÜÔÏÊ +ÇÒÕÐÐÅ, ÉÌÉ ÖÅ ÜÔÁ ÇÒÕÐÐÁ ÎÅ ÂÕÄÅÔ ÓÕÝÅÓÔ×Ï×ÁÔØ. +.PP +åÓÌÉ × ÐÏÌÅ Ó ÚÁÛÉÆÒÏ×ÁÎÎÙÍ ÐÁÒÏÌÅÍ ÎÁÈÏÄÉÔÓÑ Ú×ÅÚÄÏÞËÁ, ÐÏÌØÚÏ×ÁÔÅÌØ +ÎÅ ÓÍÏÖÅÔ ×ÏÊÔÉ × ÓÉÓÔÅÍÕ Ó ÐÏÍÏÝØÀ +.BR login (1), +ÎÏ ÓÍÏÖÅÔ ÓÄÅÌÁÔØ ÜÔÏ Ó ÐÏÍÏÝØÀ +.BR rlogin (1), +×ÙÐÏÌÎÑÔØ ÓÕÝÅÓÔ×ÕÀÝÉÅ ÐÒÏÃÅÓÓÙ É ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÅ Ó ÐÏÍÏÝØÀ +.BR rsh (1), +.BR cron (1), +.BR at (1) +ÉÌÉ ÐÏÞÔÏ×ÙÈ ÆÉÌØÔÒÏ×, É Ô. Ð. ðÏÐÙÔËÁ ÚÁÂÌÏËÉÒÏ×ÁÔØ ÕÞÅÔÎÕÀ ÚÁÐÉÓØ, +ÉÚÍÅÎÑÑ ÐÏÌÅ shell, ÐÒÉ×ÅÄÅÔ Ë ÔÅÍ ÖÅ ÒÅÚÕÌØÔÁÔÁÍ, É ÄÏÐÏÌÎÉÔÅÌØÎÏ +ÐÏÚ×ÏÌÉÔ ÉÓÐÏÌØÚÏ×ÁÔØ +.BR su (1). +.SH æáêìù +.I /etc/passwd +.SH "óíïôòé ôáëöå" +.BR passwd (1), +.BR login (1), +.BR su (1), +.BR group (5), +.BR shadow (5) +.SH ðåòå÷ïä +ðÅÒÅ×ÏÄ Copyright (C) Alexey Mahotkin 1999 diff --git a/man/shadow.3 b/man/shadow.3 index 454a8dde..b47331d3 100644 --- a/man/shadow.3 +++ b/man/shadow.3 @@ -1,4 +1,4 @@ -.\"$Id: shadow.3,v 1.7 2001/01/25 10:43:51 kloczek Exp $ +.\"$Id: shadow.3,v 1.10 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" @@ -63,23 +63,23 @@ The structure in the \fI#include\fR file is struct spwd { .in +.5i .br - char *sp_namp; /* user login name */ + char *sp_namp; /* user login name */ .br - char *sp_pwdp; /* encrypted password */ + char *sp_pwdp; /* encrypted password */ .br - long sp_lstchg; /* last password change */ + long int sp_lstchg; /* last password change */ .br - int sp_min; /* days until change allowed. */ + long int sp_min; /* days until change allowed. */ .br - int sp_max; /* days before change required */ + long int sp_max; /* days before change required */ .br - int sp_warn; /* days warning for expiration */ + long int sp_warn; /* days warning for expiration */ .br - int sp_inact; /* days before account inactive */ + long int sp_inact; /* days before account inactive */ .br - int sp_expire; /* date when account expires */ + long int sp_expire; /* date when account expires */ .br - int sp_flag; /* reserved for future use */ + unsigned long int sp_flag; /* reserved for future use */ .br .in -.5i } @@ -106,39 +106,33 @@ sp_expire \- days since Jan 1, 1970 when account will be disabled. .br sp_flag \- reserved for future use. .SH DESCRIPTION -\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR, and \fBsgetspent\fR -each return a pointer to a \fBstruct spwd\fR. -\fBgetspent\fR returns the -next entry from the file, and \fBfgetspent\fR returns the next -entry from the given stream, which is assumed to be a file of -the proper format. +\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR, and \fBsgetspent\fR each +return a pointer to a \fBstruct spwd\fR. \fBgetspent\fR returns the next +entry from the file, and \fBfgetspent\fR returns the next entry from the +given stream, which is assumed to be a file of the proper format. \fBsgetspent\fR returns a pointer to a \fBstruct spwd\fR using the -provided string as input. -\fBgetspnam\fR searches from the current position in the file for -an entry matching \fBname\fR. +provided string as input. \fBgetspnam\fR searches from the current position +in the file for an entry matching \fBname\fR. .PP \fBsetspent\fR and \fBendspent\fR may be used to begin and end, respectively, access to the shadow password file. .PP -The \fBlckpwdf\fR and \fBulckpwdf\fR routines should be used to -insure exclusive access to the \fI/etc/shadow\fR file. -\fBlckpwdf\fR attempts to acquire a lock using \fBpw_lock\fR for -up to 15 seconds. -It continues by attempting to acquire a second lock using \fBspw_lock\fR -for the remainder of the initial 15 seconds. -Should either attempt fail after a total of 15 seconds, \fBlckpwdf\fR -returns -1. -When both locks are acquired 0 is returned. +The \fBlckpwdf\fR and \fBulckpwdf\fR routines should be used to insure +exclusive access to the \fI/etc/shadow\fR file. \fBlckpwdf\fR attempts to +acquire a lock using \fBpw_lock\fR for up to 15 seconds. It continues by +attempting to acquire a second lock using \fBspw_lock\fR for the remainder +of the initial 15 seconds. Should either attempt fail after a total of 15 +seconds, \fBlckpwdf\fR returns -1. When both locks are acquired 0 is +returned. .SH DIAGNOSTICS -Routines return NULL if no more entries are available or if an -error occurs during processing. -Routines which have \fBint\fR as the return value return 0 for -success and -1 for failure. +Routines return NULL if no more entries are available or if an error occurs +during processing. Routines which have \fBint\fR as the return value return +0 for success and -1 for failure. .SH CAVEATS -These routines may only be used by the super user as access to -the shadow password file is restricted. +These routines may only be used by the super user as access to the shadow +password file is restricted. .SH FILES -/etc/shadow \- encrypted user passwords +\fI/etc/shadow\fR \ - encrypted user passwords .SH SEE ALSO .BR getpwent (3), .BR shadow (5) diff --git a/man/shadow.5 b/man/shadow.5 index 6dd901a4..f86d6b61 100644 --- a/man/shadow.5 +++ b/man/shadow.5 @@ -1,4 +1,4 @@ -.\"$Id: shadow.5,v 1.9 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: shadow.5,v 1.11 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -29,10 +29,8 @@ .SH NAME shadow \- encrypted password file .SH DESCRIPTION -.I shadow -contains the encrypted password information for user's accounts -and optional the password aging information. -Included is +\fIshadow\fR contains the encrypted password information for user's accounts +and optional the password aging information. Included is .IP "" .5i Login name .IP "" .5i @@ -52,37 +50,31 @@ Days since Jan 1, 1970 that account is disabled .IP "" .5i A reserved field .PP -The password field must be filled. -The encryped password consists of 13 to 24 characters from the -64 character alphabet -a thru z, A thru Z, 0 thru 9, \. and /. -Refer to \fBcrypt\fR(3) for details on how this string is +The password field must be filled. The encryped password consists of 13 to +24 characters from the 64 character alphabet a thru z, A thru Z, 0 thru 9, +\. and /. Refer to \fBcrypt\fR(3) for details on how this string is interpreted. .PP -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. +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. .PP -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. +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. .PP -This information supercedes any password or password age -information present in \fI/etc/passwd\fR. +This information supercedes any password or password age information present +in \fI/etc/passwd\fR. .PP -This file must not be readable by regular users if password -security is to be maintained. +This file must not be readable by regular users if password security is to +be maintained. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/shadow \- encrypted user passwords +\fI/etc/shadow\fR \ - encrypted user passwords .SH SEE ALSO .BR chage (1), .BR login (1), diff --git a/man/shadowconfig.8 b/man/shadowconfig.8 index 75ba7b08..b246999a 100644 --- a/man/shadowconfig.8 +++ b/man/shadowconfig.8 @@ -1,4 +1,4 @@ -.\"$Id: shadowconfig.8,v 1.4 2001/08/23 23:10:48 kloczek Exp $ +.\"$Id: shadowconfig.8,v 1.6 2003/05/01 18:17:39 kloczek Exp $ .TH SHADOWCONFIG 8 "19 Apr 1997" "Debian GNU/Linux" .SH NAME shadowconfig \- toggle shadow passwords on and off @@ -7,18 +7,16 @@ shadowconfig \- toggle shadow passwords on and off .IR on " | " off .SH DESCRIPTION .PP -.B shadowconfig on -will turn shadow passwords on; -.B shadowconfig off -will turn shadow passwords off. -.B 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 -.I /usr/share/doc/passwd/README.debian.gz -for a brief introduction to shadow passwords and related features. +\fBshadowconfig on\fR will turn shadow passwords on; \fBshadowconfig off\fR +will turn shadow passwords off. \fBshadowconfig\fR 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. +.P +Read \fI/usr/share/doc/passwd/README.debian.gz\fR for a brief introduction +to shadow passwords and related features. +.P +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 f66dd193..75400c91 100644 --- a/man/su.1 +++ b/man/su.1 @@ -1,4 +1,4 @@ -.\"$Id: su.1,v 1.11 2002/03/09 19:22:30 ankry Exp $ +.\"$Id: su.1,v 1.13 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1990, Julianne Frances Haugh .\" All rights reserved. .\" @@ -46,9 +46,9 @@ 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 -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 +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 \fI/etc/login.defs\fR. .PP @@ -59,11 +59,9 @@ the root of a new filesystem which the user is actually logged into. This version of \fBsu\fR has many compilation options, only some of which may be in use at any particular site. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/shadow \- encrypted passwords and age information -.br -$HOME/.profile \- initialization script for default shell +\fI/etc/shadow\fR \ - encrypted passwords and age information .SH SEE ALSO .BR login (1), .BR sh (1), diff --git a/man/suauth.5 b/man/suauth.5 index 5f69d505..32112be5 100644 --- a/man/suauth.5 +++ b/man/suauth.5 @@ -1,4 +1,4 @@ -.\"$Id: suauth.5,v 1.3 2001/01/25 10:43:51 kloczek Exp $ +.\"$Id: suauth.5,v 1.4 2003/04/26 13:24:11 kloczek Exp $ .TH SUAUTH 5 "Feb 14, 1996" .UC 5 .SH NAME @@ -92,7 +92,7 @@ birddog:terry:NOPASS # .fi .SH FILES -/etc/suauth +\fI/etc/suauth\fR .SH BUGS There could be plenty lurking. The file parser is particularly unforgiving about syntax errors, expecting no spurious whitespace diff --git a/man/sulogin.8 b/man/sulogin.8 index 3a25b577..2e405430 100644 --- a/man/sulogin.8 +++ b/man/sulogin.8 @@ -1,4 +1,4 @@ -.\"$Id: sulogin.8,v 1.8 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: sulogin.8,v 1.10 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1989 - 1992, Julianne Frances Haugh .\" All rights reserved. .\" @@ -31,11 +31,9 @@ sulogin \- Single-user login .SH SYNTAX \fBsulogin\fR [\fItty-device\fR] .SH DESCRIPTION -.B sulogin -is invoked by \fBinit\fR prior to allowing the user -access to the system when in single user mode. -This feature may only be available on certain systems where -\fBinit\fR has been modified accordingly, or where the +\fBsulogin\fR is invoked by \fBinit\fR prior to allowing the user access to +the system when in single user mode. This feature may only be available on +certain systems where \fBinit\fR has been modified accordingly, or where the \fB/etc/inittab\fR has an entry for a single user login. .PP The user is prompted @@ -44,13 +42,11 @@ Type control-d to proceed with normal startup, .br (or give root password for system maintenance): .PP -Input and output will be performed with the standard file -descriptors unless the optional device name argument is provided. +Input and output will be performed with the standard file descriptors unless +the optional device name argument is provided. .PP -If the user enters the correct root password, a login session -is initiated. -When \fBEOF\fR is pressed instead, the system enters multi-user -mode. +If the user enters the correct root password, a login session is initiated. +When \fBEOF\fR is pressed instead, the system enters multi-user mode. .PP After the user exits the single-user shell, or presses \fBEOF\fR, the system begins the initialization process required to enter @@ -58,10 +54,8 @@ multi-user mode. .SH CAVEATS .PP This command can only be used if \fBinit\fR has been modified to call -\fBsulogin\fR instead of \fB/bin/sh\fR, -or if the user has set the \fIinittab\fR to support a single user -login. -For example, the line +\fBsulogin\fR instead of \fB/bin/sh\fR, or if the user has set the +\fIinittab\fR to support a single user login. For example, the line .br .sp 1 co:s:respawn:/etc/sulogin /dev/console @@ -69,15 +63,13 @@ co:s:respawn:/etc/sulogin /dev/console .sp 1 should execute the sulogin command in single user mode. .PP -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. +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. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/shadow \- encrypted passwords and age information -.br -/.profile \- initialization script for single user shell +\fI/etc/shadow\fR \ - encrypted passwords and age information .SH SEE ALSO .BR login (1), .BR sh (1), diff --git a/man/useradd.8 b/man/useradd.8 index 44f9fa41..0323c01d 100644 --- a/man/useradd.8 +++ b/man/useradd.8 @@ -1,4 +1,4 @@ -.\"$Id: useradd.8,v 1.13 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: useradd.8,v 1.18 2003/05/07 14:04:53 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -36,7 +36,7 @@ useradd \- Create a new user or update default new user information .br [\fB-g\fR \fIinitial_group\fR] [\fB-G\fR \fIgroup\fR[,...]] .br -[\fB-m\fR [\fB-k\fR \fIskeleton_dir\fR]] [\fB-o\fR] [\fB-p\fR \fIpasswd\fR] +[[\fB-M\fR] \fB-m\fR [\fB-k\fR \fIskeleton_dir\fR]] [\fB-o\fR] [\fB-p\fR \fIpasswd\fR] .br [\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR] \fIlogin\fR .TP 8 @@ -47,111 +47,124 @@ useradd \- Create a new user or update default new user information [\fB-s\fI default_shell\fR] .SH DESCRIPTION .SS Creating New Users -When invoked without the \fB-D\fR option, the \fBuseradd\fR command -creates a new user account using the values specified on the -command line and the default values from the system. -The new user account will be entered into the system files as needed, -the home directory will be created, and initial files copied, depending -on the command line options. -The options which apply to the \fBuseradd\fR command are: -.IP "\fB-c \fIcomment\fR" +When invoked without the \fB-D\fR option, the \fBuseradd\fR command creates +a new user account using the values specified on the command line and the +default values from the system. The new user account will be entered into +the system files as needed, the home directory will be created, and initial +files copied, depending on the command line options. The options which apply +to the \fBuseradd\fR command are: +.IP "\fB-c\fR \fIcomment\fR" The new user's password file comment field. -.IP "\fB-d \fIhome_dir\fR" -The new user will be created using \fIhome_dir\fR as the value for -the user's login directory. -The default is to append the \fIlogin\fR name to \fIdefault_home\fR -and use that as the login directory name. -.IP "\fB-e \fIexpire_date\fR" -The date on which the user account will be disabled. -The date is specified in the format \fIYYYY-MM-DD\fR. -.IP "\fB-f \fIinactive_days\fR" -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. -.IP "\fB-g \fIinitial_group\fR" -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 +.IP "\fB-d\fR \fIhome_dir\fR" +The new user will be created using \fIhome_dir\fR as the value for the +user's login directory. The default is to append the \fIlogin\fR name to +\fIdefault_home\fR and use that as the login directory name. +.IP "\fB-e\fR \fIexpire_date\fR" +The date on which the user account will be disabled. The date is specified +in the format \fIYYYY-MM-DD\fR. +.IP "\fB-f\fR \fIinactive_days\fR" +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. +.IP "\fB-g\fR \fIinitial_group\fR" +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 \fI/etc/default/useradd\fR. -.IP "\fB-G \fIgroup,[...]\fR" -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 \fB-g\fR option. -The default is for the user to belong only to the initial group. +.IP "\fB-G\fR \fIgroup,[...]\fR" +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 +\fB-g\fR option. The default is for the user to belong only to the initial +group. +.IP \fB-M\fR +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. .IP \fB-m\fR -The user's home directory will be created if it does not exist. -The files contained in \fIskeleton_dir\fR will be copied to the -home directory if the \fB-k\fR option is used, otherwise the -files contained in \fI/etc/skel\fR will be used instead. -Any directories contained in \fIskeleton_dir\fR or \fI/etc/skel\fR -will be created in the user's home directory as well. -The \fB-k\fR option is only valid in conjunction with the \fB-m\fR -option. -The default is to not create the directory and to not copy any -files. +The user's home directory will be created if it does not exist. The files +contained in \fIskeleton_dir\fR will be copied to the home directory if the +\fB-k\fR option is used, otherwise the files contained in \fI/etc/skel\fR +will be used instead. Any directories contained in \fIskeleton_dir\fR or +\fI/etc/skel\fR will be created in the user's home directory as well. The +\fB-k\fR option is only valid in conjunction with the \fB-m\fR option. The +default is to not create the directory and to not copy any files. .IP "\fB-o\fR" Allow create user with duplicate (non-unique) UID. .IP "\fB-p \fIpasswd\fR" -The encrypted password, as returned by \fBcrypt\fR(3). -The default is to disable the account. -.IP "\fB-s \fIshell\fR" -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. +The encrypted password, as returned by \fBcrypt\fR(3). The default is to +disable the account. +.IP "\fB-s\fR \fIshell\fR" +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. .IP "\fB-u \fIuid\fR" -The numerical value of the user's ID. -This value must be unique, unless the \fI-o\fR option is used. -The value must be non-negative. -The default is to use the smallest ID value greater than 99 and -greater than every other user. +The numerical value of the user's ID. This value must be unique, unless the +\fI-o\fR option is used. The value must be non-negative. The default is to +use the smallest ID value greater than 99 and greater than every other user. Values between 0 and 99 are typically reserved for system accounts. .SS Changing the default values -When invoked with the \fB-D\fR option, \fBuseradd\fR will either -display the current default values, or update the default values -from the command line. +When invoked with the \fB-D\fR option, \fBuseradd\fR will either display the +current default values, or update the default values from the command line. The valid options are -.IP "\fB-b \fIdefault_home\fR" -The initial path prefix for a new user's home directory. -The user's name will be affixed to the end of \fIdefault_home\fR -to create the new directory name if the \fB-d\fI option is not -used when creating a new account. -.IP "\fB-e \fIdefault_expire_date\fR" +.IP "\fB-b\fR \fIdefault_home\fR" +The initial path prefix for a new user's home directory. The user's name +will be affixed to the end of \fIdefault_home\fR to create the new directory +name if the \fB-d\fI option is not used when creating a new account. +.IP "\fB-e\fR \fIdefault_expire_date\fR" The date on which the user account is disabled. -.IP "\fB-f \fIdefault_inactive\fR" -The number of days after a password has expired before the -account will be disabled. -.IP "\fB-g \fIdefault_group\fR" -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 . -.IP "\fB-s \fIdefault_shell\fR" -The name of the new user's login shell. -The named program will be used for all future new user accounts. +.IP "\fB-f\fR \fIdefault_inactive\fR" +The number of days after a password has expired before the account will be +disabled. +.IP "\fB-g\fR \fIdefault_group\fR" +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 . +.IP "\fB-s\fR \fIdefault_shell\fR" +The name of the new user's login shell. The named program will be used for +all future new user accounts. .PP -If no options are specified, \fBuseradd\fR displays the current -default values. +If no options are specified, \fBuseradd\fR displays the current default +values. .SH NOTES -The system administrator is responsible for placing the default -user files in the \fI/etc/skel\fR directory. +The system administrator is responsible for placing the default user files +in the \fI/etc/skel/\fR directory. .SH CAVEATS -You may not add a user to an NIS group. -This must be performed on the NIS server. +You may not add a user to an NIS group. This must be performed on the NIS +server. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \- user account information .br -/etc/shadow \- secure user account information +\fI/etc/shadow\fR \- secure user account information .br -/etc/group \- group information +\fI/etc/group\fR \- group information .br -/etc/default/useradd \- default information +\fI/etc/default/useradd\fR \- default information .br -/etc/skel \- directory containing default files +\fI/etc/skel/\fR \- directory containing default files +.SH EXIT VALUES +.TP 2 +The \fBuseadd\fR command exits with the following values: +.br +\fB0\fR \- success +.br +\fB1\fR \- can't update password file +.br +\fB2\fR \- invalid command syntax +.br +\fB3\fR \- invalid argument to option +.br +\fB4\fR \- uid already in use (and no -o) +.br +\fB6\fR \- specified group doesn't exist +.br +\fB9\fR \- username already in use +.br +\fB10\fR \- can't update group file +.br +\fB12\fR \- can't create home directory +.br +\fB13\fR \- can't create mail spool .SH SEE ALSO .BR chfn (1), .BR chsh (1), diff --git a/man/userdel.8 b/man/userdel.8 index 5b182c1c..fafc6a7a 100644 --- a/man/userdel.8 +++ b/man/userdel.8 @@ -1,4 +1,4 @@ -.\"$Id: userdel.8,v 1.8 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: userdel.8,v 1.11 2003/05/01 18:17:39 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -33,28 +33,41 @@ userdel \- Delete a user account and related files [\fB-r\fR] .I login .SH DESCRIPTION -The \fBuserdel\fR command modifies the system account files, deleting -all entries that refer to \fIlogin\fR. -The named user must exist. -The options which apply to the \fBuserdel\fR command are: +The \fBuserdel\fR command modifies the system account files, deleting all +entries that refer to \fIlogin\fR. The named user must exist. The options +which apply to the \fBuserdel\fR command are: .IP \fB-r\fR -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 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. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \- user account information .br -/etc/shadow \- secure user account information +\fI/etc/shadow\fR \- secure user account information .br -/etc/group \- group information +\fI/etc/group\fR \- group information +.SH EXIT VALUES +.TP 2 +The \fBuserdel\fR command exits with the following values: +.br +\fB0\fR \- success +.br +\fB1\fR \- can't update password file +.br +\fB2\fR \- invalid command syntax +.br +\fB6\fR \- specified user doesn't exist +.br +\fB8\fR \- user currently logged in +.br +\fB10\fR \- can't update group file +.br +\fB12\fR \- can't remove home directory .SH CAVEATS -\fBuserdel\fR 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. +\fBuserdel\fR 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. .SH SEE ALSO .BR chfn (1), .BR chsh (1), diff --git a/man/usermod.8 b/man/usermod.8 index 7cf9aaae..dc2b5831 100644 --- a/man/usermod.8 +++ b/man/usermod.8 @@ -1,4 +1,4 @@ -.\"$Id: usermod.8,v 1.12 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: usermod.8,v 1.15 2003/10/21 20:13:11 kloczek Exp $ .\" Copyright 1991 - 1994, Julianne Frances Haugh .\" All rights reserved. .\" @@ -41,84 +41,69 @@ usermod \- Modify a user account [\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR [\fB-o\fR]] [\fB-L\fR|\fB-U\fR] \fIlogin\fR .SH DESCRIPTION -The \fBusermod\fR command modifies the system account files to reflect -the changes that are specified on the command line. -The options which apply to the \fBusermod\fR command are: -.IP "\fB-c \fIcomment\fR" -The new value of the user's password file comment field. -It is normally modified using the \fBchfn\fR(1) utility. -.IP "\fB-d \fIhome_dir\fR" -The user's new login directory. -If the \fB-m\fR 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. -.IP "\fB-e \fIexpire_date\fR" -The date on which the user account will be disabled. -The date is specified in the format \fIYYYY-MM-DD\fR. -.IP "\fB-f \fIinactive_days\fR" -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. -.IP "\fB-g \fIinitial_group\fR" -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 \fBusermod\fR command modifies the system account files to reflect the +changes that are specified on the command line. The options which apply to +the \fBusermod\fR command are: +.IP "\fB-c\fR \fIcomment\fR" +The new value of the user's password file comment field. It is normally +modified using the \fBchfn\fR(1) utility. +.IP "\fB-d\fR \fIhome_dir\fR" +The user's new login directory. If the \fB-m\fR 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. +.IP "\fB-e\fR \fIexpire_date\fR" +The date on which the user account will be disabled. The date is specified +in the format \fIYYYY-MM-DD\fR. +.IP "\fB-f\fR \fIinactive_days\fR" +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. +.IP "\fB-g\fR \fIinitial_group\fR" +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. -.IP "\fB-G \fIgroup,[...]\fR" -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 \fB-g\fR option. -If the user is currently a member of a group which is not listed, -the user will be removed from the group -.IP "\fB-l \fIlogin_name\fR" -The name of the user will be changed from \fIlogin\fR to -\fIlogin_name\fR. -Nothing else is changed. -In particular, the user's home directory name should probably -be changed to reflect the new login name. -.IP "\fB-p \fIpasswd\fR" -The encrypted password, as returned by \fBcrypt\fR(3). -.IP "\fB-s \fIshell\fR" -The name of the user's new login shell. -Setting this field to blank causes the system -to select the default login shell. -.IP "\fB-u \fIuid\fR" -The numerical value of the user's ID. -This value must be unique, unless the \fI-o\fR 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. +.IP "\fB-G\fR \fIgroup,[...]\fR" +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 +\fB-g\fR option. If the user is currently a member of a group which is not +listed, the user will be removed from the group. +.IP "\fB-l\fR \fIlogin_name\fR" +The name of the user will be changed from \fIlogin\fR to \fIlogin_name\fR. +Nothing else is changed. In particular, the user's home directory name +should probably be changed to reflect the new login name. +.IP "\fB-p\fR \fIpasswd\fR" +The encrypted password, as returned by \fBcrypt\fR(3). +.IP "\fB-s\fR \fIshell\fR" +The name of the user's new login shell. Setting this field to blank causes +the system to select the default login shell. +.IP "\fB-u\fR \fIuid\fR" +The numerical value of the user's ID. This value must be unique, unless the +\fI-o\fR 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. .IP "\fB-L\fR" -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 \fI-p\fR or \fI-U\fR. +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 \fI-p\fR +or \fI-U\fR. .IP "\fB-U\fR" -Unlock a user's password. -This removes the '!' in front of the encrypted password. -You can't use this option with \fI-p\fR or \fI-L\fR. +Unlock a user's password. This removes the '!' in front of the encrypted +password. You can't use this option with \fI-p\fR or \fI-L\fR. .SH CAVEATS \fBusermod\fR 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. +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. .SH FILES -/etc/passwd \- user account information +\fI/etc/passwd\fR \ - user account information .br -/etc/shadow \- secure user account information +\fI/etc/shadow\fR \ - secure user account information .br -/etc/group \- group information +\fI/etc/group\fR \ - group information .SH SEE ALSO .BR chfn (1), .BR chsh (1), diff --git a/man/vipw.8 b/man/vipw.8 index b7094f6c..099d897b 100644 --- a/man/vipw.8 +++ b/man/vipw.8 @@ -1,4 +1,4 @@ -.\"$Id: vipw.8,v 1.5 2002/03/08 04:39:12 kloczek Exp $ +.\"$Id: vipw.8,v 1.6 2003/05/01 18:17:39 kloczek Exp $ .TH VIPW 8 "26 Sep 1997" .SH NAME vipw, vigr \- edit the password, group, shadow-password, or shadow-group file. @@ -7,21 +7,13 @@ vipw, vigr \- edit the password, group, shadow-password, or shadow-group file. .br \fBvigr\fR [\fB-s\fR] .SH DESCRIPTION -.BR vipw " and " vigr -will edit the files -.IR /etc/passwd " and " /etc/group ", respectively." -With the -.B -s -flag, they will edit the shadow versions of those files, -.IR /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 -.BR VISUAL , -then the environment variable -.BR EDITOR , -and finally the default editor, +\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, +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 . .SH "SEE ALSO" .BR group (5), diff --git a/man/zh_CN/Makefile.am b/man/zh_CN/Makefile.am new file mode 100644 index 00000000..3472b3ae --- /dev/null +++ b/man/zh_CN/Makefile.am @@ -0,0 +1,15 @@ +# man pages encoded in GB2312 +mandir = @mandir@/zh_CN + +man_MANS = \ + chfn.1 \ + chpasswd.8 \ + chsh.1 \ + groupadd.8 \ + groupdel.8 \ + groupmod.8 \ + useradd.8 \ + userdel.8 \ + usermod.8 + +EXTRA_DIST = $(man_MANS) diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in new file mode 100644 index 00000000..489c053c --- /dev/null +++ b/man/zh_CN/Makefile.in @@ -0,0 +1,419 @@ +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# This Makefile.in 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +LDFLAGS = @LDFLAGS@ +LIBCRACK = @LIBCRACK@ +LIBCRYPT = @LIBCRYPT@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ +LIBPAM = @LIBPAM@ +LIBS = @LIBS@ +LIBSKEY = @LIBSKEY@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +U = @U@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ + +# man pages encoded in GB2312 +mandir = @mandir@/zh_CN +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +man_MANS = \ + chfn.1 \ + chpasswd.8 \ + chsh.1 \ + groupadd.8 \ + groupdel.8 \ + groupmod.8 \ + useradd.8 \ + userdel.8 \ + usermod.8 + + +EXTRA_DIST = $(man_MANS) +subdir = man/zh_CN +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = + +NROFF = nroff +MANS = $(man_MANS) +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/zh_CN/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +man1dir = $(mandir)/man1 +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done + +man8dir = $(mandir)/man8 +install-man8: $(man8_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man8dir) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ + done +uninstall-man8: + @$(NORMAL_UNINSTALL) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ + rm -f $(DESTDIR)$(man8dir)/$$inst; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = ../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-man1 install-man8 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 uninstall-man8 + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-man1 install-man8 \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man8 + +# 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/ko/chfn.1 b/man/zh_CN/chfn.1 similarity index 50% rename from man/ko/chfn.1 rename to man/zh_CN/chfn.1 index 32309435..06948e9c 100644 --- a/man/ko/chfn.1 +++ b/man/zh_CN/chfn.1 @@ -8,54 +8,57 @@ .\" .\" $Author: kloczek $ .\" $Revision: 1.1 $ -.\" $Date: 2002/03/13 19:03:01 $ +.\" $Date: 2003/04/28 02:14:04 $ .\" .TH CHFN 1 "October 13 1994" "chfn" "Linux Reference Manual" -.SH NAME -chfn \- »ç¿ëÀÚ finger Á¤º¸¸¦ ¹Ù²Û´Ù. -.SH SYNOPSIS +.SH Ãû³Æ +chfn \- ¸Ä ±ä Äã µÄ finger Ѷ Ï¢ +.SH Óï·¨ .B chfn [\ \-f\ full-name\ ] [\ \-o\ office\ ] [\ \-p\ office-phone\ ] [\ \-h\ home-phone\ ] [\ \-u\ ] [\ \-v\ ] [\ username\ ] -.SH DESCRIPTION +.SH ÃèÊö .B chfn -¸í·ÉÀº »ç¿ëÀÚÀÇ finger Á¤º¸¸¦ ¹Ù²Û´Ù. À̰ÍÀº -.I /etc/passwd -ÆÄÀÏÀÇ Á¤º¸¸¦ ¹Ù²Û´Ù. +ÊÇ Óà À´ ¸Ä ±ä Äã µÄ finger Ѷ Ï¢ ¡£ Ѷ Ï¢ ÊÇ ´æ ·Å ÔÚ +.I /etc/passwd µµ ÄÚ ¡£ ¿É ½å ÓÉ .B finger -¸í·ÉÀÌ »ç¿ëµÉ ¶§ ¹Ù·Î ÀÌ ÆÄÀÏÀ» ÂüÁ¶Çϱ⠶§¹®ÀÌ´Ù. +À´ ÏÔ Ê¾ Äã µÄ Ñ¶ Ï¢ ¡£ Linux .B finger -¸í·ÉÀº +Ãü Áî »á ÏÔ Ê¾ ËÄ ¶Î Ѷ Ï¢ £¬ Õâ Щ Ѷ Ï¢ ¾ù ¿É ½å ÓÉ .B chfn -¸í·É¿¡¼­ ¹Ù²ï ½ÇÀçÀ̸§, Á÷Àå, Á÷ÀåÀüÈ­, ÁýÀüÈ­¹øÈ£¸¦ º¸¿©ÁØ´Ù. -.SS COMMAND LINE -¾Æ¹« ¿É¼Ç ¾øÀÌ ÀÌ ¸í·ÉÀ» »ç¿ëÇϸé, Á÷Á¢ »ç¿ëÀÚ¿¡°Ô °¢°¢ÀÇ ¹Ù²Ü Á¤º¸¸¦ -¹°¾îº¸Áö¸¸, ÀÌ Á¤º¸µéÀ» ¸í·ÉÇà¿¡¼­ Á÷Á¢ ÀÔ·ÂÇÒ ¼öµµ ÀÖ´Ù. +¸Ä ±ä +: Õæ ʵ ÐÕ Ãû £¬ ¹¤ ×÷ µØ µã µç »° £¬ ¼° Äã ¼Ò µÄ µç »° ¡£ +.SS ÃüÁîÁÐ +ÿ Ò» ¶Î Ѷ Ï¢ ¾ù ¿É ÔÚ Ãü Áî ÁÐ ÉÏ Ö¸ ¶¨ ¡£ Èç û ÓÐ ¸ø ¶¨ Ѷ Ï¢ £¬ +.B chfn +½ø Èë ½» ̸ Ä£ ʽ .SS INTERACTIVE MODE -¾Æ¹« ¿É¼Ç ¾øÀÌ ÀÌ ¸í·ÉÀ» »ç¿ëÇϸé, Á÷Á¢ »ç¿ëÀÚ¿¡°Ô °¢°¢ÀÇ ¹Ù²Ü Á¤º¸¸¦ -¹°¾îº»´Ù. À̶§ Á¤´çÇÑ °ªÀ» ÁöÁ¤ÇØ ÁÖ°í, ¿ø·¡ÀÇ °ªÀ» ¹Ù²ÙÁö ¾ÊÀ¸·Á¸é, -±×³É Enter ±Û¼è¸¦ ´©¸£¸é µÈ´Ù. -.SH OPTIONS +½»Ì¸Ä£Ê½ +.B chfn +»á ÔÚ Ã¿ Ò» À¸ ǰ Ìá ʾ ¡£ ÔÚ Ìá ʾ ×´ ̬ Ï £¬ Äã ¾Í ¿É Êä Èë РµÄ Ѷ Ï¢ »ò +ÊÇ °´ return ¶ø ²» ¸Ä ±ä ¡£ +Êä Èë "none" Ôò ±í ʾ ¸Ã À¸ ¿Õ °× ¡£ +.SH Ñ¡Ïî .TP .I "\-f, \-\-full-name" -»ç¿ëÀÚ ½ÇÀç À̸§ +Õæ ʵ ÐÕ Ãû .TP .I "\-o, \-\-office" -»ç¿ëÀÚ Á÷Àå +°ì ¹¤ ÊÒ ºÅ Âë .TP .I "\-p, \-\-office-phone" -»ç¿ëÀÚ Á÷Àå ÀüÈ­¹øÈ£ +°ì ¹« ÊÒ µç »° .TP .I "\-h, \-\-home-phone" -»ç¿ëÀÚ Áý ÀüÈ­ ¹øÈ£ +¼Ò Àï µÄ µç »° .TP .I "\-u, \-\-help" -µµ¿ò¸»À» º¸¿©ÁÖ°í ¸¶Ä£´Ù. +Ðã ³ö ʹ Óà ˵ Ã÷ ¶Ì Ѷ ¡£ .TP .I "-v, \-\-version" -¹öÀü Á¤º¸¸¦ º¸¿©ÁÖ°í ¸¶Ä£´Ù. -.SH "SEE ALSO" +Ðã ³ö °æ ±¾ Ѷ Ï¢ ¡£ +.SH "Ïà¹ØÎļþ" .BR finger (1), .BR passwd (5) -.SH AUTHOR +.SH ×÷Õß Salvatore Valente diff --git a/man/fr/chpasswd.8 b/man/zh_CN/chpasswd.8 similarity index 60% rename from man/fr/chpasswd.8 rename to man/zh_CN/chpasswd.8 index ad4501c1..944e0af8 100644 --- a/man/fr/chpasswd.8 +++ b/man/zh_CN/chpasswd.8 @@ -1,5 +1,6 @@ .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. +.\"; ÖÐÎÄ°æ°æÈ¨ËùÓÐ soloman, Laser www.linuxforum.net 2000 .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -25,41 +26,47 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: chpasswd.8,v 1.1 2002/03/10 07:41:04 kloczek Exp $ +.\" $Id: chpasswd.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ .\" .TH CHPASSWD 8 -.SH NOM -\fBchpasswd\fR - met à jour le fichier de mots de passe par lot -.SH SYNOPSIS -\fBchpasswd [-e]\fR -.SH DESCRIPTION -\fBchpasswd\fR lit un fichier contenant des paires de nom d'utilisateur -et mot de passe depuis l'entrée standard et utilise cette information -pour mettre à jour un groupe d'utilisateurs existants. Sans l'option -e, -les mots de passe fournis doivent être en clair. Si l'option -e est -utilisée, les mots de passe doivent être fournis cryptés. Chaque ligne -est au format +.SH NAME Ãû×Ö +chpasswd \- ³ÉÅú¸üÐÂÓû§µÄ¿ÚÁî +.SH ×ÜÀÀ +chpasswd [\-e] +.SH ÃèÊö +.B chpasswd +´ÓϵͳµÄ±ê×¼ÊäÈë¶ÁÈëÓû§µÄÃû³ÆºÍ¿ÚÁ +²¢ÀûÓÃÕâЩÐÅÏ¢À´¸üÐÂϵͳÉÏÒÑ´æÔÚµÄÓû§µÄ¿ÚÁî¡£ +ÔÚûÓÐÓà \-e Õâ¸ö¿ª¹ØÑ¡ÏîµÄÇé¿öÏ£¬¿ÚÁ°´Ã÷ÎĵÄÐÎʽ½ÓÊÕ¡£ +Èç¹ûʹÓÃÁË \-e Ñ¡Ï¿ÚÁֻÄÜÒÔ¼ÓÃܵķ½Ê½´«µÝ¡£ +ÿÐеľßÌå¸ñʽÈçÏÂËùʾ£º .sp 1 - \fInom_d_utilisateur\fR:\fImot_de_passe\fR + \fIÓû§Ãû\fR£º\fIпÚÁî\fR .sp 1 -L'utilisateur doit exister. -Le mot de passe fourni sera crypté si nécessaire, et l'âge du mot de passe -sera mis à jour, s'il est présent. +Óû§Ãû±ØÐëÊÇϵͳÉÏÒÑ´æÔÚµÄÓû§¡£ +ÊäÈëµÄÃÜÂëÔÚ±ØÒªÊ±½øÐмÓÃÜ´¦Àí£¬ +Èç¹û¿ÚÁîÎļþ¾ßÓÐʱ¼äÌØÐÔ£¬Ôòͬʱ¸üС£ .PP -Cette commande est destinée à être utilisée dans un environnement où de nombreux -comptes sont créés en même temps. -.SH AVERTISSEMENTS +´ËÃüÁîÊÊÓÃÓÚ´óÐ͵Äϵͳ£¬ÔÚ´ËÀàϵͳÖУ¬ +Óû§Ò»°ã¶¼ÊÇÒ»´ÎͬʱÉú³ÉµÄ£¬¶øÓà adduser ºÍ +passwd ¿ÚÁîÀ´¶ÔÆäÒ»Ò»½øÐÐÉèÖÃÒ»°ã˵ÍùÍù±È½ÏÂý¡£ +.SH ×¢ÒâÊÂÏî .\" The \fBmkpasswd\fR command must be executed afterwards to update the .\" DBM password files. -Le fichier d'entrée doit être correctement protégé s'il contient des mots de -passe en clair. .\" This command may be discarded in favor of the newusers(8) command. -.SH VOIR AUSSI -.\" mkpasswd(8), passwd(1), useradd(1) -.BR passwd (1), -.BR useradd (8), -.BR newusers (8) -.SH AUTEUR -Julianne Frances Haugh -.SH TRADUCTION -Amand Tihon +ÒòΪ¿ÉÒÔʹÓÃÎļþÖØ¶¨Ïò½øÐÐÊäÈ룬 +¼´£ºchpasswd < user&passwd-filename£¬ +Èç¹ûÊäÈëÎļþÊǰ´·Ç¼ÓÃÜ·½Ê½´«µÝµÄ»°£¬Çë¶Ô¸ÃÎļþ½øÐÐÊʵ±µÄ¼ÓÃÜ¡£ +.SH ÓÖ¼û +passwd(1),useradd(8),newuser(8) +.SH ×÷Õß +Julianne Frances Haugh (jfh@bga.com) +.SH "[ÖÐÎİæÎ¬»¤ÈË]" +.B ËùÂÞÃÅ +.SH "[ÖÐÎİæ×îиüÐÂ]" +2000/11/26 + +.SH "[Öйú Linux ÂÛ̳ man ÊÖ²áÒ³·­Òë¼Æ»®]" +.TP +.BI http://www.cmpp.net/ + diff --git a/man/ko/chsh.1 b/man/zh_CN/chsh.1 similarity index 51% rename from man/ko/chsh.1 rename to man/zh_CN/chsh.1 index 7a545bdb..8ed09e4e 100644 --- a/man/ko/chsh.1 +++ b/man/zh_CN/chsh.1 @@ -8,42 +8,44 @@ .\" .\" $Author: kloczek $ .\" $Revision: 1.1 $ -.\" $Date: 2002/03/13 19:03:01 $ +.\" $Date: 2003/04/28 02:14:04 $ .\" .TH CHSH 1 "October 13 1994" "chsh" "Linux Reference Manual" -.SH NAME -chsh \- »ç¿ëÀÚ ·Î±×ÀÎ ½©À» ¹Ù²Û´Ù. -.SH SYNOPSIS +.SH Ãû³Æ +chsh \- ¸ü»»ÄãµÇÈëʱËùÓõÄshell +.SH Óï·¨ .B chsh [\ \-s\ shell\ ] [\ \-l\ ] [\ \-u\ ] [\ \-v\ ] [\ username\ ] -.SH DESCRIPTION +.SH ÃèÊö .B chsh -¸í·ÉÀº »ç¿ëÀÚ°¡ »ç¿ëÇϰí ÀÖ´Â ·Î±×ÀÎ ½©À» ¹Ù²Ù´Âµ¥, »ç¿ëµÈ´Ù. -(À̸»Àº exit ¸í·ÉÀ» »ç¿ëÇßÀ» ¶§ ·Î±×¾Æ¿ôµÇ´Â ½©À» ¸»ÇÑ´Ù.) -¸í·ÉÇà¿¡¼­ ½©À» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é, »ç¿ëÀÚ¿¡°Ô ¹°¾îº»´Ù. -.SS VALID SHELLS +ÓÃÀ´¸ü»»ÄãµÇÈëʱËùÓõÄshell +¡£ÔÚÃüÁîÁÐûָ¶¨shell¡£ .B chsh -¸í·É¿¡¼­´Â Àý´ë °æ·Î¸¦ ÁöÁ¤ÇÏ´Â ¾î¶°ÇÑ ½ÇÇàÆÄÀϵµ ÁöÁ¤ÀÌ °¡´ÉÇÏ´Ù. -ÇÏÁö¸¸, +»áÌáʾһ¸ö¸øÄã¡£ +.SS ÓÐЧµÄshell +.B chsh +¿ÉÓÃÖ¸¶¨Â·¾¶È«ÃûµÄ·½Ê½À´Ö¸¶¨ÈκÎÒ»¸ö¿ÉÖ´Ðеĵµ°¸¡£ +È»¶ø£¬Èç¹û´Ë shell²¢Ã»¼Í¼ÔÚ .I /etc/shells -ÆÄÀÏ¿¡¼­ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Â Ç®±×¸²À» »ç¿ëÇÒ °æ¿ì¿¡´Â °æ°í ¸Þ½ÃÁö¸¦ º¸¿©ÁØ´Ù. -.SH OPTIONS +µµÉÏ£¬Ôòchsh»áÌá³ö¾¯¸æÑ¶Ï¢¡£ +.SH Ñ¡Ïî .TP .I "\-s, \-\-shell" -ÁöÁ¤ÇÏ´Â ½©À» ¾ÕÀ¸·Î »ç¿ëÇÒ ·Î±×ÀÎ ½©·Î ¹Ù²Û´Ù. +±ä¸üÄãµÄµÇÈëshell. .TP .I "\-l, \-\-list-shells" +Áгö¼Í¼ÔÚ .I /etc/shells -ÆÄÀÏ ¾È¿¡ ÁöÁ¤µÈ ½©À» ³ª¿­ÇÏ°í ¸¶Ä£´Ù. +µÄshell¡£ .TP .I "\-u, \-\-help" -µµ¿ò¸»À» º¸¿©ÁÖ°í ¸¶Ä£´Ù. +ʹÓöÌѶ¡£ .TP .I "-v, \-\-version" -¹öÀü Á¤º¸¸¦ º¸¿©ÁÖ°í ¸¶Ä£´Ù. -.SH "SEE ALSO" +°æ±¾×ÊѶ +.SH "Ïà¹ØÎļþ" .BR login (1), .BR passwd (5), .BR shells (5) -.SH AUTHOR +.SH ×÷Õß Salvatore Valente diff --git a/man/it/groupadd.8 b/man/zh_CN/groupadd.8 similarity index 51% rename from man/it/groupadd.8 rename to man/zh_CN/groupadd.8 index 7a2c1873..b7d90edf 100644 --- a/man/it/groupadd.8 +++ b/man/zh_CN/groupadd.8 @@ -1,66 +1,93 @@ -.\" Copyright 1991, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: groupadd.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH GROUPADD 8 -.SH NOME -groupadd \- Crea un nuovo gruppo -.SH SINTASSI -.B groupadd -[\fB-g\fI gid \fR[\fB-o\fR]] -.I gruppo -.SH DESCRIZIONE -Il comando \fBgroupadd\fR crea un nuovo account di gruppo usando i valori -specificati sulla linea di comando ed i valori predefiniti dal sistema. -Il nuovo gruppo verrà aggiunto ai file di sistema che lo necessitano. -Le opzioni che si applicano al comando \fBgroupadd\fR sono -.IP "\fB-g \fIgid\fR" -Il valore numerico dell'identificatore (ID) del gruppo. -Questo valore deve essere univoco, a meno che non venga usata l'opzione \fB-o\fR. -Il valore deve essere non-negativo. -La scelta predefinita è quella di usare il minimo valore di ID superiore a 99 -e superiore a qualunque altro gruppo. -Valori tra 0 e 99 sono tipicamente riservati per account di sistema. -.SH FILE -/etc/group \- informazioni sugli account di gruppo -.br -/etc/gshadow \- informazioni sicure sugli account di gruppo -.SH VEDERE ANCHE -.BR chfn (1), -.BR chsh (1), -.BR useradd (8), -.BR userdel (8), -.BR usermod (8), -.BR passwd (1), -.BR groupdel (8), -.BR groupmod (8) -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) +.\" Copyright 1991, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: groupadd.8,v 1.3 2004/01/05 01:08:36 kloczek Exp $ +.\" +.TH GROUPADD 8 +.SH Ãû³Æ +groupadd \- ½¨ Á¢ РȺ ×é +.SH Óï·¨ +.B groupadd +[\fB-g\fI gid \fR[\fB-o\fR]] [\fB-r\fR] [\fB-f\fR] \fIgroup\fR +.SH ÃèÊö +\fBgroupadd\fR +¿É Ö¸ ¶¨ Ⱥ ×é Ãû ³Æ À´ ½¨ Á¢ РµÄ Ⱥ ×é ÕÊ ºÅ ¡£ +Ðè Òª ʱ ¿É ´Ó ϵ ͳ ÖÐ È¡ µÃ РȺ ×é Öµ ¡£ +\fBgroupadd\fR ÓÐ Ï ÁÐ Ñ¡ Ïî ¿É Óà ¡£ +.IP "\fB-g \fIgid\fR" +group's ID Öµ ¡£ +³ý ·Ç ʹ Óà \fB-o\fR ²Î Êý ²» È» ¸Ã Öµ ±Ø Ðë ÊÇ Î¨ Ò» £¬ ²» ¿É Ïà ͬ ¡£ +Êý Öµ ²» ¿É Ϊ ¸º ¡£ +Ô¤ Éè Ϊ ×î С ²» µÃ С ÓÚ 500 ¶ø Öð ´Î Ôö ¼Ó ¡£ 0~499 ´« ͳ ÉÏ +ÊÇ ±£ Áô ¸ø \fIϵͳÕʺÅ\fR ʹ Óà ¡£ +.IP \fB-r\fR + + +´Ë ²Î Êý ÊÇ Óà À´ ½¨ Á¢ \fIϵͳÕʺÅ\fR ¡£ +µÄ UID »á ±È ¶¨ Òå ÔÚ Ïµ ͳ µµ ÉÏ /etc/login.defs. +µÄ UID_MIN À´ µÄ С ¡£ ×¢ Òâ useradd ´Ë Óà ·¨ Ëù ½¨ +Á¢ µÄ ÕÊ ºÅ ²» »á ½¨ Á¢ ʹ Óà Õß Ä¿ ¼ £¬ Ò² ²» »á +ÔÚ ºõ ¼Í ¼ ÔÚ /etc/login.defs. µÄ ¶¨ Òå Öµ ¡£ Èç +¹û Äã Ïë Òª ÓРʹ Óà Õß Ä¿ ¼ Ðë ¶î Íâ Ö¸ ¶¨ -m ²Î +Êý À´ ½¨ Á¢ ϵ ͳ ÕÊ ºÅ ¡£ Õâ ÊÇ RED HAT ¶î Íâ Ôö +Éè µÄ Ñ¡ Ïî ¡£ +Ëü »á ×Ô ¶¯ °ï Äã Ñ¡ ¶¨ Ò» ¸ö С ÓÚ 499 µÄ \fIgif\fR +²» Ðè Òª ÔÙ ¼Ó ÉÏ \fB-g\fR ²Î Êý ¡£ +.br +Õâ ÊÇ RED HAT ¶î Íâ Ôö Éè µÄ Ñ¡ Ïî ¡£ + +.IP \fB-f\fR +This is \fIforce\fR flag. +РÔö Ò» ¸ö ÒÑ ¾­ ´æ ÔÚ µÄ Ⱥ ×é ÕÊ ºÅ £¬ ϵ ͳ »á ³ö +ÏÖ ´í Îó Ѷ Ï¢ È» ºó ½á Êø \fBgroupadd\fR ¡£ + Èç ¹û ÊÇ Õâ Ñù µÄ Çé ¿ö £¬ ²» »á РÔö Õâ ¸ö Ⱥ ×é +( Èç ¹û ÊÇ Õâ ¸ö Çé ¿ö Ï £¬ ϵ ͳ ²» »á Ô٠РÔö Ò» ´Î ) +.br +Ò² ¿É ͬ ʱ ¼Ó ÉÏ \fB-g\fR Ñ¡ Ïî +µ± Äã ¼Ó ÉÏ Ò» ¸ö \fIgid\fR £¬ ´Ë ʱ \fIgid\fR +¾Í ²» Óà ÊÇ Î¨ Ò» Öµ £¬ ¿É ²» ¼Ó \fB-o\fR ²Î Êý £¬ +½¨ ºÃ Ⱥ ×é ºó »á ÏÔ ½á ¹û +(adding a group as neither \fB-g\fR or \fB-o\fR options were +specified). + +.br +Õâ ÊÇ RED HAT ¶î Íâ Ôö Éè µÄ Ñ¡ Ïî ¡£ +.SH µµ°¸ +\fI/etc/group\fR \- Ⱥ ×é ×Ê Ñ¶ +.br +\fI/etc/gshadow\fR \- Ⱥ ×é ×Ê Ñ¶ ¼Ó ÃÜ +.SH Ïà¹ØÎļþ +.BR chfn (1), +.BR chsh (1), +.BR useradd (8), +.BR userdel (8), +.BR usermod (8), +.BR passwd (1), +.BR groupdel (8), +.BR groupmod (8) +.SH ×÷Õß +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/it/groupdel.8 b/man/zh_CN/groupdel.8 similarity index 67% rename from man/it/groupdel.8 rename to man/zh_CN/groupdel.8 index e930eb4f..ed65fbd1 100644 --- a/man/it/groupdel.8 +++ b/man/zh_CN/groupdel.8 @@ -1,63 +1,57 @@ -.\" Copyright 1991 - 1993, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: groupdel.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH GROUPDEL 8 -.SH NOME -groupdel \- Rimuove un gruppo -.SH SINTASSI -.B groupdel -.I gruppo -.SH DESCRIZIONE -Il comando \fBgroupdel\fR modifica i file di account di sistema, rimuovendo -tutte le voci che si riferiscono a \fIgruppo\fR. -Il gruppo nominato deve esistere. -.PP -Occorre controllare manualmente tutti i filesystem per assicurarsi che non -rimanga alcun file avente come ID di gruppo del file il gruppo specificato. -.SH CAVEAT -Non si può rimuovere il gruppo primario di qualche utente esistente. -Occorre rimuovere l'utente prima di rimuovere il gruppo. -.SH FILE -/etc/group \- informazioni sui gruppi -.br -/etc/gshadow \- informazioni sicure sui gruppi -.SH VEDERE ANCHE -.BR chfn (1), -.BR chsh (1), -.BR useradd (8), -.BR userdel (8), -.BR usermod (8), -.BR passwd (1), -.BR groupadd (8), -.BR groupmod (8) -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) +.\" Copyright 1991 - 1993, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: groupdel.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH GROUPDEL 8 +.SH Ãû³Æ +groupdel \- ɾ³ýȺ×é +.SH Óï·¨ +.B groupdel +.I group +.SH ÃèÊö +\fBgroupdel\fR ÃüÁî»áÐÞ¸ÄϵͳÕʺŵµ£¬»áɾ³ýËùÓÐÒѾ­´æÔÚµÄ\fIgroup\fR. +Ⱥ×éÃûÐë´æÔÚ¡£ +.PP +ÄãÐëÊÖ¶¯È·ÈÏÒ»ÏÂËùÓеĵµ°¸ÏµÍ³È·±£ÓÐûÓеµ°¸»¹ÊÇûÐÞÕýȺ×éÃû±ä³ÉȺ×éID¡£ +.SH ¾¯¸æ +Èç¹ûÓÐÈκÎÒ»¸öȺ×éµÄʹÓÃÕßÔÚÏßÉϵϰ¾Í²»ÄÜÒÆ³ý¸ÃȺ×é¡£ +×îºÃÏÈÒÆ³ýʹÓÃÕߺóÔÙÒÆ³ýȺ×é¡£ +.SH µµ°¸ +\fI/etc/group\fR \- Ⱥ×é×ÊѶ +\fI/etc/gshadow\fR \- Ⱥ×é×ÊѶ¼ÓÃÜ +.SH Ïà¹ØÎļþ +.BR chfn (1), +.BR chsh (1), +.BR useradd (8), +.BR userdel (8), +.BR usermod (8), +.BR passwd (1), +.BR groupadd (8), +.BR groupmod (8) +.SH ×÷Õß +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/it/groupmod.8 b/man/zh_CN/groupmod.8 similarity index 62% rename from man/it/groupmod.8 rename to man/zh_CN/groupmod.8 index 78369228..20abf1b9 100644 --- a/man/it/groupmod.8 +++ b/man/zh_CN/groupmod.8 @@ -1,69 +1,68 @@ -.\" Copyright 1991, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: groupmod.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH GROUPMOD 8 -.SH NOME -groupmod \- Modifica un gruppo -.SH SINTASSI -.B groupmod -[\fB-g\fI gid \fR[\fB-o\fR]] -[\fB-n\fI nome_gruppo \fR] -.I gruppo -.SH DESCRIZIONE -Il comando \fBgroupmod\fR modifica i file di account del sistema in modo -da riflettere i cambiamenti che sono specificati sulla linea di comando. -Le opzioni che si applicano al comando \fIgroupmod\fR sono -.IP "\fB-g \fIgid\fR" -Il valore numerico dell'identificatore (ID) del gruppo. -Questo valore deve essere univoco, a meno che non venga usata l'opzione -\fB-o\fR. -Il valore deve essere non-negativo. -Valori tra 0 e 99 sono tipicamente riservati per gruppi di sistema. -Occorre modificare manualmente l'ID di gruppo di tutti i file -il cui ID di gruppo è quello vecchio. -.IP "\fB-n \fInome_gruppo\fR" -Il nome del gruppo verrà modificato da \fIgruppo\fR a \fInome_gruppo\fR. -.SH FILE -/etc/group \- informazioni sui gruppi -.br -/etc/gshadow \- informazioni sicure sui gruppi -.SH VEDERE ANCHE -.BR chfn (1), -.BR chsh (1), -.BR useradd (8), -.BR userdel (8), -.BR usermod (8), -.BR passwd (1), -.BR groupadd (8), -.BR groupdel (8) -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) +.\" Copyright 1991, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: groupmod.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH GROUPMOD 8 +.SH Ãû³Æ +groupmod \- ÐÞ ¸Ä Ⱥ ×é +.SH Óï·¨ +.B groupmod +[\fB-g\fI gid \fR[\fB-o\fR]] +[\fB-n\fI group_name \fR] +.I group +.SH ÃèÊö + +\fBgroupmod\fR Ãü Áî »á ²Î ÕÕ Äã Ãü Áî ÁÐ ÉÏ Ö¸ ¶¨ µÄ ²¿ ·Ý +ÐÞ ¸Ä ϵ ͳ ÕÊ ºÅ µµ ¡£ Ï ÁРΪ \fIgroupmod\fR ¿É Ñ¡ Óà µÄ ²Î Êý ¡£ + +.IP "\fB-g \fIgid\fR" +Ⱥ ×é I D Öµ ¡£ +±Ø Ðë Ϊ Ψ Ò» µÄ ID Öµ £¬ ³ý ·Ç Óà -o Ñ¡ Ïî ¡£ +Êý ×Ö ²» ¿É Ϊ ¸º Öµ¡£Ô¤ Éè Ϊ ×î +С ²» µÃ С ÓÚ 99 ¶ø Öð ´Î Ôö ¼Ó ¡£ 0~99 ´« ͳ ÉÏ +ÊÇ ±£ Áô ¸ø ϵ ͳ ÕÊ ºÅ ʹ Óà ¡£ +Èç ¹û ÓÐ µµ °¸ ʹ Óà ¾É µÄ Ⱥ ×é ID £¬ ¶ø Õâ ʱ ºò Äã РÔö µÄ Ⱥ ×é ID +Ç¡ ºÃ Óë ¾É µÄ Ïà ͬ £¬ Õâ Ñù µÄ »° +Äã Òª ÊÖ ¶¯ ¸Ä Ò» Ï Õâ Щ µµ °¸ µÄ Ⱥ ×é ID ¡£ +.IP "\fB-n \fIgroup_name\fR" +¸ü ¸Ä Ⱥ ×é Ãû ¡£ +.SH µµ°¸ +\fI/etc/group\fR \- Ⱥ ×é ×Ê Ñ¶ +.br +\fI/etc/gshadow\fR \- Ⱥ ×é ×Ê Ñ¶ ¼Ó ÃÜ +.SH Ïà¹ØÎļþ +.BR chfn (1), +.BR chsh (1), +.BR useradd (8), +.BR userdel (8), +.BR usermod (8), +.BR passwd (1), +.BR groupadd (8), +.BR groupdel (8) +.SH ×÷Õß +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/zh_CN/useradd.8 b/man/zh_CN/useradd.8 new file mode 100644 index 00000000..5845c05c --- /dev/null +++ b/man/zh_CN/useradd.8 @@ -0,0 +1,198 @@ +.\" Copyright 1991 - 1994, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: useradd.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH USERADD 8 +.SH Ãû ³Æ +useradd \- ÕÊ ºÅ ½¨ Á¢ »ò ¸ü РРʹ Óà Õß µÄ ×Ê Ñ¶ +.SH Óï ·¨ +.TP 8 +.B useradd +.\" .RB [ -A +.\" .RI { method | \fBDEFAULT\fR "},... ]" +.RB [ -c +.IR comment ] +.RB [ -d +.IR home_dir ] +.br +.RB [ -e +.IR expire_date ] +.RB [ -f +.IR inactive_time ] +.br +.RB [ -g +.IR initial_group ] +.RB [ -G +.IR group [,...]] +.br +.RB [ -m " [" -k +.IR skeleton_dir ] " |" " " -M ] +.RB [ -s +.IR shell ] +.br +.RB [ -u +.IR uid " [" +.BR -o ]] +.RB [ -n ] +.RB [ -r ] +.I login +.TP 8 +.B useradd +\fB-D\fR +[\fB-g\fI default_group\fR] +[\fB-b\fI default_home\fR] +.br +[\fB-f\fI default_inactive\fR] +[\fB-e\fI default_expire_date\fR] +.br +[\fB-s\fI default_shell\fR] +.SH Ãè Êö +.SS РÕÊ ºÅ ½¨ Á¢ +µ± ²» ¼Ó \fB-D\fR ²Î Êý , \fBuseradd\fR Ö¸ Áî ʹ Óà Ãü Áî ÁÐ À´ Ö¸ ¶¨ +РÕÊ ºÅ µÄ Éè ¶¨ Öµ and ʹ Óà ϵ ͳ ÉÏ µÄ Ô¤ Éè Öµ . +Рʹ Óà Õß ÕÊ ºÅ ½« ²ú Éú Ò» Щ ϵ ͳ µµ °¸ £¬ ʹ Óà Õß Ä¿ ¼ ½¨ Á¢ £¬ +¿½ ±¸ Æð ʼ µµ °¸ µÈ +£¬ Õâ Щ ¾ù ¿É ÒÔ Àû Óà Ãü ÁîÁÐ Ñ¡ Ïî Ö¸ ¶¨ ¡£ ´Ë °æ ±¾ Ϊ Red Hat Linux Ìá ¹© +£¬ ¿É °ï ÿ ¸ö Р¼Ó Èë µÄ Ê¹ Óà Õß ½¨ Á¢ ¸ö ±ð µÄ group , Îã Ðë Ìí ¼Ó \fB-n\fR +Ñ¡ Ïî ¡£ +\fBuseradd\fR ¿É ʹ Óà µÄ Ñ¡ Ïî Ϊ +.\" .IP "\fB-A {\fImethod\fR|\fBDEFAULT\fR},..." +.\" The value of the user's authentication method. +.\" The authentication method is the name of a program which is responsible +.\" for validating the user's identity. +.\" The string \fBDEFAULT\fR may be used to change the user's authentication +.\" method to the standard system password method. +.\" This is a comma-separated list of program names. +.\" It may include \fBDEFAULT\fR exactly once. +.IP "\fB-c \fIcomment\fR" +РÕÊ ºÅ password µµ µÄ ˵ Ã÷ À¸ ¡£ +.IP "\fB-d \fIhome_dir\fR" +РÕÊ ºÅ ÿ ´Î µÇ Èë ʱ Ëù ʹ Óà µÄ \fIhome_dir\fR ¡£ +Ô¤ Éè Öµ Ϊ \fIdefault_home\fR ÄÚ \fIlogin\fR Ãû ³Æ £¬ ²¢ µ± ³É µÇ Èë ʱ Ä¿ ¼ +Ãû ³Æ ¡£ +.IP "\fB-e \fIexpire_date\fR" +ÕÊ ºÅ ÖÕ Ö¹ ÈÕ ÆÚ ¡£ ÈÕ ÆÚ µÄ Ö¸ ¶¨ ¸ñ ʽ Ϊ \fIMM/DD/YY\fR ¡£ +.IP "\fB-f \fIinactive_days\fR" +ÕÊ ºÅ ¹ý ÆÚ ¼¸ ÈÕ ºó ÓÀ ¾Ã Í£ Ȩ ¡£ +µ± Öµ Ϊ 0 ʱ ÕÊ ºÅ Ôò Á¢ ¿Ì ±» Í£ Ȩ ¡£ +¶ø µ± Öµ Ϊ -1 ʱ Ôò ¹Ø ±Õ ´Ë ¹¦ ÄÜ £¬ Ô¤ Éè Öµ Ϊ -1 +.IP "\fB-g \fIinitial_group\fR" +group Ãû ³Æ »ò ÒÔ Êý ×Ö À´ ×ö Ϊ ʹ Óà Õß µÇ Èë Æð ʼ Ⱥ ×é (group) ¡£ +Ⱥ ×é Ãû Ðë Ϊ ÏÖ ÓÐ ´æ ÔÚ µÄ Ãû ³Æ ¡£ +Ⱥ ×é Êý ×Ö Ò² Ðë Ϊ ÏÖ ÓÐ ´æ ÔÚ µÄ Ⱥ ×é ¡£ +Ô¤ Éè µÄ Èº ×é Êý ×Ö Îª 1 ¡£ +.IP "\fB-G \fIgroup,[...]\fR" +¶¨ Òå ´Ë Ê¹ Óà Õß Îª ´Ë Ò» ¶Ñ groups µÄ ³É Ô± ¡£ +ÿ ¸ö Ⱥ ×é ʹ Óà "," Çø ¸ñ ¿ª À´ £¬ ²» ¿É ÒÔ ¼Ð ÔÓ ¿Õ °× ×Ö Ôª ¡£ + Ⱥ ×é Ãû ͬ \fB-g\fR Ñ¡ Ïî µÄ ÏÞ ÖÆ ¡£ +¶¨ Òå Öµ Ϊ ʹÓà Õß µÄ Æð ʼ Ⱥ ×é ¡£ +.IP \fB-m\fR +ʹ Óà Õß Ä¿ ¼ Èç ²» ´æ ÔÚ Ôò ×Ô ¶¯ ½¨ Á¢ ¡£ +Èç ʹ Óà \fB-k\fR Ñ¡ Ïî \fIskeleton_dir\fR ÄÚ µÄ µµ °¸ ½« ¸´ ÖÆ ÖÁ ʹ Óà Õß Ä¿ +¼ Ï ¡£ +È» ¶ø ÔÚ \fI/etc/skel\fR Ä¿ ¼ Ï µÄ µµ °¸ Ò² »á ¸´ ÖÆ ¹ý È¥ È¡ ´ú ¡£ +ÈÎ ºÎ ÔÚ \fIskeleton_dir\fR or \fI/etc/skel\fR µÄ Ä¿ ¼ Ò² Ïà ͬ »á ÔÚ Ê¹ Óà Õß +Ä¿ ¼ Ï һ Ò» ½¨ Á¢ ¡£ +The \fB-k\fR ͬ \fB-m\fR +²» ½¨ Á¢ Ä¿ ¼ ÒÔ ¼° ²» ¸´ ÖÆ ÈÎ ºÎ µµ °¸ Ϊ Ô¤ Éè Öµ ¡£ +.IP \fB-M\fR +²» ½¨ Á¢ ʹ Óà Õß Ä¿ ¼ £¬ ¼´ ʹ \fI/etc/login.defs\fR ϵ ͳ µµ Éè ¶¨ Òª ½¨ +Á¢ ʹ Óà Õß Ä¿ ¼ ¡£ +.IP \fB-n\fR +Ô¤ Éè Öµ ʹ Óà Õß Èº ×é Óë ʹ Óà Õß Ãû ³Æ »á Ïà ͬ ¡£ ´Ë Ñ¡ Ïî ½« È¡ Ïû ´Ë Ô¤ +Éè Öµ ¡£ +.IP \fB-r\fR +´Ë ²Î Êý ÊÇ Óà À´ ½¨ Á¢ ϵ ͳ ÕÊ ºÅ ¡£ ϵ ͳ ÕÊ ºÅ µÄ UID »á ±È ¶¨ Òå ÔÚ Ïµ +ͳ µµ ÉÏ \fI/etc/login.defs\fR. +µÄ UID_MIN À´ µÄ С ¡£ ×¢ Òâ \fBuseradd\fR ´Ë Óà ·¨ Ëù ½¨ Á¢ µÄ ÕÊ ºÅ ²» »á +½¨ Á¢ ʹ Óà Õß Ä¿ ¼ +£¬ Ò² ²» »á ÔÚ ºõ ¼Í ¼ ÔÚ \fI/etc/login.defs\fR. µÄ ¶¨ Òå Öµ ¡£ +Èç ¹û Äã Ïë Òª ÓРʹ Óà Õß Ä¿ ¼ Ðë ¶î Íâ Ö¸ ¶¨ \fB-m\fR ²Î Êý À´ ½¨ Á¢ ϵ +ͳ ÕÊ ºÅ ¡£ +Õâ ÊÇ RED HAT ¶î Íâ Ôö Éè µÄ Ñ¡ Ïî ¡£ +.IP "\fB-s \fIshell\fR" +ʹ Óà Õß µÇ Èë ºó ʹ Óà µÄ shell Ãû ³Æ ¡£ +Ô¤ Éè Ϊ ²» Ìî д £¬ Õâ Ñù ϵ ͳ »á °ï Äã Ö¸ ¶¨ Ô¤ Éè µÄ µÇ Èë shell ¡£ +.IP "\fB-u \fIuid\fR" +ʹ Óà Õß µÄ ID Öµ ¡£ ±Ø Ðë Ϊ Ψ Ò» µÄ ID Öµ £¬ ³ý ·Ç Óà \fI-o\fR Ñ¡ Ïî ¡£ +Êý ×Ö ²» ¿É Ϊ ¸º Öµ¡£Ô¤ Éè Ϊ ×î С ²» µÃ С ÓÚ 99 ¶ø Öð ´Î Ôö ¼Ó ¡£ +0~99 ´« ͳ ÉÏ ÊÇ ±£ Áô ¸ø ϵ ͳ ÕÊ ºÅ ʹ Óà ¡£ + +.SS ¸Ä ±ä Ô¤ Éè Öµ +µ± \fB-D\fR Ñ¡ Ïî ³ö ÏÖ Ê± £¬ \fBuseradd\fR Ðã ³ö ÏÖ ÔÚ µÄ Ô¤ Éè Öµ £¬ »ò ÊÇ ½å +ÓÉ +Ãü Áî ÁÐ µÄ ·½ ʽ ¸ü РԤ Éè Öµ ¡£ +¿É Óà ѡ Ïî Ϊ ¡Ã +.IP "\fB-b \fIdefault_home\fR" +¶¨ Òå ʹ Óà Õß Ëù Êô Ä¿ ¼ µÄ ǰ Ò» ¸ö Ä¿ ¼ ¡£ +ʹ Óà Õß Ãû ³Æ »á ¸½ ¼Ó ÔÚ \fIdefault_home\fR ºó Ãæ +Óà À´ ½¨ Á¢ Рʹ Óà Õß µÄ Ä¿ ¼ ¡£ +µ± È» ʹ Óà \fB-d\fI ºó Ôò ´Ë Ñ¡ Ïî ÎÞ Ð§ ¡£ +.IP "\fB-e \fIdefault_expire_date\fR" +ʹ Óà Õß ÕÊ ºÅ Í£ Ö¹ ÈÕ ÆÚ ¡£ +.IP "\fB-f \fIdefault_inactive\fR" +ÕÊ ºÅ ¹ý ÆÚ ¼¸ ÈÕ ºó Í£ Ȩ ¡£ +.IP "\fB-g \fIdefault_group\fR" +РÕÊ ºÅ Æð ʼ Ⱥ ×é Ãû »ò ID ¡£ +Ⱥ ×é Ãû Ðë Ϊ ÏÖ ÓÐ ´æ ÔÚ µÄ Ãû ³Æ ¡£ +Ⱥ ×é I D Ò² Ðë Ϊ ÏÖ ÓÐ ´æ ÔÚ µÄ Ⱥ ×é ¡£ +.IP "\fB-s \fIdefault_shell\fR" +ʹ Óà Õß µÇ Èë ºó ʹ Óà µÄ shell Ãû ³Æ ¡£ +Íù ºó Р¼Ó Èë µÄ ÕÊ ºÅ ¶¼ ½« ʹ Óà ´Ë shell. +.PP +Èç ²» Ö¸ ¶¨ ÈÎ ºÎ ²Î Êý £¬ \fBuseradd\fR ÏÔ Ê¾ Ä¿ ǰ Ô¤ Éè µÄ Öµ ¡£ +.SH ×¢ ¼Ç +ϵ ͳ ¹Ü Àí Õß ÓÐ Òå Îñ ÔÚ \fI/etc/skel\fR Ä¿ ¼ Ï ·Å Öà ʹ Óà Õß ¶¨ Òå µµ ¡£ +.br +´Ë °æ ±¾ ¡ºuseradd¡» ÓÉ Red Hat ÐÞ ¸Ä ¡£ +.SH ¾¯ ¸æ +²» ¿É РÔö ʹ Óà Õß ÓÚ NIS Ⱥ ×é ÖÐ ¡£ +Äã ±Ø Ðë ÔÚ NIS ËÅ ·þ Æ÷ ÉÏ Ö´ ÐÐ ¡£ +.SH µµ °¸ +\fI/etc/passwd\fR \- ʹ Óà Õß ÕÊ ºÅ ×Ê Ñ¶ +.br +\fI/etc/shadow\fR \- ʹ Óà Õß ÕÊ ºÅ ×Ê Ñ¶ ¼Ó ÃÜ +.br +\fI/etc/group\fR \- Ⱥ ×é ×Ê Ñ¶ +.br +\fI/etc/default/useradd\fR \- ¶¨ Òå ×Ê Ñ¶ +.br +\fI/etc/login.defs\fR \- ϵ ͳ ¹ã Òå Éè ¶¨ +.br +\fI/etc/skel\fR \- ÄÚ º¬ ¶¨ Òå µµ µÄ Ä¿ ¼ +.SH SEE ALSO +.BR chfn (1), +.BR chsh (1), +.BR groupadd (8), +.BR groupdel (8), +.BR groupmod (8), +.BR passwd (1), +.BR userdel (8), +.BR usermod (8) +.SH AUTHOR +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/hu/groups.1 b/man/zh_CN/userdel.8 similarity index 61% rename from man/hu/groups.1 rename to man/zh_CN/userdel.8 index 864ca8fe..26552ae4 100644 --- a/man/hu/groups.1 +++ b/man/zh_CN/userdel.8 @@ -25,31 +25,43 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: groups.1,v 1.2 2002/03/09 11:16:16 ankry Exp $ +.\" $Id: userdel.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ .\" -.TH GROUPS 1 -.SH NÉV -groups \- kiírja a jelenlegi csoportazonosító neveket -.SH ÁTTEKINTÉS -.B groups -.RI [ felhasználó ] -.SH LEÍRÁS -A -.B groups -parancs kiírja a jelenlegi csoportazonosító neveket vagy számértékeket. -Ha nincs az értéknek megfelelõ bejegyzés a \fI/etc/group\fR fájlban, akkor a csoport azonosító számát írja ki. -Az opcionális \fIfelhasználó\fR paraméter esetén azokat a csoportokat írja ki, amelyekbe a megadott \fIfelhasználó\fR tartozik. -.SH MEGJEGYZÉS -Azok a rendszerek, amelyek nem támogatják a konkurrens csoportbeállításokat, a kiírt információkat a \fI/etc/group\fR fájlból gyûjtik. -A felhasználónak muszáj a \fBnewgrp\fR vagy a \fBsg\fR parancsot használniuk, hogy megváltoztassák a jelenlegi valódi és effektív csoportazonosítójukat. -.SH FÁJLOK -/etc/group \- információ a csoportokról -.SH LÁSD MÉG -.BR newgrp (1), -.BR getgid (2), -.BR getgroups (2), -.BR getuid (2) -.SH AUTHOR +.TH USERDEL 8 +.SH Ãû³Æ +userdel \- ɾ ³ý ʹ Óà Õß ÕÊ ºÅ ¼° Ïà ¹Ø µµ °¸ +.SH Óï·¨ +.B userdel +[\fB-r\fR] +.I login +.SH ÃèÊö +\fBuserdel\fR Ãü Áî ÐÞ ¸Ä ϵ ͳ ÕÊ ºÅ µµ +ɾ ³ý Ëù ÓÐ \fIlogin\fR »á ²Î ¿¼ µÄ ²¿ ·Ý ¡£ +ʹ Óà Õß Ãû ³Æ ±Ø ÐëÊÇ ´æ ÔÚ µÄ ¡£ +.IP \fB-r\fR +ʹ Óà Õß Ä¿ ¼ Ï µÄ µµ °¸ Ò» ²¢ ÒÆ ³ý ¡£ ÔÚ Æä Ëû λ Öà ÉÏ µÄ µµ +°¸ Ò² ½« Ò» Ò» ÕÒ ³ö ²¢ ɾ ³ý ¡£ +.SH µµ°¸ +\fI/etc/passwd\fR \- ʹ Óà Õß ÕÊ ºÅ ×Ê ÁÏ +.br +\fI/etc/shadow\fR \- ʹ Óà Õß ÕÊ ºÅ ×Ê Ñ¶ ¼Ó ÃÜ +.br +\fI/etc/group\fR \- Ⱥ ×é ×Ê Ñ¶ +.SH ¾¯¸æ +\fBuserdel\fR ²» ÔÊ Ðí Äã ÒÆ ³ý Õý ÔÚÏß ÉÏ +µÄ ʹ Óà Õß ÕÊ ºÅ ¡£ +Äã ±Ø Ðë ¿³ µô ´Ë ÕÊ ºÅ ÏÖ ÔÚ ÔÚ Ïµ ͳ ÉÏ Ö´ ÐÐ µÄ ³Ì Ðò ²Å ÄÜ ½ø ÐÐ ÕÊ ºÅ +ɾ ³ý ¡£ +²» ÄÜ ÔÚ NIS client ¶Ë ÒÆ ³ý NIS Êô ÐÔ µÄ ¶« Î÷ ¡£ +Õâ ¶¯ ×ö Ðë ÔÚ NIS server ¶Ë ÉÏ Ö´ ÐÐ ¡£ +.SH SEE ALSO +.BR chfn (1), +.BR chsh (1), +.BR groupadd (8), +.BR groupdel (8), +.BR groupmod (8), +.BR passwd (1), +.BR useradd (8), +.BR usermod (8) +.SH ×÷Õß Julianne Frances Haugh (jfh@tab.com) -.SH MAGYAR FORDÍTÁS -ifj. Dyekiss Emil diff --git a/man/zh_CN/usermod.8 b/man/zh_CN/usermod.8 new file mode 100644 index 00000000..ccd8d3df --- /dev/null +++ b/man/zh_CN/usermod.8 @@ -0,0 +1,131 @@ +.\" Copyright 1991 - 1994, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: usermod.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH USERMOD 8 +.SH Ãû³Æ +usermod \- ÐÞ ¸Ä ʹ Óà Õß ÕÊ ºÅ +.SH Óï·¨ +.TP 8 +.B usermod +.\" .RB [ -A +.\" .RI { method | \fBDEFAULT\fR "},... ]" +.RB [ -c +.IR comment ] +.RB [ -d +.IR home_dir " [" +.BR -m ]] +.br +.RB [ -e +.IR expire_date ] +.RB [ -f +.IR inactive_time ] +.br +.RB [ -g +.IR initial_group ] +.RB [ -G +.IR group [,...]] +.br +.RB [ -l +.IR login_name ] +.RB [ -s +.IR shell ] +.br +.RB [ -u +.IR uid " [" +.BR -o ]] +.I login +.SH ÃèÊö +\fBusermod\fR Ãü Áî »á ²Î ÕÕ Äã Ãü Áî ÁÐ ÉÏ Ö¸ ¶¨ µÄ ²¿ ·Ý ÐÞ ¸Ä ϵ ͳ ÕÊ +ºÅ µµ ¡£ Ï ÁРΪ \fBusermod\fR ¿É Ñ¡ Óà µÄ ²Î Êý ¡£ + +.\" .IP "\fB-A \fImethod\fR|\fBDEFAULT\fR" +.\" The new value of the user's authentication method. +.\" The authentication method is the name of a program which is responsible +.\" for validating the user's identity. +.\" The string \fBDEFAULT\fR may be used to change the user's authentication +.\" method to the standard system password method. +.IP "\fB-c \fIcomment\fR" +¸ü Рʹ Óà Õß ÕÊ ºÅ password µµ ÖÐ µÄ ×¢ ½â À¸ +£¬ Ò» °ã ÊÇ Ê¹ Óà \fBchfn\fR(1) À´ ÐÞ ¸Ä ¡£ +.IP "\fB-d \fIhome_dir\fR" +¸ü Рʹ Óà Õß Ð µÄ µÇ Èë Ä¿ ¼ ¡£ +Èç ¹û ¸ø ¶¨ \fB-m\fR Ñ¡ Ïî £¬ ʹ Óà Õß ¾É Ä¿ ¼ »á °á µ½ РµÄ Ä¿ ¼ È¥ +£¬Èç ¾É Ä¿ ¼ ²» ´æ ÔÚ Ôò ½¨ ¸ö РµÄ ¡£ +.IP "\fB-e \fIexpire_date\fR" +¼Ó ÉÏ Ê¹ Óà Õß ÕÊ ºÅ Í£ Ö¹ ÈÕ ÆÚ ¡£ ÈÕ ÆÚ ¸ñ ʽ Ϊ \fIMM/DD/YY\fR. +.IP "\fB-f \fIinactive_days\fR" +ÕÊ ºÅ ¹ý ÆÚ ¼¸ ÈÕ ºó ÓÀ ¾Ã Í£ Ȩ¡£µ± Öµ Ϊ 0 ʱ +ÕÊ ºÅ Ôò Á¢ ¿Ì ±» Í£ Ȩ ¡£ ¶ø µ± Öµ Ϊ -1 ʱ Ôò ¹Ø±Õ´Ë¹¦ÄÜ +¡£Ô¤ Éè Öµ Ϊ -1¡£ +.IP "\fB-g \fIinitial_group\fR" +¸ü Рʹ Óà Õß Ð µÄ Æð ʼ µÇ Èë Ⱥ ×é ¡£ Ⱥ ×é Ãû Ðë ÒÑ ´æ ÔÚ +¡£Èº ×é ID ±Ø Ðë ²Î ÕÕ ¼È ÓÐ µÄ µÄ Ⱥ ×é ¡£ Ⱥ ×é ID Ô¤ Éè Öµ Ϊ 1 ¡£ +.IP "\fB-G \fIgroup,[...]\fR" +¶¨ Òå ʹ Óà Õß Îª Ò» ¶Ñ groups µÄ ³É Ô± ¡£ ÿ +¸ö Ⱥ ×é ʹ Óà "," Çø ¸ñ ¿ª À´ £¬ ²» ¿É ÒÔ ¼Ð ÔÓ ¿Õ +°× ×Ö Ôª ¡£ Ⱥ ×é Ãû ͬ -g Ñ¡ Ïî µÄ ÏÞ ÖÆ ¡£ +Èç ¹û ʹ Óà Õß ÏÖ ÔÚ µÄ Ⱥ ×é ²» ÔÙ ´Ë ÁÐ £¬ Ôò ½« ʹ Óà Õß ÓÉ ¸Ã +Ⱥ ×é ÖÐ ÒÆ ³ý ¡£ +.IP "\fB-l \fIlogin_name\fR" +±ä ¸ü ʹ Óà Õß \fIlogin\fR ʱ µÄ Ãû ³Æ Ϊ \fIlogin_name\fR ¡£ +Æä ÓÚ ²» ±ä ¡£ ÌØ ±ð ÊÇ £¬ ʹ Óà Õß Ä¿ ¼ Ãû Ó¦ ¸Ã Ò² »á ¸ú ×Å ¸ü ¶¯ ³É Р+µÄ µÇ Èë Ãû ¡£ +.IP "\fB-s \fIshell\fR" +Ö¸ ¶¨ РµÇ Èë shell ¡£ Èç ´Ë À¸ Áô °× £¬ ϵ ͳ ½« Ñ¡ Óà ϵ ͳ Ô¤ Éè shell ¡£ +.IP "\fB-u \fIuid\fR" +ʹ Óà Õß ID Öµ ¡£±Ø Ðë Ϊ Ψ Ò» µÄ ID Öµ £¬ ³ý ·Ç Óà \fI-o\fR Ñ¡ Ïî ¡£ Êý +×Ö ²» ¿É Ϊ ¸º Öµ¡£Ô¤ Éè Ϊ ×î С ²» µÃ С ÓÚ 99 ¶ø Öð ´Î +Ôö ¼Ó ¡£ 0~99 ´« ͳ ÉÏ ÊÇ ±£ Áô ¸ø ϵ ͳ ÕÊ ºÅ ʹ Óà ¡£ +ʹ Óà Õß Ä¿ ¼ Ê÷ Ï Ëù ÓÐ µÄ µµ °¸ Ä¿ ¼ Æä user ID »á ×Ô ¶¯ ¸Ä ±ä ¡£ +·Å ÔÚ Ê¹ Óà Õß Ä¿ ¼ Íâ µÄ µµ °¸ Ôò Òª ×Ô ÐÐ ÊÖ ¶¯ ¸ü ¶¯ ¡£ +.SH ¾¯¸æ +\fBusermod\fR ²» ÔÊ Ðí Äã ¸Ä ±ä Õý ÔÚÏß ÉÏ µÄ ʹ Óà Õß ÕÊ ºÅ Ãû ³Æ ¡£ +µ± usermod Óà À´ ¸Ä ±ä user ID, ±Ø Ðë È· ÈÏ Õâ Ãû user û ÔÚ µç ÄÔ ÉÏ Ö´ +ÐÐ ÈÎ ºÎ ³Ì Ðò¡£ +Äã Ðè ÊÖ ¶¯ ¸ü ¸Ä ʹ Óà Õß µÄ crontab µµ ¡£ +Ò² Ðè ÊÖ ¶¯ ¸ü ¸Ä ʹ Óà Õß µÄ at ¹¤ ×÷ µµ ¡£ +²É Óà NIS server Ðë ÔÚ server ÉÏ ¸ü ¶¯ Ïà ¹Ø µÄ NIS Éè ¶¨ ¡£ + +.SH µµ°¸ +\fI/etc/passwd\fR \- ʹ Óà Õß ÕÊ ºÅ ×Ê Ñ¶ +.br +\fI/etc/shadow\fR \- ʹ Óà Õß ÕÊ ºÅ ×Ê Ñ¶ ¼Ó ÃÜ +.br +\fI/etc/group\fR \- Ⱥ ×é ×Ê Ñ¶ +.SH Ïà¹ØÎļþ +.BR chfn (1), +.BR chsh (1), +.BR groupadd (8), +.BR groupdel (8), +.BR groupmod (8), +.BR passwd (1), +.BR useradd (8), +.BR userdel (8) +.SH ×÷Õß +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/zh_TW/Makefile.am b/man/zh_TW/Makefile.am new file mode 100644 index 00000000..86659618 --- /dev/null +++ b/man/zh_TW/Makefile.am @@ -0,0 +1,14 @@ +# man pages encoded in Big5 +mandir = @mandir@/zh_TW + +man_MANS = \ + chfn.1 \ + chsh.1 \ + groupadd.8 \ + groupdel.8 \ + groupmod.8 \ + useradd.8 \ + userdel.8 \ + usermod.8 + +EXTRA_DIST = $(man_MANS) diff --git a/man/zh_TW/Makefile.in b/man/zh_TW/Makefile.in new file mode 100644 index 00000000..56672afc --- /dev/null +++ b/man/zh_TW/Makefile.in @@ -0,0 +1,418 @@ +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# This Makefile.in 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +LDFLAGS = @LDFLAGS@ +LIBCRACK = @LIBCRACK@ +LIBCRYPT = @LIBCRYPT@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ +LIBPAM = @LIBPAM@ +LIBS = @LIBS@ +LIBSKEY = @LIBSKEY@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +U = @U@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ + +# man pages encoded in Big5 +mandir = @mandir@/zh_TW +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +man_MANS = \ + chfn.1 \ + chsh.1 \ + groupadd.8 \ + groupdel.8 \ + groupmod.8 \ + useradd.8 \ + userdel.8 \ + usermod.8 + + +EXTRA_DIST = $(man_MANS) +subdir = man/zh_TW +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = + +NROFF = nroff +MANS = $(man_MANS) +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/zh_TW/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +man1dir = $(mandir)/man1 +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done + +man8dir = $(mandir)/man8 +install-man8: $(man8_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man8dir) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ + done +uninstall-man8: + @$(NORMAL_UNINSTALL) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ + rm -f $(DESTDIR)$(man8dir)/$$inst; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = ../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-man1 install-man8 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 uninstall-man8 + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-man1 install-man8 \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-man8 + +# 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/zh_TW/chfn.1 b/man/zh_TW/chfn.1 new file mode 100644 index 00000000..e3e833cc --- /dev/null +++ b/man/zh_TW/chfn.1 @@ -0,0 +1,64 @@ +.\" +.\" chfn.1 -- change your finger information +.\" (c) 1994 by salvatore valente +.\" +.\" this program is free software. you can redistribute it and +.\" modify it under the terms of the gnu general public license. +.\" there is no warranty. +.\" +.\" $Author: kloczek $ +.\" $Revision: 1.1 $ +.\" $Date: 2003/04/28 02:14:04 $ +.\" +.TH CHFN 1 "October 13 1994" "chfn" "Linux Reference Manual" +.SH ¦WºÙ +chfn \- §ï ÅÜ §A ªº finger °T ®§ +.SH »yªk +.B chfn +[\ \-f\ full-name\ ] [\ \-o\ office\ ] [\ \-p\ office-phone\ ] +[\ \-h\ home-phone\ ] [\ \-u\ ] [\ \-v\ ] [\ username\ ] +.SH ´y­z +.B chfn +¬O ¥Î ¨Ó §ï ÅÜ §A ªº finger °T ®§ ¡C °T ®§ ¬O ¦s ©ñ ¦b +.I /etc/passwd ÀÉ ¤º ¡C ¥i ÂÇ ¥Ñ +.B finger +¨Ó Åã ¥Ü §A ªº °T ®§ ¡C Linux +.B finger +©R ¥O ·| Åã ¥Ü ¥| ¬q °T ®§ ¡A ³o ¨Ç °T ®§ §¡ ¥i ÂÇ ¥Ñ +.B chfn +§ï ÅÜ +: ¯u ¹ê ©m ¦W ¡A ¤u §@ ¦a ÂI ¹q ¸Ü ¡A ¤Î §A ®a ªº ¹q ¸Ü ¡C +.SS ©R¥O¦C +¨C ¤@ ¬q °T ®§ §¡ ¥i ¦b ©R ¥O ¦C ¤W «ü ©w ¡C ¦p ¨S ¦³ µ¹ ©w °T ®§ ¡A +.B chfn +¶i ¤J ¥æ ½Í ¼Ò ¦¡ +.SS INTERACTIVE MODE +¥æ½Í¼Ò¦¡ +.B chfn +·| ¦b ¨C ¤@ Äæ «e ´£ ¥Ü ¡C ¦b ´£ ¥Ü ª¬ ºA ¤U ¡A §A ´N ¥i ¿é ¤J ·s ªº °T ®§ ©Î +¬O «ö return ¦Ó ¤£ §ï ÅÜ ¡C +¿é ¤J "none" «h ªí ¥Ü ¸Ó Äæ ªÅ ¥Õ ¡C +.SH ¿ï¶µ +.TP +.I "\-f, \-\-full-name" +¯u ¹ê ©m ¦W +.TP +.I "\-o, \-\-office" +¿ì ¤u «Ç ¸¹ ½X +.TP +.I "\-p, \-\-office-phone" +¿ì ¤½ «Ç ¹q ¸Ü +.TP +.I "\-h, \-\-home-phone" +®a ¸Ì ªº ¹q ¸Ü +.TP +.I "\-u, \-\-help" +¨q ¥X ¨Ï ¥Î »¡ ©ú µu °T ¡C +.TP +.I "-v, \-\-version" +¨q ¥X ª© ¥» °T ®§ ¡C +.SH "¬ÛÃö¤å¥ó" +.BR finger (1), +.BR passwd (5) +.SH §@ªÌ +Salvatore Valente diff --git a/man/zh_TW/chsh.1 b/man/zh_TW/chsh.1 new file mode 100644 index 00000000..4007816f --- /dev/null +++ b/man/zh_TW/chsh.1 @@ -0,0 +1,51 @@ +.\" +.\" chsh.1 -- change your login shell +.\" (c) 1994 by salvatore valente +.\" +.\" this program is free software. you can redistribute it and +.\" modify it under the terms of the gnu general public license. +.\" there is no warranty. +.\" +.\" $Author: kloczek $ +.\" $Revision: 1.1 $ +.\" $Date: 2003/04/28 02:14:04 $ +.\" +.TH CHSH 1 "October 13 1994" "chsh" "Linux Reference Manual" +.SH ¦WºÙ +chsh \- §ó´«§Aµn¤J®É©Ò¥Îªºshell +.SH »yªk +.B chsh +[\ \-s\ shell\ ] [\ \-l\ ] [\ \-u\ ] [\ \-v\ ] [\ username\ ] +.SH ´y­z +.B chsh +¥Î¨Ó§ó´«§Aµn¤J®É©Ò¥Îªºshell +¡C¦b©R¥O¦C¨S«ü©wshell¡C +.B chsh +·|´£¥Ü¤@­Óµ¹§A¡C +.SS ¦³®Äªºshell +.B chsh +¥i¥Î«ü©w¸ô®|¥þ¦Wªº¤è¦¡¨Ó«ü©w¥ô¦ó¤@­Ó¥i°õ¦æªºÀɮסC +µM¦Ó¡A¦pªG¦¹ shell¨Ã¨S¬ö¿ý¦b +.I /etc/shells +ÀɤW¡A«hchsh·|´£¥Xĵ§i°T®§¡C +.SH ¿ï¶µ +.TP +.I "\-s, \-\-shell" +Åܧó§Aªºµn¤Jshell. +.TP +.I "\-l, \-\-list-shells" +¦C¥X¬ö¿ý¦b +.I /etc/shells +ªºshell¡C +.TP +.I "\-u, \-\-help" +¨Ï¥Îµu°T¡C +.TP +.I "-v, \-\-version" +ª©¥»¸ê°T +.SH "¬ÛÃö¤å¥ó" +.BR login (1), +.BR passwd (5), +.BR shells (5) +.SH §@ªÌ +Salvatore Valente diff --git a/man/zh_TW/groupadd.8 b/man/zh_TW/groupadd.8 new file mode 100644 index 00000000..87a0b2ac --- /dev/null +++ b/man/zh_TW/groupadd.8 @@ -0,0 +1,92 @@ +.\" Copyright 1991, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: groupadd.8,v 1.3 2004/01/05 01:08:38 kloczek Exp $ +.\" +.TH GROUPADD 8 +.SH ¦WºÙ +groupadd \- «Ø ¥ß ·s ¸s ²Õ +.SH »yªk +\fBgroupadd\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-f\fR] \fIgroup\fR +.SH ´y­z +\fBgroupadd\fR +¥i «ü ©w ¸s ²Õ ¦W ºÙ ¨Ó «Ø ¥ß ·s ªº ¸s ²Õ ±b ¸¹ ¡C +»Ý ­n ®É ¥i ±q ¨t ²Î ¤¤ ¨ú ±o ·s ¸s ²Õ ­È ¡C +\fBgroupadd\fR ¦³ ¤U ¦C ¿ï ¶µ ¥i ¥Î ¡C +.IP "\fB-g \fIgid\fR" +group's ID ­È ¡C +°£ «D ¨Ï ¥Î \fB-o\fR °Ñ ¼Æ ¤£ µM ¸Ó ­È ¥² ¶· ¬O °ß ¤@ ¡A ¤£ ¥i ¬Û ¦P ¡C +¼Æ ­È ¤£ ¥i ¬° ­t ¡C +¹w ³] ¬° ³Ì ¤p ¤£ ±o ¤p ©ó 500 ¦Ó ³v ¦¸ ¼W ¥[ ¡C 0~499 ¶Ç ²Î ¤W +¬O «O ¯d µ¹ \fI¨t²Î±b¸¹\fR ¨Ï ¥Î ¡C +.IP \fB-r\fR + + +¦¹ °Ñ ¼Æ ¬O ¥Î ¨Ó «Ø ¥ß \fI¨t²Î±b¸¹\fR ¡C +ªº UID ·| ¤ñ ©w ¸q ¦b ¨t ²Î ÀÉ ¤W /etc/login.defs. +ªº UID_MIN ¨Ó ªº ¤p ¡C ª` ·N useradd ¦¹ ¥Î ªk ©Ò «Ø +¥ß ªº ±b ¸¹ ¤£ ·| «Ø ¥ß ¨Ï ¥Î ªÌ ¥Ø ¿ý ¡A ¤] ¤£ ·| +¦b ¥G ¬ö ¿ý ¦b /etc/login.defs. ªº ©w ¸q ­È ¡C ¦p +ªG §A ·Q ­n ¦³ ¨Ï ¥Î ªÌ ¥Ø ¿ý ¶· ÃB ¥~ «ü ©w -m °Ñ +¼Æ ¨Ó «Ø ¥ß ¨t ²Î ±b ¸¹ ¡C ³o ¬O RED HAT ÃB ¥~ ¼W +³] ªº ¿ï ¶µ ¡C +¥¦ ·| ¦Û °Ê À° §A ¿ï ©w ¤@ ­Ó ¤p ©ó 499 ªº \fIgif\fR +¤£ »Ý ­n ¦A ¥[ ¤W \fB-g\fR °Ñ ¼Æ ¡C +.br +³o ¬O RED HAT ÃB ¥~ ¼W ³] ªº ¿ï ¶µ ¡C + +.IP \fB-f\fR +This is \fIforce\fR flag. +·s ¼W ¤@ ­Ó ¤w ¸g ¦s ¦b ªº ¸s ²Õ ±b ¸¹ ¡A ¨t ²Î ·| ¥X +²{ ¿ù »~ °T ®§ µM «á µ² §ô \fBgroupadd\fR ¡C + ¦p ªG ¬O ³o ¼Ë ªº ±¡ ªp ¡A ¤£ ·| ·s ¼W ³o ­Ó ¸s ²Õ +( ¦p ªG ¬O ³o ­Ó ±¡ ªp ¤U ¡A ¨t ²Î ¤£ ·| ¦A ·s ¼W ¤@ ¦¸ ) +.br +¤] ¥i ¦P ®É ¥[ ¤W \fB-g\fR ¿ï ¶µ +·í §A ¥[ ¤W ¤@ ­Ó \fIgid\fR ¡A ¦¹ ®É \fIgid\fR +´N ¤£ ¥Î ¬O °ß ¤@ ­È ¡A ¥i ¤£ ¥[ \fB-o\fR °Ñ ¼Æ ¡A +«Ø ¦n ¸s ²Õ «á ·| Åã µ² ªG +(adding a group as neither \fB-g\fR or \fB-o\fR options were +specified). + +.br +³o ¬O RED HAT ÃB ¥~ ¼W ³] ªº ¿ï ¶µ ¡C +.SH ÀÉ®× +\fI/etc/group\fR \- ¸s ²Õ ¸ê °T +.br +\fI/etc/gshadow\fR \- ¸s ²Õ ¸ê °T ¥[ ±K +.SH ¬ÛÃö¤å¥ó +.BR chfn (1), +.BR chsh (1), +.BR useradd (8), +.BR userdel (8), +.BR usermod (8), +.BR passwd (1), +.BR groupdel (8), +.BR groupmod (8) +.SH §@ªÌ +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/dpasswd.8 b/man/zh_TW/groupdel.8 similarity index 67% rename from man/dpasswd.8 rename to man/zh_TW/groupdel.8 index b44a516b..a614e850 100644 --- a/man/dpasswd.8 +++ b/man/zh_TW/groupdel.8 @@ -1,5 +1,4 @@ -.\"$Id: dpasswd.8,v 1.9 2001/12/22 05:40:01 kloczek Exp $ -.\" Copyright 1991, Julianne Frances Haugh +.\" Copyright 1991 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -25,27 +24,34 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.TH DPASSWD 8 -.SH NAME -\fBdpasswd\fR - change dialup password -.SH SYNOPSIS -\fBdpasswd\fR [(\fB-af\fR|\fB-d\fR)] \fIshell\fR -.SH DESCRIPTION -\fBdpasswd\fR adds, deletes, and updates dialup passwords for user -login shells. -The dialup password is prompted for after a user's password has been -authenticated whenever the user logs in over a dialup line. -\fBdpasswd\fR will prompt for the new password twice to insure it -has been entered correctly. +.\" +.\" $Id: groupdel.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH GROUPDEL 8 +.SH ¦WºÙ +groupdel \- §R°£¸s²Õ +.SH »yªk +.B groupdel +.I group +.SH ´y­z +\fBgroupdel\fR ©R¥O·|­×§ï¨t²Î±b¸¹ÀÉ¡A·|§R°£©Ò¦³¤w¸g¦s¦bªº\fIgroup\fR. +¸s²Õ¦W¶·¦s¦b¡C .PP -The \fIshell\fR argument must be the complete pathname of the login -program. -.SH FILES -.br -/etc/d_passwd -.br -/etc/dialups -.SH SEE ALSO -.BR login (1) -.SH AUTHOR -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +§A¶·¤â°Ê½T»{¤@¤U©Ò¦³ªºÀɮרt²Î½T«O¦³¨S¦³ÀÉ®×ÁÙ¬O¨S­×¥¿¸s²Õ¦WÅܦ¨¸s²ÕID¡C +.SH ĵ§i +¦pªG¦³¥ô¦ó¤@­Ó¸s²Õªº¨Ï¥ÎªÌ¦b½u¤Wªº¸Ü´N¤£¯à²¾°£¸Ó¸s²Õ¡C +³Ì¦n¥ý²¾°£¨Ï¥ÎªÌ«á¦A²¾°£¸s²Õ¡C +.SH ÀÉ®× +\fI/etc/group\fR \- ¸s²Õ¸ê°T +\fI/etc/gshadow\fR \- ¸s²Õ¸ê°T¥[±K +.SH ¬ÛÃö¤å¥ó +.BR chfn (1), +.BR chsh (1), +.BR useradd (8), +.BR userdel (8), +.BR usermod (8), +.BR passwd (1), +.BR groupadd (8), +.BR groupmod (8) +.SH §@ªÌ +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/pl/dpasswd.8 b/man/zh_TW/groupmod.8 similarity index 60% rename from man/pl/dpasswd.8 rename to man/zh_TW/groupmod.8 index ce6b485c..6bdd6fd6 100644 --- a/man/pl/dpasswd.8 +++ b/man/zh_TW/groupmod.8 @@ -1,5 +1,3 @@ -.\" $Id: dpasswd.8,v 1.4 2001/01/27 02:55:54 kloczek Exp $ -.\" {PTM/WK/1999-09-17} .\" Copyright 1991, Julianne Frances Haugh .\" All rights reserved. .\" @@ -26,29 +24,45 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.TH DPASSWD 8 -.SH NAZWA -\fBdpasswd\fR - zmieñ has³o telefoniczne -.SH SK£ADNIA -\fBdpasswd\fR [(\fB-a\fR|\fB-d\fR)] \fIpow³oka\fR -.SH OPIS -\fBdpasswd\fR dodaje, usuwa i aktualizuje has³a telefoniczne (dialup -passwords) dla pow³ok logowania u¿ytkowników. -Ka¿dorazowo, gdy u¿ytkownik loguje siê przez liniê telefoniczn±, -¿±dane jest od niego has³o telefoniczne (po poprawnym uwierzytelnieniu -jego w³asnego has³a). -.PP -\fBdpasswd\fR bêdzie prosiæ o podanie nowego has³a dwukrotnie, by upewniæ -siê, ¿e zosta³o ono poprawnie wprowadzone. -.PP -Argument \fIpow³oka\fR musi byæ pe³n±, ¶cie¿kow± nazw± programu zg³oszenia -(logowania). -.SH PLIKI +.\" +.\" $Id: groupmod.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH GROUPMOD 8 +.SH ¦WºÙ +groupmod \- ­× §ï ¸s ²Õ +.SH »yªk +.B groupmod +[\fB-g\fI gid \fR[\fB-o\fR]] +[\fB-n\fI group_name \fR] +.I group +.SH ´y­z + +\fBgroupmod\fR ©R ¥O ·| °Ñ ·Ó §A ©R ¥O ¦C ¤W «ü ©w ªº ³¡ ¥÷ +­× §ï ¨t ²Î ±b ¸¹ ÀÉ ¡C ¤U ¦C ¬° \fIgroupmod\fR ¥i ¿ï ¥Î ªº °Ñ ¼Æ ¡C + +.IP "\fB-g \fIgid\fR" +¸s ²Õ I D ­È ¡C +¥² ¶· ¬° °ß ¤@ ªº ID ­È ¡A °£ «D ¥Î -o ¿ï ¶µ ¡C +¼Æ ¦r ¤£ ¥i ¬° ­t ­È¡C¹w ³] ¬° ³Ì +¤p ¤£ ±o ¤p ©ó 99 ¦Ó ³v ¦¸ ¼W ¥[ ¡C 0~99 ¶Ç ²Î ¤W +¬O «O ¯d µ¹ ¨t ²Î ±b ¸¹ ¨Ï ¥Î ¡C +¦p ªG ¦³ ÀÉ ®× ¨Ï ¥Î  ªº ¸s ²Õ ID ¡A ¦Ó ³o ®É ­Ô §A ·s ¼W ªº ¸s ²Õ ID +«ê ¦n »P  ªº ¬Û ¦P ¡A ³o ¼Ë ªº ¸Ü +§A ­n ¤â °Ê §ï ¤@ ¤U ³o ¨Ç ÀÉ ®× ªº ¸s ²Õ ID ¡C +.IP "\fB-n \fIgroup_name\fR" +§ó §ï ¸s ²Õ ¦W ¡C +.SH ÀÉ®× +\fI/etc/group\fR \- ¸s ²Õ ¸ê °T .br -.I /etc/d_passwd -.br -.I /etc/dialups -.SH ZOBACZ TAK¯E -.BR login (1) -.SH AUTOR -Julianne Frances Haugh (jockgrrl@ix.netcom.com) +\fI/etc/gshadow\fR \- ¸s ²Õ ¸ê °T ¥[ ±K +.SH ¬ÛÃö¤å¥ó +.BR chfn (1), +.BR chsh (1), +.BR useradd (8), +.BR userdel (8), +.BR usermod (8), +.BR passwd (1), +.BR groupadd (8), +.BR groupdel (8) +.SH §@ªÌ +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/zh_TW/useradd.8 b/man/zh_TW/useradd.8 new file mode 100644 index 00000000..82581f79 --- /dev/null +++ b/man/zh_TW/useradd.8 @@ -0,0 +1,198 @@ +.\" Copyright 1991 - 1994, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: useradd.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH USERADD 8 +.SH ¦W ºÙ +useradd \- ±b ¸¹ «Ø ¥ß ©Î §ó ·s ·s ¨Ï ¥Î ªÌ ªº ¸ê °T +.SH »y ªk +.TP 8 +.B useradd +.\" .RB [ -A +.\" .RI { method | \fBDEFAULT\fR "},... ]" +.RB [ -c +.IR comment ] +.RB [ -d +.IR home_dir ] +.br +.RB [ -e +.IR expire_date ] +.RB [ -f +.IR inactive_time ] +.br +.RB [ -g +.IR initial_group ] +.RB [ -G +.IR group [,...]] +.br +.RB [ -m " [" -k +.IR skeleton_dir ] " |" " " -M ] +.RB [ -s +.IR shell ] +.br +.RB [ -u +.IR uid " [" +.BR -o ]] +.RB [ -n ] +.RB [ -r ] +.I login +.TP 8 +.B useradd +\fB-D\fR +[\fB-g\fI default_group\fR] +[\fB-b\fI default_home\fR] +.br +[\fB-f\fI default_inactive\fR] +[\fB-e\fI default_expire_date\fR] +.br +[\fB-s\fI default_shell\fR] +.SH ´y ­z +.SS ·s ±b ¸¹ «Ø ¥ß +·í ¤£ ¥[ \fB-D\fR °Ñ ¼Æ , \fBuseradd\fR «ü ¥O ¨Ï ¥Î ©R ¥O ¦C ¨Ó «ü ©w +·s ±b ¸¹ ªº ³] ©w ­È and ¨Ï ¥Î ¨t ²Î ¤W ªº ¹w ³] ­È . +·s ¨Ï ¥Î ªÌ ±b ¸¹ ±N ²£ ¥Í ¤@ ¨Ç ¨t ²Î ÀÉ ®× ¡A ¨Ï ¥Î ªÌ ¥Ø ¿ý «Ø ¥ß ¡A +«þ ³Æ °_ ©l ÀÉ ®× µ¥ +¡A ³o ¨Ç §¡ ¥i ¥H §Q ¥Î ©R ¥O¦C ¿ï ¶µ «ü ©w ¡C ¦¹ ª© ¥» ¬° Red Hat Linux ´£ ¨Ñ +¡A ¥i À° ¨C ­Ó ·s ¥[ ¤J ªº ¨Ï ¥Î ªÌ «Ø ¥ß ­Ó §O ªº group , ¤ð ¶· ²K ¥[ \fB-n\fR +¿ï ¶µ ¡C +\fBuseradd\fR ¥i ¨Ï ¥Î ªº ¿ï ¶µ ¬° +.\" .IP "\fB-A {\fImethod\fR|\fBDEFAULT\fR},..." +.\" The value of the user's authentication method. +.\" The authentication method is the name of a program which is responsible +.\" for validating the user's identity. +.\" The string \fBDEFAULT\fR may be used to change the user's authentication +.\" method to the standard system password method. +.\" This is a comma-separated list of program names. +.\" It may include \fBDEFAULT\fR exactly once. +.IP "\fB-c \fIcomment\fR" +·s ±b ¸¹ password ÀÉ ªº »¡ ©ú Äæ ¡C +.IP "\fB-d \fIhome_dir\fR" +·s ±b ¸¹ ¨C ¦¸ µn ¤J ®É ©Ò ¨Ï ¥Î ªº \fIhome_dir\fR ¡C +¹w ³] ­È ¬° \fIdefault_home\fR ¤º \fIlogin\fR ¦W ºÙ ¡A ¨Ã ·í ¦¨ µn ¤J ®É ¥Ø ¿ý +¦W ºÙ ¡C +.IP "\fB-e \fIexpire_date\fR" +±b ¸¹ ²× ¤î ¤é ´Á ¡C ¤é ´Á ªº «ü ©w ®æ ¦¡ ¬° \fIMM/DD/YY\fR ¡C +.IP "\fB-f \fIinactive_days\fR" +±b ¸¹ ¹L ´Á ´X ¤é «á ¥Ã ¤[ °± Åv ¡C +·í ­È ¬° 0 ®É ±b ¸¹ «h ¥ß ¨è ³Q °± Åv ¡C +¦Ó ·í ­È ¬° -1 ®É «h Ãö ³¬ ¦¹ ¥\\ ¯à ¡A ¹w ³] ­È ¬° -1 +.IP "\fB-g \fIinitial_group\fR" +group ¦W ºÙ ©Î ¥H ¼Æ ¦r ¨Ó °µ ¬° ¨Ï ¥Î ªÌ µn ¤J °_ ©l ¸s ²Õ (group) ¡C +¸s ²Õ ¦W ¶· ¬° ²{ ¦³ ¦s ¦b ªº ¦W ºÙ ¡C +¸s ²Õ ¼Æ ¦r ¤] ¶· ¬° ²{ ¦³ ¦s ¦b ªº ¸s ²Õ ¡C +¹w ³] ªº ¸s ²Õ ¼Æ ¦r ¬° 1 ¡C +.IP "\fB-G \fIgroup,[...]\fR" +©w ¸q ¦¹ ¨Ï ¥Î ªÌ ¬° ¦¹ ¤@ °ï groups ªº ¦¨ ­û ¡C +¨C ­Ó ¸s ²Õ ¨Ï ¥Î "," °Ï ®æ ¶} ¨Ó ¡A ¤£ ¥i ¥H §¨ Âø ªÅ ¥Õ ¦r ¤¸ ¡C + ¸s ²Õ ¦W ¦P \fB-g\fR ¿ï ¶µ ªº ­­ ¨î ¡C +©w ¸q ­È ¬° ¨Ï¥Î ªÌ ªº °_ ©l ¸s ²Õ ¡C +.IP \fB-m\fR +¨Ï ¥Î ªÌ ¥Ø ¿ý ¦p ¤£ ¦s ¦b «h ¦Û °Ê «Ø ¥ß ¡C +¦p ¨Ï ¥Î \fB-k\fR ¿ï ¶µ \fIskeleton_dir\fR ¤º ªº ÀÉ ®× ±N ½Æ »s ¦Ü ¨Ï ¥Î ªÌ ¥Ø +¿ý ¤U ¡C +µM ¦Ó ¦b \fI/etc/skel\fR ¥Ø ¿ý ¤U ªº ÀÉ ®× ¤] ·| ½Æ »s ¹L ¥h ¨ú ¥N ¡C +¥ô ¦ó ¦b \fIskeleton_dir\fR or \fI/etc/skel\fR ªº ¥Ø ¿ý ¤] ¬Û ¦P ·| ¦b ¨Ï ¥Î ªÌ +¥Ø ¿ý ¤U ¤@ ¤@ «Ø ¥ß ¡C +The \fB-k\fR ¦P \fB-m\fR +¤£ «Ø ¥ß ¥Ø ¿ý ¥H ¤Î ¤£ ½Æ »s ¥ô ¦ó ÀÉ ®× ¬° ¹w ³] ­È ¡C +.IP \fB-M\fR +¤£ «Ø ¥ß ¨Ï ¥Î ªÌ ¥Ø ¿ý ¡A §Y ¨Ï \fI/etc/login.defs\fR ¨t ²Î ÀÉ ³] ©w ­n «Ø +¥ß ¨Ï ¥Î ªÌ ¥Ø ¿ý ¡C +.IP \fB-n\fR +¹w ³] ­È ¨Ï ¥Î ªÌ ¸s ²Õ »P ¨Ï ¥Î ªÌ ¦W ºÙ ·| ¬Û ¦P ¡C ¦¹ ¿ï ¶µ ±N ¨ú ®ø ¦¹ ¹w +³] ­È ¡C +.IP \fB-r\fR +¦¹ °Ñ ¼Æ ¬O ¥Î ¨Ó «Ø ¥ß ¨t ²Î ±b ¸¹ ¡C ¨t ²Î ±b ¸¹ ªº UID ·| ¤ñ ©w ¸q ¦b ¨t +²Î ÀÉ ¤W \fI/etc/login.defs\fR. +ªº UID_MIN ¨Ó ªº ¤p ¡C ª` ·N \fBuseradd\fR ¦¹ ¥Î ªk ©Ò «Ø ¥ß ªº ±b ¸¹ ¤£ ·| +«Ø ¥ß ¨Ï ¥Î ªÌ ¥Ø ¿ý +¡A ¤] ¤£ ·| ¦b ¥G ¬ö ¿ý ¦b \fI/etc/login.defs\fR. ªº ©w ¸q ­È ¡C +¦p ªG §A ·Q ­n ¦³ ¨Ï ¥Î ªÌ ¥Ø ¿ý ¶· ÃB ¥~ «ü ©w \fB-m\fR °Ñ ¼Æ ¨Ó «Ø ¥ß ¨t +²Î ±b ¸¹ ¡C +³o ¬O RED HAT ÃB ¥~ ¼W ³] ªº ¿ï ¶µ ¡C +.IP "\fB-s \fIshell\fR" +¨Ï ¥Î ªÌ µn ¤J «á ¨Ï ¥Î ªº shell ¦W ºÙ ¡C +¹w ³] ¬° ¤£ ¶ñ ¼g ¡A ³o ¼Ë ¨t ²Î ·| À° §A «ü ©w ¹w ³] ªº µn ¤J shell ¡C +.IP "\fB-u \fIuid\fR" +¨Ï ¥Î ªÌ ªº ID ­È ¡C ¥² ¶· ¬° °ß ¤@ ªº ID ­È ¡A °£ «D ¥Î \fI-o\fR ¿ï ¶µ ¡C +¼Æ ¦r ¤£ ¥i ¬° ­t ­È¡C¹w ³] ¬° ³Ì ¤p ¤£ ±o ¤p ©ó 99 ¦Ó ³v ¦¸ ¼W ¥[ ¡C +0~99 ¶Ç ²Î ¤W ¬O «O ¯d µ¹ ¨t ²Î ±b ¸¹ ¨Ï ¥Î ¡C + +.SS §ï ÅÜ ¹w ³] ­È +·í \fB-D\fR ¿ï ¶µ ¥X ²{ ®É ¡A \fBuseradd\fR ¨q ¥X ²{ ¦b ªº ¹w ³] ­È ¡A ©Î ¬O ÂÇ +¥Ñ +©R ¥O ¦C ªº ¤è ¦¡ §ó ·s ¹w ³] ­È ¡C +¥i ¥Î ¿ï ¶µ ¬° ¡G +.IP "\fB-b \fIdefault_home\fR" +©w ¸q ¨Ï ¥Î ªÌ ©Ò ÄÝ ¥Ø ¿ý ªº «e ¤@ ­Ó ¥Ø ¿ý ¡C +¨Ï ¥Î ªÌ ¦W ºÙ ·| ªþ ¥[ ¦b \fIdefault_home\fR «á ­± +¥Î ¨Ó «Ø ¥ß ·s ¨Ï ¥Î ªÌ ªº ¥Ø ¿ý ¡C +·í µM ¨Ï ¥Î \fB-d\fI «á «h ¦¹ ¿ï ¶µ µL ®Ä ¡C +.IP "\fB-e \fIdefault_expire_date\fR" +¨Ï ¥Î ªÌ ±b ¸¹ °± ¤î ¤é ´Á ¡C +.IP "\fB-f \fIdefault_inactive\fR" +±b ¸¹ ¹L ´Á ´X ¤é «á °± Åv ¡C +.IP "\fB-g \fIdefault_group\fR" +·s ±b ¸¹ °_ ©l ¸s ²Õ ¦W ©Î ID ¡C +¸s ²Õ ¦W ¶· ¬° ²{ ¦³ ¦s ¦b ªº ¦W ºÙ ¡C +¸s ²Õ I D ¤] ¶· ¬° ²{ ¦³ ¦s ¦b ªº ¸s ²Õ ¡C +.IP "\fB-s \fIdefault_shell\fR" +¨Ï ¥Î ªÌ µn ¤J «á ¨Ï ¥Î ªº shell ¦W ºÙ ¡C +©¹ «á ·s ¥[ ¤J ªº ±b ¸¹ ³£ ±N ¨Ï ¥Î ¦¹ shell. +.PP +¦p ¤£ «ü ©w ¥ô ¦ó °Ñ ¼Æ ¡A \fBuseradd\fR Åã ¥Ü ¥Ø «e ¹w ³] ªº ­È ¡C +.SH ª` °O +¨t ²Î ºÞ ²z ªÌ ¦³ ¸q °È ¦b \fI/etc/skel\fR ¥Ø ¿ý ¤U ©ñ ¸m ¨Ï ¥Î ªÌ ©w ¸q ÀÉ ¡C +.br +¦¹ ª© ¥» ¡yuseradd¡z ¥Ñ Red Hat ­× §ï ¡C +.SH ĵ §i +¤£ ¥i ·s ¼W ¨Ï ¥Î ªÌ ©ó NIS ¸s ²Õ ¤¤ ¡C +§A ¥² ¶· ¦b NIS ¦ø ªA ¾¹ ¤W °õ ¦æ ¡C +.SH ÀÉ ®× +\fI/etc/passwd\fR \- ¨Ï ¥Î ªÌ ±b ¸¹ ¸ê °T +.br +\fI/etc/shadow\fR \- ¨Ï ¥Î ªÌ ±b ¸¹ ¸ê °T ¥[ ±K +.br +\fI/etc/group\fR \- ¸s ²Õ ¸ê °T +.br +\fI/etc/default/useradd\fR \- ©w ¸q ¸ê °T +.br +\fI/etc/login.defs\fR \- ¨t ²Î ¼s ¸q ³] ©w +.br +\fI/etc/skel/\fR \- ¤º §t ©w ¸q ÀÉ ªº ¥Ø ¿ý +.SH SEE ALSO +.BR chfn (1), +.BR chsh (1), +.BR groupadd (8), +.BR groupdel (8), +.BR groupmod (8), +.BR passwd (1), +.BR userdel (8), +.BR usermod (8) +.SH AUTHOR +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/it/userdel.8 b/man/zh_TW/userdel.8 similarity index 61% rename from man/it/userdel.8 rename to man/zh_TW/userdel.8 index 98049beb..23421880 100644 --- a/man/it/userdel.8 +++ b/man/zh_TW/userdel.8 @@ -1,72 +1,67 @@ -.\" Copyright 1991 - 1994, Julianne Frances Haugh -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: userdel.8,v 1.1 2002/03/10 07:41:06 kloczek Exp $ -.\" -.\" Traduzione in italiano a cura di Isabella Ruocco -.\" luglio 1999 -.\" -.TH USERDEL 8 -.SH NOME -userdel \- Rimuove l'account di un utente ed i file relativi -.SH SINTASSI -.B userdel -[\fB-r\fR] -.I login -.SH DESCRIZIONE -Il comando \fBuserdel\fR modifica i file di account del sistema, rimuovendo -tutte le voci che si riferiscono a \fIlogin\fR. -L'utente nominato deve esistere. -.IP \fB-r\fR -I file nella home directory dell'utente verranno rimossi insieme alla home -directory stessa. -I file collocati in altri file system dovranno essere ricercati e rimossi -manualmente. -.SH FILE -/etc/passwd \- informazioni sugli account di utenti -.br -/etc/shadow \- informazioni sicure sugli account di utenti -.br -/etc/group \- informazioni sui gruppi -.SH CAVEAT -\fBuserdel\fR non permetterà di rimuovere alcun account se l'utente è -attualmente connesso. -Occorre uccidere qualunque processo in esecuzione che appartenga ad un account -che si sta rimuovendo. -Non è possibile rimuovere nessun attributo NIS su un client NIS. -Questo deve essere fatto sul server NIS. -.SH VEDERE ANCHE -.BR chfn (1), -.BR chsh (1), -.BR groupadd (8), -.BR groupdel (8), -.BR groupmod (8), -.BR passwd (1), -.BR useradd (8), -.BR usermod (8) -.SH AUTORE -Julianne Frances Haugh (jfh@tab.com) +.\" Copyright 1991 - 1994, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: userdel.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH USERDEL 8 +.SH ¦WºÙ +userdel \- §R °£ ¨Ï ¥Î ªÌ ±b ¸¹ ¤Î ¬Û Ãö ÀÉ ®× +.SH »yªk +.B userdel +[\fB-r\fR] +.I login +.SH ´y­z +\fBuserdel\fR ©R ¥O ­× §ï ¨t ²Î ±b ¸¹ ÀÉ +§R °£ ©Ò ¦³ \fIlogin\fR ·| °Ñ ¦Ò ªº ³¡ ¥÷ ¡C +¨Ï ¥Î ªÌ ¦W ºÙ ¥² ¶·¬O ¦s ¦b ªº ¡C +.IP \fB-r\fR +¨Ï ¥Î ªÌ ¥Ø ¿ý ¤U ªº ÀÉ ®× ¤@ ¨Ã ²¾ °£ ¡C ¦b ¨ä ¥L ¦ì ¸m ¤W ªº ÀÉ +®× ¤] ±N ¤@ ¤@ §ä ¥X ¨Ã §R °£ ¡C +.SH ÀÉ®× +\fI/etc/passwd\fR \- ¨Ï ¥Î ªÌ ±b ¸¹ ¸ê ®Æ +.br +\fI/etc/shadow\fR \- ¨Ï ¥Î ªÌ ±b ¸¹ ¸ê °T ¥[ ±K +.br +\fI/etc/group\fR \- ¸s ²Õ ¸ê °T +.SH ĵ§i +\fBuserdel\fR ¤£ ¤¹ ³\ §A ²¾ °£ ¥¿ ¦b½u ¤W +ªº ¨Ï ¥Î ªÌ ±b ¸¹ ¡C +§A ¥² ¶· ¬å ±¼ ¦¹ ±b ¸¹ ²{ ¦b ¦b ¨t ²Î ¤W °õ ¦æ ªº µ{ §Ç ¤~ ¯à ¶i ¦æ ±b ¸¹ +§R °£ ¡C +¤£ ¯à ¦b NIS client ºÝ ²¾ °£ NIS ÄÝ ©Ê ªº ªF ¦è ¡C +³o °Ê °µ ¶· ¦b NIS server ºÝ ¤W °õ ¦æ ¡C +.SH SEE ALSO +.BR chfn (1), +.BR chsh (1), +.BR groupadd (8), +.BR groupdel (8), +.BR groupmod (8), +.BR passwd (1), +.BR useradd (8), +.BR usermod (8) +.SH §@ªÌ +Julianne Frances Haugh (jfh@tab.com) diff --git a/man/zh_TW/usermod.8 b/man/zh_TW/usermod.8 new file mode 100644 index 00000000..458067a3 --- /dev/null +++ b/man/zh_TW/usermod.8 @@ -0,0 +1,131 @@ +.\" Copyright 1991 - 1994, Julianne Frances Haugh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: usermod.8,v 1.2 2003/04/26 13:24:16 kloczek Exp $ +.\" +.TH USERMOD 8 +.SH ¦WºÙ +usermod \- ­× §ï ¨Ï ¥Î ªÌ ±b ¸¹ +.SH »yªk +.TP 8 +.B usermod +.\" .RB [ -A +.\" .RI { method | \fBDEFAULT\fR "},... ]" +.RB [ -c +.IR comment ] +.RB [ -d +.IR home_dir " [" +.BR -m ]] +.br +.RB [ -e +.IR expire_date ] +.RB [ -f +.IR inactive_time ] +.br +.RB [ -g +.IR initial_group ] +.RB [ -G +.IR group [,...]] +.br +.RB [ -l +.IR login_name ] +.RB [ -s +.IR shell ] +.br +.RB [ -u +.IR uid " [" +.BR -o ]] +.I login +.SH ´y­z +\fBusermod\fR ©R ¥O ·| °Ñ ·Ó §A ©R ¥O ¦C ¤W «ü ©w ªº ³¡ ¥÷ ­× §ï ¨t ²Î ±b +¸¹ ÀÉ ¡C ¤U ¦C ¬° \fBusermod\fR ¥i ¿ï ¥Î ªº °Ñ ¼Æ ¡C + +.\" .IP "\fB-A \fImethod\fR|\fBDEFAULT\fR" +.\" The new value of the user's authentication method. +.\" The authentication method is the name of a program which is responsible +.\" for validating the user's identity. +.\" The string \fBDEFAULT\fR may be used to change the user's authentication +.\" method to the standard system password method. +.IP "\fB-c \fIcomment\fR" +§ó ·s ¨Ï ¥Î ªÌ ±b ¸¹ password ÀÉ ¤¤ ªº ª` ¸Ñ Äæ +¡A ¤@ ¯ë ¬O ¨Ï ¥Î \fBchfn\fR(1) ¨Ó ­× §ï ¡C +.IP "\fB-d \fIhome_dir\fR" +§ó ·s ¨Ï ¥Î ªÌ ·s ªº µn ¤J ¥Ø ¿ý ¡C +¦p ªG µ¹ ©w \fB-m\fR ¿ï ¶µ ¡A ¨Ï ¥Î ªÌ  ¥Ø ¿ý ·| ·h ¨ì ·s ªº ¥Ø ¿ý ¥h +¡A¦p  ¥Ø ¿ý ¤£ ¦s ¦b «h «Ø ­Ó ·s ªº ¡C +.IP "\fB-e \fIexpire_date\fR" +¥[ ¤W ¨Ï ¥Î ªÌ ±b ¸¹ °± ¤î ¤é ´Á ¡C ¤é ´Á ®æ ¦¡ ¬° \fIMM/DD/YY\fR. +.IP "\fB-f \fIinactive_days\fR" +±b ¸¹ ¹L ´Á ´X ¤é «á ¥Ã ¤[ °± Åv¡C·í ­È ¬° 0 ®É +±b ¸¹ «h ¥ß ¨è ³Q °± Åv ¡C ¦Ó ·í ­È ¬° -1 ®É «h Ãö³¬¦¹¥\\¯à +¡C¹w ³] ­È ¬° -1¡C +.IP "\fB-g \fIinitial_group\fR" +§ó ·s ¨Ï ¥Î ªÌ ·s ªº °_ ©l µn ¤J ¸s ²Õ ¡C ¸s ²Õ ¦W ¶· ¤w ¦s ¦b +¡C¸s ²Õ ID ¥² ¶· °Ñ ·Ó ¬J ¦³ ªº ªº ¸s ²Õ ¡C ¸s ²Õ ID ¹w ³] ­È ¬° 1 ¡C +.IP "\fB-G \fIgroup,[...]\fR" +©w ¸q ¨Ï ¥Î ªÌ ¬° ¤@ °ï groups ªº ¦¨ ­û ¡C ¨C +­Ó ¸s ²Õ ¨Ï ¥Î "," °Ï ®æ ¶} ¨Ó ¡A ¤£ ¥i ¥H §¨ Âø ªÅ +¥Õ ¦r ¤¸ ¡C ¸s ²Õ ¦W ¦P -g ¿ï ¶µ ªº ­­ ¨î ¡C +¦p ªG ¨Ï ¥Î ªÌ ²{ ¦b ªº ¸s ²Õ ¤£ ¦A ¦¹ ¦C ¡A «h ±N ¨Ï ¥Î ªÌ ¥Ñ ¸Ó +¸s ²Õ ¤¤ ²¾ °£ ¡C +.IP "\fB-l \fIlogin_name\fR" +ÅÜ §ó ¨Ï ¥Î ªÌ \fIlogin\fR ®É ªº ¦W ºÙ ¬° \fIlogin_name\fR ¡C +¨ä ©ó ¤£ ÅÜ ¡C ¯S §O ¬O ¡A ¨Ï ¥Î ªÌ ¥Ø ¿ý ¦W À³ ¸Ó ¤] ·| ¸ò µÛ §ó °Ê ¦¨ ·s +ªº µn ¤J ¦W ¡C +.IP "\fB-s \fIshell\fR" +«ü ©w ·s µn ¤J shell ¡C ¦p ¦¹ Äæ ¯d ¥Õ ¡A ¨t ²Î ±N ¿ï ¥Î ¨t ²Î ¹w ³] shell ¡C +.IP "\fB-u \fIuid\fR" +¨Ï ¥Î ªÌ ID ­È ¡C¥² ¶· ¬° °ß ¤@ ªº ID ­È ¡A °£ «D ¥Î \fI-o\fR ¿ï ¶µ ¡C ¼Æ +¦r ¤£ ¥i ¬° ­t ­È¡C¹w ³] ¬° ³Ì ¤p ¤£ ±o ¤p ©ó 99 ¦Ó ³v ¦¸ +¼W ¥[ ¡C 0~99 ¶Ç ²Î ¤W ¬O «O ¯d µ¹ ¨t ²Î ±b ¸¹ ¨Ï ¥Î ¡C +¨Ï ¥Î ªÌ ¥Ø ¿ý ¾ð ¤U ©Ò ¦³ ªº ÀÉ ®× ¥Ø ¿ý ¨ä user ID ·| ¦Û °Ê §ï ÅÜ ¡C +©ñ ¦b ¨Ï ¥Î ªÌ ¥Ø ¿ý ¥~ ªº ÀÉ ®× «h ­n ¦Û ¦æ ¤â °Ê §ó °Ê ¡C +.SH ĵ§i +\fBusermod\fR ¤£ ¤¹ ³\ §A §ï ÅÜ ¥¿ ¦b½u ¤W ªº ¨Ï ¥Î ªÌ ±b ¸¹ ¦W ºÙ ¡C +·í usermod ¥Î ¨Ó §ï ÅÜ user ID, ¥² ¶· ½T »{ ³o ¦W user ¨S ¦b ¹q ¸£ ¤W °õ +¦æ ¥ô ¦ó µ{ §Ç¡C +§A »Ý ¤â °Ê §ó §ï ¨Ï ¥Î ªÌ ªº crontab ÀÉ ¡C +¤] »Ý ¤â °Ê §ó §ï ¨Ï ¥Î ªÌ ªº at ¤u §@ ÀÉ ¡C +±Ä ¥Î NIS server ¶· ¦b server ¤W §ó °Ê ¬Û Ãö ªº NIS ³] ©w ¡C + +.SH ÀÉ®× +\fI/etc/passwd\fR \- ¨Ï ¥Î ªÌ ±b ¸¹ ¸ê °T +.br +\fI/etc/shadow\fR \- ¨Ï ¥Î ªÌ ±b ¸¹ ¸ê °T ¥[ ±K +.br +\fI/etc/group\fR \- ¸s ²Õ ¸ê °T +.SH ¬ÛÃö¤å¥ó +.BR chfn (1), +.BR chsh (1), +.BR groupadd (8), +.BR groupdel (8), +.BR groupmod (8), +.BR passwd (1), +.BR useradd (8), +.BR userdel (8) +.SH §@ªÌ +Julianne Frances Haugh (jfh@tab.com) diff --git a/missing b/missing index 0a7fb5a2..fc54c64e 100755 --- a/missing +++ b/missing @@ -1,6 +1,6 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -78,7 +78,7 @@ Supported PROGRAM values: ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.3 - GNU automake" + echo "missing 0.4 - GNU automake" ;; -*) @@ -87,7 +87,12 @@ Supported PROGRAM values: exit 1 ;; - aclocal) + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want @@ -97,6 +102,11 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the @@ -106,6 +116,11 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want @@ -124,7 +139,12 @@ WARNING: \`$1' is missing on your system. You should only need it if touch $touch_files ;; - automake) + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. @@ -135,6 +155,34 @@ WARNING: \`$1' is missing on your system. You should only need it if while read f; do touch "$f"; done ;; + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if @@ -189,6 +237,11 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the @@ -240,23 +293,23 @@ WARNING: \`$1' is missing on your system. You should only need it if # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then - gnutar ${1+"$@"} && exit 0 + gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then - gtar ${1+"$@"} && exit 0 + gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" ${1+"$@"} && exit 0 + tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" ${1+"$@"} && exit 0 + tar "$firstarg" "$@" && exit 0 ;; esac fi @@ -273,7 +326,7 @@ WARNING: I can't seem to be able to run \`tar' with the given arguments. WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing + it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 diff --git a/mkinstalldirs b/mkinstalldirs index 4f58503e..d2d5f21b 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -4,37 +4,108 @@ # Created: 1993-05-16 # Public domain -# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ - errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" 1>&2 + exit 0 + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done for file do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift + if test -d "$file"; then + shift + else + break + fi +done - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac +case $# in + 0) exit 0 ;; +esac - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" +case $dirmode in + '') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi + ;; + *) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi + ;; +esac - mkdir "$pathcomp" || lasterr=$? +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac - pathcomp="$pathcomp/" - done + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp="$pathcomp/" + done done exit $errstatus +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# End: # mkinstalldirs ends here diff --git a/po/ChangeLog b/po/ChangeLog deleted file mode 100644 index 748bbe81..00000000 --- a/po/ChangeLog +++ /dev/null @@ -1,44 +0,0 @@ -2002-03-13 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-03-13 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-03-13 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-03-13 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-03-12 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-03-08 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-02-18 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-02-17 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-02-17 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-01-06 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - -2002-01-06 gettextize - - * Makefile.in.in: Upgrade to gettext-0.10.40. - diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 00000000..622ae936 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1 @@ +cs de el fr ja ko pl ru sv uk diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 32b73765..27b721aa 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -1,18 +1,16 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995-1997, 2000, 2001 by Ulrich Drepper +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper # -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. +# 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 +# License but which still want to provide support for the GNU gettext +# 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. PACKAGE = @PACKAGE@ VERSION = @VERSION@ -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - SHELL = /bin/sh @SET_MAKE@ @@ -29,74 +27,124 @@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ -mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` +mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) -CC = @CC@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ MSGMERGE = msgmerge - -DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ -DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \ -$(POFILES) $(GMOFILES) +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 \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ +# Makevars gets inserted here. (Don't remove this line!) + .SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update .po.mo: - $(MSGFMT) -o $@ $< + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: - file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) --statistics -o $$file $< + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ all: all-@USE_NLS@ -all-yes: $(CATALOGS) +all-yes: stamp-po all-no: -# Note: Target 'all' must not depend on target '$(srcdir)/$(PACKAGE).pot', +# 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, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(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 + +# 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 # have been downloaded. -$(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in - $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ \ +# 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 + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ - && test ! -f $(PACKAGE).po \ - || ( rm -f $(srcdir)/$(PACKAGE).pot \ - && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot ) + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --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 && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# 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 install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext"; then \ + if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ - $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ - $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ else \ : ; \ fi @@ -106,41 +154,118 @@ install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(DESTDIR)$$dir; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ - echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ - echo "installing $(srcdir)/$$cat as" \ - "$(DESTDIR)$$dir/$(PACKAGE).mo"; \ - fi; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + $(mkinstalldirs) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkinstalldirs) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ done # Define this as empty until I found a useful application. installcheck: -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \ - done - if test "$(PACKAGE)" = "gettext"; then \ - rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ else \ : ; \ fi +uninstall-data-no: +uninstall-data-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done check: all -dvi info tags TAGS ID: +info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.new.po + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean @@ -151,7 +276,7 @@ distclean: clean maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." - rm -f $(GMOFILES) + rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: @@ -160,37 +285,69 @@ dist distdir: # This is a separate target because 'update-po' must be executed before. dist2: $(DISTFILES) dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ - if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ - cp -p $$dir/$$file $(distdir); \ + if test -f $$file; then \ + cp -p $$file $(distdir); \ + else \ + cp -p $(srcdir)/$$file $(distdir); \ + fi; \ done update-po: Makefile - $(MAKE) $(PACKAGE).pot - if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \ - cd $(srcdir); \ - catalogs='$(GMOFILES)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - echo "$$lang:"; \ - if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \ - mv -f $$lang.new.po $$lang.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.new.po; \ - fi; \ - done + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + update-gmo: Makefile $(GMOFILES) @: -Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in +Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status +force: + # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 00000000..8b09f53b --- /dev/null +++ b/po/Makevars @@ -0,0 +1,25 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = diff --git a/po/POTFILES.in b/po/POTFILES.in index 2a0a8aaf..d21a5970 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -45,8 +45,6 @@ libmisc/utmp.c libmisc/valid.c libmisc/xmalloc.c lib/commonio.c -lib/dialchk.c -lib/dialup.c lib/encrypt.c lib/fputsx.c lib/getdef.c @@ -85,13 +83,11 @@ lib/strcasecmp.c lib/strdup.c lib/strerror.c lib/strstr.c -lib/tcfsio.c lib/utent.c src/chage.c src/chfn.c src/chpasswd.c src/chsh.c -src/dpasswd.c src/expiry.c src/faillog.c src/gpasswd.c diff --git a/po/Rules-quot b/po/Rules-quot new file mode 100644 index 00000000..5f46d237 --- /dev/null +++ b/po/Rules-quot @@ -0,0 +1,42 @@ +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/po/boldquot.sed b/po/boldquot.sed new file mode 100644 index 00000000..4b937aa5 --- /dev/null +++ b/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1â€/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“â€/""/g +s/“/“/g +s/â€/â€/g +s/‘/‘/g +s/’/’/g diff --git a/po/cs.gmo b/po/cs.gmo index 0b2235e16392904df630654d69d71fb12f71e95c..4aae4ed163ccef3fe07ec832e3e57ff8fe9f9148 100644 GIT binary patch literal 39006 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 literal 40390 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 diff --git a/po/cs.po b/po/cs.po index 3635f524..2c310ead 100644 --- a/po/cs.po +++ b/po/cs.po @@ -1,707 +1,616 @@ # Czech translation of shadow-utils. -# Jiøí Pavlovský , 1999-2000 +# Jiří Pavlovský , 1999-2000 # msgid "" msgstr "" "Project-Id-Version: shadow-utils-20000902\n" -"POT-Creation-Date: 2002-03-12 12:16+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-01-14 07:41+0100\n" "PO-Revision-Date: 2000-09-23 19:58+0200\n" -"Last-Translator: Jiøí Pavlovský \n" +"Last-Translator: Jiří Pavlovský \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" -msgstr "Varování: skupina %s je neznámá\n" +msgstr "Varování: skupina %s je neznámá\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" -msgstr "Varování: pøíli¹ mnoho skupin\n" +msgstr "Varování: příliÅ¡ mnoho skupin\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "Platnost va¹eho hesla vypr¹ela." +msgstr "Platnost vaÅ¡eho hesla vyprÅ¡ela." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "Va¹e heslo je vypnuto." +msgstr "VaÅ¡e heslo je vypnuto." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "Platnost va¹eho úètu vypr¹ela." +msgstr "Platnost vaÅ¡eho úÄtu vyprÅ¡ela." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " Kontaktujte správce systému.\n" +msgstr " Kontaktujte správce systému.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " Zvolte nové heslo.\n" +msgstr " Zvolte nové heslo.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "Platnost va¹eho heslo vypr¹í za %ld dnù.\n" +msgstr "Platnost vaÅ¡eho heslo vyprší za %ld dnů.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" -msgstr "Platnost va¹eho heslo vypr¹í zítra.\n" +msgstr "Platnost vaÅ¡eho heslo vyprší zítra.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" -msgstr "Platnost va¹eho heslo vypr¹í dnes.\n" +msgstr "Platnost vaÅ¡eho heslo vyprší dnes.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" -msgstr "TTY %s nelze zmìnit." +msgstr "TTY %s nelze zmÄ›nit" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "Pøeteèení prostøedí\n" +msgstr "PÅ™eteÄení prostÅ™edí\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" -msgstr "Nemù¾ete zmìnit $%s\n" +msgstr "Nemůžete zmÄ›nit $%s\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" -msgstr "Poèet %2$s od posledního pøihlá¹ení: %1$d. Poslední: %3$s na %4$s\n" +msgstr "PoÄet %2$s od posledního pÅ™ihlášení: %1$d. Poslední: %3$s na %4$s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" -msgstr "selhání" +msgstr "selhání" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" -msgstr "selhání" +msgstr "selhání" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" -msgstr "Pøíli¹ mnoho soubì¾ných pøihlá¹ení.\n" +msgstr "PříliÅ¡ mnoho souběžných pÅ™ihlášení.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "Tímto heslem nelze de¹ifrovat tajný klíè pro %s.\n" +msgstr "Tímto heslem nelze deÅ¡ifrovat tajný klÃ­Ä pro %s.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" -msgstr "Tajný klíè pro %s nelze nastavit. Je keyserv démon v provozu?\n" +msgstr "Tajný klÃ­Ä pro %s nelze nastavit. Je keyserv démon v provozu?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." -msgstr "Máte novou po¹tu." +msgstr "Máte novou poÅ¡tu." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." -msgstr "Nemáte ¾ádnou po¹tu." +msgstr "Nemáte žádnou poÅ¡tu." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." -msgstr "Máte po¹tu." +msgstr "Máte poÅ¡tu." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " -msgstr "Heslo %s je chybné. " +msgstr "Heslo %s je chybné. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "passwd: volání pam_start() selhalo, chyba %d\n" +msgstr "passwd: volání pam_start() selhalo, chyba %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" msgstr "passwd: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" -msgstr "Nelze nastavit aktuální adresáø na \"%s\".\n" +msgstr "Nelze nastavit aktuální adresář na \"%s\"\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" -msgstr "®ádný adresáø, nastavuji HOME na /" +msgstr "Žádný adresář, nastavuji HOME na /" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "Spou¹tím shell %s.\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" -msgstr "%s nelze spustit." +msgstr "%s nelze spustit" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" -msgstr "Chybný koøenový adresáø \"%s\"\n" +msgstr "Chybný koÅ™enový adresář \"%s\"\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" -msgstr "Nelze nastavit koøenový adresáø na \"%s\".\n" +msgstr "Nelze nastavit koÅ™enový adresář na \"%s\"\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" -msgstr "volání malloc(%d) selhalo\n" +msgstr "volání malloc(%d) selhalo\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "Heslo pro pøístup vytáèenou linkou:" - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" -msgstr "Nemohu alokovat dostatek místa pro konfiguraèní údaje.\n" +msgstr "Nemohu alokovat dostatek místa pro konfiguraÄní údaje.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -"konfiguraèní chyba - neznámý pøedmìt '%s' (informujte správce systému)\n" +"konfiguraÄní chyba - neznámý pÅ™edmÄ›t '%s' (informujte správce systému)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "chyba - hledání '%s' bylo neúspì¹né\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s nenalezeno\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " msgstr "Heslo: " #: lib/pwauth.c:56 #, c-format msgid "%s's Password: " -msgstr "Heslo u¾ivatele %s:" +msgstr "Heslo uživatele %s:" -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "(Echo zapnuto)" #: lib/strerror.c:20 #, c-format msgid "Unknown error %d" -msgstr "Neznámá chyba %d" +msgstr "Neznámá chyba %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"Pou¾ití: %s [-l] [-m min_dnù] [-M max_dnù] [-W varování]\n" -"\t[-I vypnutí] [-E vypr¹ení] [-d poslední den] u¾ivatel\n" +"Použití: chage [-l] [-m min_dnů] [-M max_dnů] [-W varování]\n" +" [-I vypnutí] [-E vyprÅ¡ení] [-d poslední den] uživatel\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" -"Pou¾ití: %s [-l] [-m min_dnù] [-M max_dnù] [-d poslední den] u¾ivatel\n" - -#: src/chage.c:157 +#: src/chage.c:152 msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"Zadejte novou hodnotu, nebo stisknìte ENTER pro pou¾ití implicitní hodnoty\n" +"Zadejte novou hodnotu, nebo stisknÄ›te ENTER pro použití implicitní hodnoty\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" -msgstr "Minimální stáøí hesla" +msgstr "Minimální stáří hesla" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" -msgstr "maximální stáøí hesla" +msgstr "maximální stáří hesla" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "Poslední zmìna hesla (YYYY-MM-DD)" +msgstr "Poslední zmÄ›na hesla (YYYY-MM-DD)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "Varování o vyprÅ¡ení platnosti hesla" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "Varování o vypr¹ení platnosti hesla" - -#: src/chage.c:189 msgid "Password Inactive" -msgstr "Vypnuté heslo" +msgstr "Vypnuté heslo" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "Vypr¹ení platnosti úètu (YYYY-MM-DD)" +msgstr "VyprÅ¡ení platnosti úÄtu (YYYY-MM-DD)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" msgstr "Minimum:\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" msgstr "Maximum:\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" -msgstr "Varování:\t%ld\n" +msgstr "Varování:\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" -msgstr "Vypnutí:\t%ld\n" +msgstr "Vypnutí:\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" -msgstr "Poslední zmìna:\t\t" +msgstr "Poslední zmÄ›na:\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" msgstr "Nikdy\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "Platnost hesla vypr¹í:\t" +msgstr "Platnost hesla vyprší:\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "Vypnuté heslo:\t" +msgstr "Vypnuté heslo:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "Platnost hesla vypr¹í:\t" +msgstr "Platnost hesla vyprší:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s: nepou¾ívejte \"l\" s ostatními pøíznaky\n" +msgstr "%s: nepoužívejte \"l\" s ostatními příznaky\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s: pøístup odmítnut\n" +msgstr "%s: přístup odmítnut\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, fuzzy, c-format msgid "%s: PAM authentication failed\n" -msgstr "%s: chyba pøi vytváøení ovìøovací metody\n" +msgstr "%s: chyba pÅ™i vytváření ověřovací metody\n" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: soubor s hesly nelze zamknout\n" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" -msgstr "%s: soubor s hesly nelze otevøít\n" +msgstr "%s: soubor s hesly nelze otevřít\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" -msgstr "%s: u¾ivatel %s je neznámý\n" +msgstr "%s: uživatel %s je neznámý\n" -#: src/chage.c:571 +#: src/chage.c:536 #, c-format msgid "%s: can't lock shadow password file" -msgstr "%s: soubor se stínovými hesly nelze zamknout" +msgstr "%s: soubor se stínovými hesly nelze zamknout" -#: src/chage.c:579 +#: src/chage.c:544 #, c-format msgid "%s: can't open shadow password file" -msgstr "%s: soubor se stínovými hesly nelze otevøít" +msgstr "%s: soubor se stínovými hesly nelze otevřít" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" -msgstr "Mìním informace o u¾ivateli %s.\n" +msgstr "MÄ›ním informace o uživateli %s\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s: chyba pøi zmìnì polo¾ek\n" +msgstr "%s: chyba pÅ™i zmÄ›nÄ› položek\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" msgstr "%s: soubor s hesly nelze aktualizovat\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n" +msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" -msgstr "Chyba pøi aktualizaci DBM databáze hesel.\n" +msgstr "Chyba pÅ™i aktualizaci DBM databáze hesel.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "%s: soubor se stínovými hesly nelze pøepsat\n" +msgstr "%s: soubor se stínovými hesly nelze pÅ™epsat\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s: soubor s hesly nelze pøepsat\n" +msgstr "%s: soubor s hesly nelze pÅ™epsat\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" msgstr "%s: nelze odemknout soubor\n" -#: src/chfn.c:83 +#: 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 "" -"Pou¾ití: %s [-f jméno] [-r èíslo místnosti] [-w telefon do zamìstnání]\n" -"\t[-h telefon domù] [-o ostatní] [u¾ivatel]\n" +"Použití: %s [-f jméno] [-r Äíslo místnosti] [-w telefon do zamÄ›stnání]\n" +"\t[-h telefon domů] [-o ostatní] [uživatel]\n" -#: src/chfn.c:88 +#: src/chfn.c:89 #, c-format msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n" msgstr "" -"Pou¾ití: %s [-f jméno] [-r èíslo místnosti] [-w telefon do zamìstnání]\n" -"\t[-h telefon domù]\n" +"Použití: %s [-f jméno] [-r Äíslo místnosti] [-w telefon do zamÄ›stnání]\n" +"\t[-h telefon domů]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" msgstr "" -"Zadejte novou hodnotu, nebo stisknìte ENTER pro pou¾ití implicitní hodnoty\n" +"Zadejte novou hodnotu, nebo stisknÄ›te ENTER pro použití implicitní hodnoty\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" -msgstr "Celé jméno" +msgstr "Celé jméno" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\tCelé jméno: %s\n" +msgstr "\tCelé jméno: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" -msgstr "Èíslo místnosti" +msgstr "Číslo místnosti" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" -msgstr "\tÈíslo místnosti: %s\n" +msgstr "\tČíslo místnosti: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" -msgstr "Telefon do zamìstnání" +msgstr "Telefon do zamÄ›stnání" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" -msgstr "\tTelefon do zamìstnání: %s\n" +msgstr "\tTelefon do zamÄ›stnání: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" -msgstr "Telefon domù" +msgstr "Telefon domů" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" -msgstr "\tTelefon domù: %s\n" +msgstr "\tTelefon domů: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" -msgstr "Ostatní" +msgstr "Ostatní" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "%s: pøístup odmítnut\n" +msgstr "%s: přístup odmítnut.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" -msgstr "%s: u¾ivatel %s je neznámý\n" +msgstr "%s: uživatel %s je neznámý\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" -msgstr "%s: va¹e u¾ivatelské jméno nelze zjistit\n" +msgstr "%s: vaÅ¡e uživatelské jméno nelze zjistit.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, c-format msgid "%s: cannot change user `%s' on NIS client.\n" -msgstr "%s: u¾ivatele `%s' nelze na NIS klientu zmìnit\n" +msgstr "%s: uživatele `%s' nelze na NIS klientu zmÄ›nit.\n" -#: src/chfn.c:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, c-format msgid "%s: `%s' is the NIS master for this client.\n" -msgstr "%s: `%s' je hlavním NIS serverem pro tohoto klienta\n" +msgstr "%s: `%s' je hlavním NIS serverem pro tohoto klienta.\n" -#: src/chfn.c:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" -msgstr "Mìním informace o u¾ivateli %s\n" +msgstr "MÄ›ním informace o uživateli %s\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s: jméno (\"%s\") je chybné\n" +msgstr "%s: jméno (\"%s\") je chybné\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "%s: èíslo místnosti (\"%s\") je chybné\n" +msgstr "%s: Äíslo místnosti (\"%s\") je chybné\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "%s: telefonní èíslo do zamìstnání (\"%s\") je chybné\n" +msgstr "%s: telefonní Äíslo do zamÄ›stnání (\"%s\") je chybné\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s: telefonní èíslo domù (\"%s\") je chybné\n" +msgstr "%s: telefonní Äíslo domů (\"%s\") je chybné\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s: \"%s\" obsahuje chybné znaky\n" +msgstr "%s: \"%s\" obsahuje chybné znaky\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" -msgstr "%s: polo¾ka je pøíli¹ dlouhá\n" +msgstr "%s: položka je příliÅ¡ dlouhá\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" -msgstr "Nelze zmìnit ID na root.\n" +msgstr "Nelze zmÄ›nit ID na root.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" -msgstr "Nelze zamknout soubor s hesly; zkuste to pozdìji.\n" +msgstr "Nelze zamknout soubor s hesly; zkuste to pozdÄ›ji.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "Soubor s hesly nelze otevøít.\n" +msgstr "Soubor s hesly nelze otevřít.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: %s se v /etc/passwd nenalézá\n" +msgstr "%s: %s se v /etc/passwd nenalézá\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" -msgstr "Chyba pøi aktualizaci polo¾ky v souboru s hesly.\n" +msgstr "Chyba pÅ™i aktualizaci položky v souboru s hesly.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" -msgstr "Nelze provést zmìny v souboru s hesly.\n" +msgstr "Nelze provést zmÄ›ny v souboru s hesly.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" msgstr "Soubor s hesly nelze odemknout.\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 #, c-format -msgid "usage: %s [-e]\n" -msgstr "Pou¾ití: %s [-e]\n" +msgid "Usage: %s [-e]\n" +msgstr "Použití: %s [-e]\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: soubor s hesly nelze zamknout\n" + +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: soubor se stínovými hesly nelze zamknout\n" +msgstr "%s: soubor se stínovými hesly nelze zamknout\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: soubor se stínovými hesly nelze otevøít\n" +msgstr "%s: soubor se stínovými hesly nelze otevřít\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" -msgstr "%s: øádek %d je pøíli¹ dlouhý\n" +msgstr "%s: řádek %d je příliÅ¡ dlouhý\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" -msgstr "%s: øádek %d: chybí nové heslo\n" +msgstr "%s: řádek %d: chybí nové heslo\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" -msgstr "%s: øádek %d: u¾ivatel %s je neznámý\n" +msgstr "%s: řádek %d: uživatel %s je neznámý\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: øádek %d: polo¾ku v souboru s hesly nelze aktualizovat\n" +msgstr "%s: řádek %d: položku v souboru s hesly nelze aktualizovat\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: chyba, zmìny budou ignorovány\n" +msgstr "%s: chyba, zmÄ›ny budou ignorovány\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: chyba pøi aktualizaci souboru se stínovými hesly\n" +msgstr "%s: chyba pÅ™i aktualizaci souboru se stínovými hesly\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: chyba pøi aktualizaci souboru s hesly\n" +msgstr "%s: chyba pÅ™i aktualizaci souboru s hesly\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "Pou¾ití: %s [-s shell] [jméno]\n" - -#: src/chsh.c:89 -msgid "Enter the new value, or press return for the default\n" -msgstr "" -"Zadejte novou hodnotu, nebo stisknìte ENTER pro pou¾ití implicitní hodnoty\n" +msgstr "Použití: %s [-s shell] [jméno]\n" #: src/chsh.c:90 -msgid "Login Shell" -msgstr "Implicitní shell" +msgid "Enter the new value, or press return for the default\n" +msgstr "" +"Zadejte novou hodnotu, nebo stisknÄ›te ENTER pro použití implicitní hodnoty\n" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:91 +msgid "Login Shell" +msgstr "Implicitní shell" + +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" -msgstr "Nemù¾ete zmìnit shell pro %s.\n" +msgstr "Nemůžete zmÄ›nit shell pro %s.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" -msgstr "Mìním implicitní shell pro %s\n" +msgstr "MÄ›ním implicitní shell pro %s\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: chybná polo¾ka %s\n" +msgstr "%s: chybná položka %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "Shell %s je chybný.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "Pou¾ití: %s [-(ald)] shell\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "Heslo shellu: " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "zadejte znovu heslo shellu: " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s: hesla se li¹í, zkuste to znovu\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: %s nelze vytvoøit" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s: %s nelze otevøít" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s: Shell %s nebyl nalezen.\n" +msgstr "Shell %s je chybný.\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "Pou¾ití: expiry {-f|-c}\n" +msgstr "Použití: expiry {-f|-c}\n" #: src/expiry.c:113 #, c-format msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: VAROVÁNÍ! Musí mít oprávnìní superu¾ivatele!\n" +msgstr "%s: VAROVÃNÃ! Musí mít oprávnÄ›ní superuživatele!\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s: neznámý u¾ivatel\n" +msgstr "%s: neznámý uživatel\n" #: src/faillog.c:77 #, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" -msgstr "Pou¾ití: %s [-a|-u u¾ivatel] [-m max] [-r] [-t dny] [-l zamkn sek]\n" +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "Použití: %s [-a|-u uživatel] [-m max] [-r] [-t dny] [-l zamkn sek]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format msgid "Unknown User: %s\n" -msgstr "U¾ivatel %s je neznámý.\n" +msgstr "Neznámý uživatel: %s\n" #: src/faillog.c:212 msgid "Username Failures Maximum Latest\n" -msgstr "Jméno Chyb Maximum Poslední\n" +msgstr "Jméno Chyb Maximum Poslední\n" #: src/faillog.c:229 #, c-format @@ -716,138 +625,132 @@ msgstr " [%lds zbylo]" #: src/faillog.c:237 #, c-format msgid " [%lds lock]" -msgstr " [%lds zámek]" +msgstr " [%lds zámek]" #: src/gpasswd.c:78 #, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "Pou¾ití: %s [r|-R] skupina\n" +msgid "Usage: %s [-r|-R] group\n" +msgstr "Použití: %s [r|-R] skupina\n" #: src/gpasswd.c:79 #, c-format msgid " %s [-a user] group\n" -msgstr " %s [-a u¾ivatel] skupina\n" +msgstr " %s [-a uživatel] skupina\n" #: src/gpasswd.c:80 #, c-format msgid " %s [-d user] group\n" -msgstr " %s [-d u¾ivatel] skupina\n" +msgstr " %s [-d uživatel] skupina\n" #: src/gpasswd.c:83 #, c-format msgid " %s [-A user,...] [-M user,...] group\n" -msgstr " %s [-A u¾ivatel,...] [-M u¾ivatel,...] skupina\n" +msgstr " %s [-A uživatel,...] [-M uživatel,...] skupina\n" #: src/gpasswd.c:85 #, c-format msgid " %s [-M user,...] group\n" -msgstr " %s [-M u¾ivatel,...] skupina\n" +msgstr " %s [-M uživatel,...] skupina\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s: u¾ivatel %s je neznámý\n" +msgstr "%s: uživatel %s je neznámý\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "Pøístup odmítnut.\n" +msgstr "Přístup odmítnut.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s: pøepínaè -A funguje pouze se stínovými hesly skupin\n" +msgstr "%s: pÅ™epínaÄ -A funguje pouze se stínovými hesly skupin\n" #: src/gpasswd.c:294 msgid "Who are you?\n" msgstr "Kdo jste?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "skupina %s je neznámá\n" +msgstr "skupina %s je neznámá\n" #: src/gpasswd.c:422 #, c-format msgid "Adding user %s to group %s\n" -msgstr "Pøidávám u¾ivatele %s do skupiny %s.\n" +msgstr "PÅ™idávám uživatele %s do skupiny %s\n" #: src/gpasswd.c:440 #, c-format msgid "Removing user %s from group %s\n" -msgstr "Odstraòuji u¾ivatele %s ze skupiny %s\n" +msgstr "Odstraňuji uživatele %s ze skupiny %s\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s: èlen %s je neznámý\n" +msgstr "%s: Älen %s je neznámý\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" -msgstr "%s: Nejedná se o tty\n" +msgstr "%s: Nejedná se o tty\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" -msgstr "Mìním heslo skupiny %s\n" +msgstr "MÄ›ním heslo skupiny %s\n" #: src/gpasswd.c:525 msgid "New Password: " -msgstr "Nové heslo: " +msgstr "Nové heslo: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "Zadejte opìt nové heslo: " +msgstr "Zadejte opÄ›t nové heslo: " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "Neshodují se; zkuste to opìt" +msgstr "Neshodují se; zkuste to opÄ›t" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: Zkuste to pozdìji\n" +msgstr "%s: Zkuste to pozdÄ›ji\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s: nelze získat zámek\n" +msgstr "%s: nelze získat zámek\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s: nelze získat zámek pro soubor se stínovými hesly\n" +msgstr "%s: nelze získat zámek pro soubor se stínovými hesly\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s: nelze otevøít soubor\n" +msgstr "%s: nelze otevřít soubor\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s: nelze aktualizovat polo¾ku\n" +msgstr "%s: nelze aktualizovat položku\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s: nelze aktualizovat polo¾ku souboru se stínovými hesly\n" +msgstr "%s: nelze aktualizovat položku souboru se stínovými hesly\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s: nelze pøepsat soubor\n" +msgstr "%s: nelze pÅ™epsat soubor\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s: nelze pøepsat soubor se stínovými hesly\n" +msgstr "%s: nelze pÅ™epsat soubor se stínovými hesly\n" #: src/gpasswd.c:630 #, c-format @@ -857,147 +760,141 @@ msgstr "%s: nelze odemknout soubor\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s: nelze aktualizovat soubory s DBM databázemi\n" +msgstr "%s: nelze aktualizovat soubory s DBM databázemi\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s: nelze aktualizovat soubory s DBM databázemi stínových hesel\n" +msgstr "%s: nelze aktualizovat soubory s DBM databázemi stínových hesel\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "Pou¾ití: groupadd [-g gid [-o]] skupina\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "Použití: groupadd [-g gid [-o]] [-f] skupina\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s: chyba pøi pøidávání polo¾ky souboru se skupinami\n" +msgstr "%s: chyba pÅ™i pÅ™idávání položky souboru se skupinami\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s: nelze pøidat polo¾ku do souboru s dbm databází skupin\n" +msgstr "%s: nelze pÅ™idat položku do souboru s dbm databází skupin\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" -msgstr "%s: jméno %s není jedineèné\n" +msgstr "%s: jméno %s není jedineÄné\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" -msgstr "%s: uid %u není jedineèné\n" +msgstr "%s: uid %u není jedineÄné\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s: nelze vytvoøit jedineèné gid\n" +msgstr "%s: nelze vytvoÅ™it jedineÄné gid\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "%s: %s není platným jménem skupiny\n" +msgstr "%s: %s není platným jménem skupiny\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s: chybná skupina %s\n" +msgstr "%s: chybná skupina %s\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" -msgstr "%s: pøepínaè -O vy¾aduje argument typu JMÉNO=HODNOTA\n" +msgstr "%s: pÅ™epínaÄ -O vyžaduje argument typu JMÉNO=HODNOTA\n" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s: soubor se skupinami nelze pøepsat\n" +msgstr "%s: soubor se skupinami nelze pÅ™epsat\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s: soubor se stínovými skupinami nelze pøepsat\n" +msgstr "%s: soubor se stínovými skupinami nelze pÅ™epsat\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" msgstr "%s: soubor se skupinami nelze zamknout\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" -msgstr "%s: soubor se skupinami nelze otevøít\n" +msgstr "%s: soubor se skupinami nelze otevřít\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s: soubor se stínovými skupinami nelze zamknout\n" +msgstr "%s: soubor se stínovými skupinami nelze zamknout\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s: soubor se stínovými skupinami nelze otevøít\n" +msgstr "%s: soubor se stínovými skupinami nelze otevřít\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" -msgstr "%s: skupina %s ji¾ existuje\n" +msgstr "%s: skupina %s již existuje\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "Pou¾ití: groupdel skupina\n" +#: src/groupdel.c:88 +msgid "Usage: groupdel group\n" +msgstr "Použití: groupdel skupina\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se skupinami\n" +msgstr "%s: chyba pÅ™i odstraňování položky ze souboru se skupinami\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru s dbm databází skupin\n" +msgstr "%s: chyba pÅ™i odstraňování položky ze souboru s dbm databází skupin\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se stínovými skupinami\n" +msgstr "%s: chyba pÅ™i odstraňování položky ze souboru se stínovými skupinami\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" msgstr "" -"%s: chyba pøi odstraòování polo¾ky ze souboru s dbm databází stínových " +"%s: chyba pÅ™i odstraňování položky ze souboru s dbm databází stínových " "skupin\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "%s: primární skupinu u¾ivatele nelze odstranit\n" +msgstr "%s: primární skupinu uživatele nelze odstranit.\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" msgstr "%s: skupina %s neexistuje\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" msgstr "%s: skupina %s je NIS skupinou\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s: %s je hlavním NIS serverem\n" +msgstr "%s: %s je hlavním NIS serverem\n" #: src/groupmems.c:95 msgid "Member already exists\n" @@ -1008,7 +905,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1029,46 +926,46 @@ msgstr "Soubor se skupinami nelze zamknout\n" #: src/groupmems.c:220 msgid "Unable to open group file\n" -msgstr "Soubor se skupinami nelze otevøít\n" +msgstr "Soubor se skupinami nelze otevřít\n" #: src/groupmems.c:240 msgid "Cannot close group file\n" -msgstr "Soubor se skupinami nelze otevøít\n" +msgstr "Soubor se skupinami nelze otevřít\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "Pou¾ití: groupmod [-g gid [-o]] [-n jméno] skupina\n" +#: src/groupmod.c:104 +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "Použití: groupmod [-g gid [-o]] [-n jméno] skupina\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, c-format msgid "%s: %s not found in /etc/group\n" -msgstr "%s: %s se v /etc/group nenalézá\n" +msgstr "%s: %s se v /etc/group nenalézá\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s: nelze pøidat polo¾ku do souboru s dbm databází stínových skupin\n" +msgstr "%s: nelze pÅ™idat položku do souboru s dbm databází stínových skupin\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" -msgstr "%s: gid %u není jedineèné\n" +msgstr "%s: gid %u není jedineÄné\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s: jméno %s není jedineèné\n" +msgstr "%s: jméno %s není jedineÄné\n" #: src/groups.c:59 #, c-format msgid "unknown user %s\n" -msgstr "u¾ivatel %s je neznámý\n" +msgstr "uživatel %s je neznámý\n" #: src/grpck.c:87 #, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" msgstr "" -"Pou¾ití: %s [-r] [-s] [soubor se skupinami [soubor se stínovými skupinami]]\n" +"Použití: %s [-r] [-s] [soubor se skupinami [soubor se stínovými skupinami]]\n" #: src/grpck.c:90 #, c-format @@ -1093,80 +990,64 @@ msgstr "%s: soubor %s nelze zamknout\n" #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s: soubor %s nelze otevøít\n" +msgstr "%s: soubor %s nelze otevřít\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "chybná polo¾ka v souboru se skupinami\n" +msgstr "chybná položka v souboru se skupinami\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 #: src/pwck.c:543 #, c-format msgid "delete line `%s'? " -msgstr "smazat øádek `%s'?" +msgstr "smazat řádek `%s'?" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" -msgstr "tato polo¾ka se v souboru se skupinami vyskytuje vícekrát\n" +msgstr "tato položka se v souboru se skupinami vyskytuje vícekrát\n" #: src/grpck.c:391 #, c-format msgid "invalid group name `%s'\n" -msgstr "jméno skupiny `%s' je chybné\n" +msgstr "jméno skupiny `%s' je chybné\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "skupina %s: u¾ivatel %s neexistuje\n" +msgstr "skupina %s: uživatel %s neexistuje\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " -msgstr "smazat èlena `%s'? " +msgstr "smazat Älena `%s'? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "chybná polo¾ka v souboru se stínovými skupinami\n" +msgstr "chybná položka v souboru se stínovými skupinami\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" -msgstr "duplikovaná polo¾ka v souboru se stínovými skupinami\n" +msgstr "duplikovaná položka v souboru se stínovými skupinami\n" #: src/grpck.c:537 msgid "no matching group file entry\n" -msgstr "v souboru se skupinami neexistuje odpovídající polo¾ka\n" +msgstr "v souboru se skupinami neexistuje odpovídající položka\n" #: src/grpck.c:558 #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "stínová skupina %s: administrátor %s neexistuje\n" +msgstr "stínová skupina %s: administrátor %s neexistuje\n" #: src/grpck.c:560 #, c-format msgid "delete administrative member `%s'? " -msgstr "smazat administrátora `%s'? " +msgstr "smazat administrátora `%s'? " #: src/grpck.c:588 #, c-format msgid "shadow group %s: no user %s\n" -msgstr "stínová skupina %s: u¾ivatel %s neexistuje\n" +msgstr "stínová skupina %s: uživatel %s neexistuje\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format @@ -1176,17 +1057,17 @@ msgstr "%s: soubor %s nelze aktualizovat\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s: soubory byly aktualizovány; spus»te mkpasswd\n" +msgstr "%s: soubory byly aktualizovány; spusÅ¥te mkpasswd\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format msgid "%s: no changes\n" -msgstr "%s: ¾ádné zmìny nebyly provedeny\n" +msgstr "%s: žádné zmÄ›ny nebyly provedeny\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format msgid "%s: the files have been updated\n" -msgstr "%s: soubory byly aktualizovány\n" +msgstr "%s: soubory byly aktualizovány\n" #: src/grpconv.c:60 src/grpunconv.c:56 #, c-format @@ -1196,216 +1077,203 @@ msgstr "%s: soubor se skupinami nelze zamknout\n" #: src/grpconv.c:65 src/grpunconv.c:61 #, c-format msgid "%s: can't open group file\n" -msgstr "%s: soubor se skupinami nelze otevøít\n" +msgstr "%s: soubor se skupinami nelze otevřít\n" #: src/grpconv.c:70 src/grpunconv.c:66 #, c-format msgid "%s: can't lock shadow group file\n" -msgstr "%s: soubor se stínovými skupinami nelze zamknout\n" +msgstr "%s: soubor se stínovými skupinami nelze zamknout\n" #: src/grpconv.c:76 src/grpunconv.c:72 #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: soubor se stínovými skupinami nelze otevøít\n" +msgstr "%s: soubor se stínovými skupinami nelze otevřít\n" #: src/grpconv.c:94 #, c-format msgid "%s: can't remove shadow group %s\n" -msgstr "%s: polo¾ku stínové skupiny %s nelze odstranit\n" +msgstr "%s: položku stínové skupiny %s nelze odstranit\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" -msgstr "%s: polo¾ku %s souboru se stínovými hesly nelze aktualizovat\n" +msgstr "%s: položku %s souboru se stínovými hesly nelze aktualizovat\n" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" -msgstr "%s: polo¾ku skupiny %s nelze odstranit\n" +msgstr "%s: položku skupiny %s nelze odstranit\n" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" -msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n" +msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" msgstr "%s: soubor s hesly nelze aktualizovat\n" -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: podpora pro stínová hesla skupin není nakonfigurována\n" - #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: soubor se stínovými hesly skupin nelze smazat\n" +msgstr "%s: soubor se stínovými hesly skupin nelze smazat\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "Pou¾ití: id [-a]\n" +msgid "Usage: id [-a]\n" +msgstr "Použití: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "Pou¾ití: id\n" +msgid "Usage: id\n" +msgstr "Použití: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" msgstr " skupiny=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 msgid "Username Port From Latest\n" -msgstr "U¾ivatel Port Z Naposledy\n" +msgstr "Uživatel Port Z Naposledy\n" #: src/lastlog.c:183 msgid "Username Port Latest\n" -msgstr "U¾ivatel Port Naposledy\n" +msgstr "Uživatel Port Naposledy\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" -msgstr "**Nikdy nebyl pøihlá¹en**" +msgstr "**Nikdy nebyl pÅ™ihlášen**" -#: src/login.c:185 +#: src/login.c:175 #, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "Pou¾ití: %s [-p] jméno\n" +msgid "Usage: %s [-p] [name]\n" +msgstr "Použití: %s [-p] jméno\n" -#: src/login.c:188 +#: src/login.c:178 #, c-format msgid " %s [-p] [-h host] [-f name]\n" -msgstr " %s [-p] [-h poèítaè] [-f jméno]\n" +msgstr " %s [-p] [-h poÄítaÄ] [-f jméno]\n" -#: src/login.c:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r poèítaè\n" +msgstr " %s [-p] -r poÄítaÄ\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" -msgstr "Chybný èas pøihlá¹ení\n" +msgstr "Chybný Äas pÅ™ihlášení\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" "\n" -"Systém byl uzavøen kvùli pravidelné údr¾bì.\n" +"Systém byl uzavÅ™en kvůli pravidelné údržbÄ›.\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[Odpojení pøeskoèeno -- u¾ivatel root smí být pøihlá¹en.]\n" +"[Odpojení pÅ™eskoÄeno -- uživatel root smí být pÅ™ihlášen.]\n" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" "\n" -"Vypr¹el èasový limit (%d vteøin) pro pøihlá¹ení.\n" +"VyprÅ¡el Äasový limit (%d vteÅ™in) pro pÅ™ihlášení.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" msgstr " na `%.100s' z `%.200s'" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" msgstr " na `%.100s'" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" "%s login: " msgstr "" "\n" -"Pøihla¹ovací jméno na %s: " +"PÅ™ihlaÅ¡ovací jméno na %s: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " -msgstr "Pøihla¹ovací jméno: " +msgstr "PÅ™ihlaÅ¡ovací jméno: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" -msgstr "Chybné pøihlá¹ení" +msgstr "Chybné pÅ™ihlášení" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" -msgstr "Varování: po doèasném zákazu je pøihla¹ování opìt povoleno\n" +msgstr "Varování: po doÄasném zákazu je pÅ™ihlaÅ¡ování opÄ›t povoleno.\n" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" -msgstr "Poslední pøihlá¹ení: %s na %s" +msgstr "Poslední pÅ™ihlášení: %s na %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" -msgstr "Poslední pøihlá¹ení: %.19s na %s" +msgstr "Poslední pÅ™ihlášení: %.19s na %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" msgstr " z %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" -msgstr "Spou¹tím rad_login\n" +msgstr "SpouÅ¡tím rad_login\n" #: src/mkpasswd.c:47 #, c-format msgid "%s: no DBM database on system - no action performed\n" -msgstr "%s: systém neobsahuje ¾ádnou DBM databázi - není co dìlat\n" +msgstr "%s: systém neobsahuje žádnou DBM databázi - není co dÄ›lat\n" #: src/mkpasswd.c:232 src/mkpasswd.c:237 #, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "%s: soubor %s nelze pøepsat\n" +msgstr "%s: soubor %s nelze pÅ™epsat\n" #: src/mkpasswd.c:252 #, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "%s: soubory s DBM databázemi pro %s nelze otevøít\n" +msgstr "%s: soubory s DBM databázemi pro %s nelze otevřít\n" #: src/mkpasswd.c:287 #, c-format msgid "%s: the beginning with " -msgstr "%s: zaèátek s " +msgstr "%s: zaÄátek s " #: src/mkpasswd.c:288 msgid " is too long\n" -msgstr " polo¾ka je pøíli¹ dlouhá\n" +msgstr " položka je příliÅ¡ dlouhá\n" #: src/mkpasswd.c:315 #, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "%s: chyba pøi zpracování øádku \"%s\"\n" +msgstr "%s: chyba pÅ™i zpracování řádku \"%s\"\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " -msgstr "pøidávám záznam pro jméno" +msgstr "pÅ™idávám záznam pro jméno" #: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 #: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 @@ -1415,377 +1283,316 @@ msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 #, c-format msgid "%s: error adding record for " -msgstr "%s: chyba pøi zadávání záznamu pro jméno " +msgstr "%s: chyba pÅ™i zadávání záznamu pro jméno " #: src/mkpasswd.c:378 #, c-format msgid "added %d entries, longest was %d\n" -msgstr "poèet pøidaných polo¾ek: %d; délka nejvìt¹í: %d\n" +msgstr "poÄet pÅ™idaných položek: %d; délka nejvÄ›tší: %d\n" #: src/mkpasswd.c:392 #, c-format msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n" -msgstr "Pou¾ití: %s [-vf] [-p|g|sp|sg] soubor\n" +msgstr "Použití: %s [-vf] [-p|g|sp|sg] soubor\n" #: src/mkpasswd.c:395 #, c-format msgid "Usage: %s [-vf] [-p|g|sp] file\n" -msgstr "Pou¾ití: %s [-vf] [-p|g|sp] soubor\n" +msgstr "Použití: %s [-vf] [-p|g|sp] soubor\n" #: src/mkpasswd.c:398 #, c-format msgid "Usage: %s [-vf] [-p|g] file\n" -msgstr "Pou¾ití: %s [-vf] [-p|g] soubor\n" +msgstr "Použití: %s [-vf] [-p|g] soubor\n" #: src/newgrp.c:61 -msgid "usage: newgrp [-] [group]\n" -msgstr "Pou¾ití: newgrp [-] [skupina]\n" +msgid "Usage: newgrp [-] [group]\n" +msgstr "Použití: newgrp [-] [skupina]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" -msgstr "Pou¾ití: sg skupina [[-c] pøíkaz]\n" +msgid "Usage: sg group [[-c] command]\n" +msgstr "Použití: sg skupina [[-c] příkaz]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" -msgstr "uid %u je neznámé\n" +msgstr "uid %u je neznámé\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" -msgstr "gid %lu je neznámé\n" +msgstr "gid %lu je neznámé\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" msgstr "Lituji.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" -msgstr "pøíli¹ mnoho skupin\n" +msgstr "příliÅ¡ mnoho skupin\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "Pou¾ití: %s [vstup]\n" +msgstr "Použití: %s [vstup]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s: soubor /etc/passwd nelze zamknout\n" +msgstr "%s: soubor /etc/passwd nelze zamknout.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s: soubory nelze zamknout. Zkuste to opìt pozdìji.\n" +msgstr "%s: soubory nelze zamknout. Zkuste to opÄ›t pozdÄ›ji.\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s: soubory nelze otevøít\n" +msgstr "%s: soubory nelze otevřít\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: řádek %d: chybný řádek\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s: øádek %d: chybný øádek\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s: øádek %d: nelze vytvoøit GID\n" +msgstr "%s: řádek %d: nelze vytvoÅ™it GID\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s: øádek %d: nelze vytvoøit UID\n" +msgstr "%s: řádek %d: nelze vytvoÅ™it UID\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s: øádek %d: u¾ivatele %s nelze nalézt\n" +msgstr "%s: řádek %d: uživatele %s nelze nalézt\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s: øádek %d: heslo nelze aktualizovat\n" +msgstr "%s: řádek %d: heslo nelze aktualizovat\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s: øádek %d: volání mkdir selhalo\n" +msgstr "%s: řádek %d: volání mkdir selhalo\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s: øádek %d: volání chown selhalo\n" +msgstr "%s: řádek %d: volání chown selhalo\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s: øádek %d: polo¾ku nelze aktualizovat\n" +msgstr "%s: řádek %d: položku nelze aktualizovat\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s: chyba pøi aktualizaci souborù\n" +msgstr "%s: chyba pÅ™i aktualizaci souborů\n" -#: src/passwd.c:174 +#: src/passwd.c:155 #, c-format -msgid "usage: %s [-f|-s] [name]\n" -msgstr "Pou¾ití: %s [-f|-s] [jméno]\n" +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "Použití: %s [-f|-s] [jméno]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, c-format msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr " %s [-x max] [-n min] [-w varování] [-i vypnutí] jméno\n" +msgstr " %s [-x max] [-n min] [-w varování] [-i vypnutí] jméno\n" -#: src/passwd.c:180 +#: src/passwd.c:161 #, c-format msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr " %s {-l|-u|-d|-S|-e} jméno\n" +msgstr " %s {-l|-u|-d|-S|-e} jméno\n" -#: src/passwd.c:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "U¾ivatel %s má TCFS klíè, je tøeba jeho staré heslo.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "Mù¾ete pou¾ít pøepínaè -t pro vynucení zmìny.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "Staré heslo: " +msgstr "Staré heslo: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" -msgstr "Chybné heslo pro `%s'\n" +msgstr "Chybné heslo pro `%s'\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "Varování: u¾ivatele %s má TCFS klíè.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -"Zadejte nové heslo (poèet znakù v intervalu %d a¾ %d).\n" -"Pou¾ijte kombinaci velkých a malých písmen s èíslicemi.\n" +"Zadejte nové heslo (poÄet znaků v intervalu %d až %d).\n" +"Použijte kombinaci velkých a malých písmen s Äíslicemi.\n" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "Nové heslo: " +msgstr "Nové heslo: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" msgstr "Zkuste to znovu.\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" "\n" -"Varování: slabé heslo (pokud jej opravdu chcete pou¾ít, zadejte jej znovu).\n" +"Varování: slabé heslo (pokud jej opravdu chcete použít, zadejte jej znovu).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" -msgstr "Neshodují se; zkuste to znovu.\n" +msgstr "Neshodují se; zkuste to znovu.\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "Heslo pro %s nelze zmìnit.\n" +msgstr "Heslo pro %s nelze zmÄ›nit.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "Lituji, ale heslo pro %s nelze je¹tì zmìnit.\n" +msgstr "Lituji, ale heslo pro %s nelze jeÅ¡tÄ› zmÄ›nit.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s: do¹la pamì»\n" +msgstr "%s: doÅ¡la paměť\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "Nelze zamknout databázi TCFS klíèù. Zkuste to pozdìji.\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "Nelze otevøít databázi TCFS klíèù.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "Chyba pøi aktualizaci databáze TCFS klíèù.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "Nelze zmìnit TCFS databázi.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" msgstr "%s: %s nelze spustit" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" -msgstr "%s: úlo¾na %s není podporována\n" +msgstr "%s: úložna %s není podporována\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s: pøístup odmítnut\n" +msgstr "%s: přístup odmítnut\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "Nesmíte zmìnit heslo pro %s.\n" +msgstr "Nesmíte zmÄ›nit heslo pro %s.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" -msgstr "Mìním heslo u¾ivatele %s\n" +msgstr "MÄ›ním heslo uživatele %s\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "Heslo u¾ivatele %s nebylo zmìnìno.\n" +msgstr "Heslo uživatele %s nebylo zmÄ›nÄ›no.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 msgid "Password changed.\n" -msgstr "Heslo bylo zmìnìno.\n" +msgstr "Heslo bylo zmÄ›nÄ›no.\n" #: src/pwck.c:87 #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" msgstr "" -"Pou¾ití: %s [-q] [-r] [-s] [soubor s hesly [soubor se stínovými hesly]]\n" +"Použití: %s [-q] [-r] [-s] [soubor s hesly [soubor se stínovými hesly]]\n" #: src/pwck.c:90 #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" -msgstr "Pou¾ití: %s [-q] [-r] [-s] [soubor s hesly]\n" +msgstr "Použití: %s [-q] [-r] [-s] [soubor s hesly]\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "chybná polo¾ka v souboru s hesly\n" +msgstr "chybná položka v souboru s hesly\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "duplikovaná polo¾ka v souboru s hesly\n" +msgstr "duplikovaná položka v souboru s hesly\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "chybné u¾ivatelské jméno '%s'\n" +msgstr "chybné uživatelské jméno '%s'\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" -msgstr "u¾ivatel %s: skupina %u neexistuje\n" +msgstr "uživatel %s: skupina %u neexistuje\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "u¾ivatel %s: adresáø %s neexistuje\n" +msgstr "uživatel %s: adresář %s neexistuje\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "u¾ivatel %s: program %s neexistuje\n" +msgstr "uživatel %s: program %s neexistuje\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "chybná polo¾ka v souboru se stínovými hesly\n" +msgstr "chybná položka v souboru se stínovými hesly\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "duplikovaná polo¾ka v souboru se stínovými hesly\n" +msgstr "duplikovaná položka v souboru se stínovými hesly\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" -msgstr "chybí polo¾ka v souboru s hesly\n" +msgstr "chybí položka v souboru s hesly\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" -msgstr "u¾ivatel %s: poslední zmìna hesla v budoucnosti\n" +msgstr "uživatel %s: poslední zmÄ›na hesla v budoucnosti\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: src/pwconv.c:85 src/pwunconv.c:79 #, c-format msgid "%s: can't lock passwd file\n" msgstr "%s: soubor s hesly nelze zamknout\n" -#: src/pwconv.c:89 src/pwunconv.c:98 +#: src/pwconv.c:90 src/pwunconv.c:84 #, c-format msgid "%s: can't open passwd file\n" -msgstr "%s: soubor s hesly nelze otevøít\n" +msgstr "%s: soubor s hesly nelze otevřít\n" -#: src/pwconv.c:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s: polo¾ku souboru s hesly pro u¾ivatele %s nelze odstranit\n" +msgstr "%s: položku souboru s hesly pro uživatele %s nelze odstranit\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s: polo¾ku souboru s hesly pro u¾ivatele %s nelze aktualizovat\n" +msgstr "%s: položku souboru s hesly pro uživatele %s nelze aktualizovat\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n" +msgstr "%s: soubor se stínovými hesly nelze aktualizovat\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" msgstr "%s: soubor s hesly nelze aktualizovat\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s: stínová hesla nejsou nakonfigurována\n" - -#: src/pwunconv.c:160 +#: src/pwunconv.c:124 #, c-format msgid "%s: can't update entry for user %s\n" -msgstr "%s: polo¾ku pro u¾ivatele %s nelze aktualizovat\n" +msgstr "%s: položku pro uživatele %s nelze aktualizovat\n" -#: src/pwunconv.c:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s: nemù¾ete smazat soubor se stínovými hesly\n" +msgstr "%s: nemůžete smazat soubor se stínovými hesly\n" #: src/su.c:133 msgid "Sorry." @@ -1794,7 +1601,7 @@ msgstr "Lituji." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s: musí být spu¹tìno z terminálu\n" +msgstr "%s: musí být spuÅ¡tÄ›no z terminálu\n" #: src/su.c:306 #, c-format @@ -1804,17 +1611,16 @@ msgstr "%s: pam_start: chyba %d\n" #: src/su.c:336 #, c-format msgid "Unknown id: %s\n" -msgstr "Id %s je neznámé.\n" +msgstr "Id %s je neznámé.\n" #: src/su.c:373 src/su.c:390 #, c-format msgid "You are not authorized to su %s\n" -msgstr "Nejste oprávnìn pou¾ívat su %s\n" +msgstr "Nejste oprávnÄ›n používat su %s\n" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" -msgstr "(Zadejte va¹e heslo.)" +msgstr "(Zadejte vaÅ¡e heslo.)" #: src/su.c:419 #, c-format @@ -1825,605 +1631,658 @@ msgstr "" "%s: %s\n" "(Ignoruji)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" -msgstr "®ádný shell\n" +msgstr "Žádný shell\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" -msgstr "Z tohoto úètu je pøístup k su ZAKÁZÁN.\n" +msgstr "Z tohoto úÄtu je přístup k su ZAKÃZÃN.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "Ovìøování heslem vynecháno.\n" +msgstr "Ověřování heslem vynecháno.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" -msgstr "Pro ovìøení zadejte VA©E vlastní heslo.\n" +msgstr "Pro ověření zadejte VAÅ E vlastní heslo.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" msgstr "Soubor s hesly neexistuje\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "V databázi není polo¾ka pro u¾ivatele 'root'\n" +msgstr "V databázi není položka pro uživatele 'root'\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" "\n" -"Stisknìte control-d pro normální spu¹tìní systému,\n" -"(nebo zadejte heslo u¾ivatele root pro údr¾bu systému):" +"StisknÄ›te control-d pro normální spuÅ¡tÄ›ní systému,\n" +"(nebo zadejte heslo uživatele root pro údržbu systému):" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" -msgstr "Vstupuji do re¾imu údr¾by systému\n" +msgstr "Vstupuji do režimu údržby systému\n" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" -msgstr "%s: vytvoøte znovu databázi skupin\n" +msgstr "%s: vytvoÅ™te znovu databázi skupin\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "%s: vytvoøte znovu databázi stínových skupin\n" +msgstr "%s: vytvoÅ™te znovu databázi stínových skupin\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "%s: chybný numerický argument `%s'\n" +msgstr "%s: chybný numerický argument `%s'\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" -msgstr "%s: gid %s je neznámé\n" +msgstr "%s: gid %s je neznámé\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" -msgstr "%s: skupina %s je neznámá\n" +msgstr "%s: skupina %s je neznámá\n" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "skupina=%s,%u základ. adr.=%s skel=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "shell=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "vypnutí=%ld vypr¹ení=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" msgstr "SKUPINA=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" -msgstr "DOMÁCÍ ADRESÁØ=%s\n" +msgstr "DOMÃCà ADRESÃŘ=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" -msgstr "VYPNUTÍ=%ld\n" +msgstr "VYPNUTÃ=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" -msgstr "VYPR©ENÍ=%s\n" +msgstr "VYPRÅ ENÃ=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" -msgstr "INTERPRET PØÍKAZÙ=%s\n" +msgstr "INTERPRET PŘÃKAZÅ®=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "SKELETON=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" -msgstr "%s: nemohu vytvoøit nový soubor s implicitními hodnotami\n" +msgstr "%s: nemohu vytvoÅ™it nový soubor s implicitními hodnotami\n" -#: src/useradd.c:503 -#, fuzzy, c-format +#: src/useradd.c:467 +#, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: nemohu vytvoøit nový soubor s implicitními hodnotami\n" +msgstr "%s: nemohu vytvoÅ™it nový soubor s implicitními hodnotami\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" -msgstr "%s: pøejmenovat: %s" +msgstr "%s: pÅ™ejmenovat: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" msgstr "%s: skupina `%s' je NIS skupinou\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" -msgstr "%s: zadáno pøíli¹ mnoho skupin (max %d).\n" +msgstr "%s: zadáno příliÅ¡ mnoho skupin (max %d).\n" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "Pou¾ití: %s [-u uid [-o]] [-g skupina [-G skupina,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Použití: useradd [-u uid [-o]] [-g skupina [-G skupina,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t [-d domácí adr.] [-s shell] [-c komentáø] [-m [-k ¹ablona]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "" +" [-d domácí adr.] [-s shell] [-c komentář]\n" +" [-m [-k Å¡ablona]]\n" -#: src/useradd.c:745 src/usermod.c:329 -#, fuzzy -msgid "[-f inactive] [-e expire ] " -msgstr " [-f vypnutí] [-e vypr¹ení] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f vypnutí] [-e vyprÅ¡ení]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A program] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g skupina [-b základní adr.] [-s shell]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p heslo] jméno\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s -D [-g skupina [-b základní adr.] [-s shell]\n" - -#: src/useradd.c:756 -#, fuzzy -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t [-f vypnutí] [-e vypr¹ení]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" -msgstr "%s: chyba pøi zamykání souboru se skupinami\n" +msgstr "%s: chyba pÅ™i zamykání souboru se skupinami\n" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" -msgstr "%s: chyba pøi otevírání souboru se skupinami\n" +msgstr "%s: chyba pÅ™i otevírání souboru se skupinami\n" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s: chyba pøi zamykání souboru se stínovými hesly\n" +msgstr "%s: chyba pÅ™i zamykání souboru se stínovými hesly\n" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s: chyba pøi otevírání souboru se stínovými hesly\n" +msgstr "%s: chyba pÅ™i otevírání souboru se stínovými hesly\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" -msgstr "%s uid %u není jedineèné\n" +msgstr "%s uid %u není jedineÄné\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" -msgstr "%s: nemohu získat jedineèné uid\n" +msgstr "%s: nemohu získat jedineÄné uid\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s: chybná polo¾ka `%s'\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s: chybný základní adresáø `%s'\n" +msgstr "%s: chybný základní adresář `%s'\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s: chybný komentáø `%s'\n" +msgstr "%s: chybný komentář `%s'\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s: chybný domácí adresáø `%s'\n" +msgstr "%s: chybný domácí adresář `%s'\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s: chybné datum `%s'\n" +msgstr "%s: chybné datum `%s'\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "%s: pøepínaè -e vy¾aduje stínová hesla\n" +msgstr "%s: pÅ™epínaÄ -e vyžaduje stínová hesla\n" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "%s: pøepínaè -f vy¾aduje stínová hesla\n" +msgstr "%s: pÅ™epínaÄ -f vyžaduje stínová hesla\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: chybná položka `%s'\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s: chybný shell `%s'\n" +msgstr "%s: chybný shell `%s'\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" -msgstr "%s: chybné u¾ivatelské jméno `%s'\n" +msgstr "%s: chybné uživatelské jméno `%s'\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" -msgstr "%s: soubor s hesly nelze pøepsat\n" +msgstr "%s: soubor s hesly nelze pÅ™epsat\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "%s: soubor se stínovými hesly nelze pøepsat\n" +msgstr "%s: soubor se stínovými hesly nelze pÅ™epsat\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" msgstr "%s: soubor s hesly nelze zamknout\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" -msgstr "%s: soubor s hesly nelze otevøít\n" +msgstr "%s: soubor s hesly nelze otevřít\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "%s: soubor se stínovými hesly nelze zamknout\n" +msgstr "%s: soubor se stínovými hesly nelze zamknout\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s: soubor se stínovými hesly nelze otevøít\n" +msgstr "%s: soubor se stínovými hesly nelze otevřít\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s: chyba pøi vytváøení ovìøovací metody\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" -msgstr "%s: chyba pøi vytváøení nové polo¾ky v souboru s hesly\n" +msgstr "%s: chyba pÅ™i vytváření nové položky v souboru s hesly\n" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" -msgstr "%s: chyba pøi aktualizaci polo¾ky dbm databáze hesel\n" +msgstr "%s: chyba pÅ™i aktualizaci položky dbm databáze hesel\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s: chyba pøi vytváøení nové polo¾ky v souboru se stínovými hesly\n" +msgstr "%s: chyba pÅ™i vytváření nové položky v souboru se stínovými hesly\n" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" -msgstr "%s: chyba pøi aktualizaci polo¾ky dbm databáze stínových hesel\n" +msgstr "%s: chyba pÅ™i aktualizaci položky dbm databáze stínových hesel\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" -msgstr "%s: adresáø %s nelze vytvoøit\n" +msgstr "%s: adresář %s nelze vytvoÅ™it\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" -msgstr "%s: u¾ivatel %s ji¾ existuje\n" +msgstr "%s: uživatel %s již existuje\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" -msgstr "%s: varování: CREATE_HOME není podporováno, pou¾ijte pøepínaè -m\n" +msgstr "%s: varování: CREATE_HOME není podporováno, použijte pÅ™epínaÄ -m\n" -#: src/userdel.c:129 +#: src/userdel.c:124 #, c-format -msgid "usage: %s [-r] name\n" -msgstr "Pou¾ití: %s [-r] jméno\n" +msgid "Usage: %s [-r] name\n" +msgstr "Použití: %s [-r] jméno\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s: polo¾ku souboru se skupinami nelze aktualizovat\n" +msgstr "%s: položku souboru se skupinami nelze aktualizovat\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" -msgstr "%s: polo¾ku dbm databáze skupin nelze aktualizovat\n" +msgstr "%s: položku dbm databáze skupin nelze aktualizovat\n" -#: src/userdel.c:219 +#: src/userdel.c:214 #, c-format msgid "%s: cannot remove dbm group entry\n" -msgstr "%s: polo¾ku dbm databáze skupin nelze odstranit\n" +msgstr "%s: položku dbm databáze skupin nelze odstranit\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: soubor s TCFS klíèi nelze pøepsat\n" +msgid "%s: cannot open group file\n" +msgstr "%s: soubor se skupinami nelze otevřít\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: soubor s TCFS klíèi nelze zamknout\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: soubor s TCFS klíèi nelze otevøít\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: soubor se stínovými skupinami nelze otevřít\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: soubor se skupinami nelze otevøít\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: soubor se stínovými skupinami nelze otevøít\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s: chyba pøi odstraòování ovìøovací metody\n" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru s hesly\n" +msgstr "%s: chyba pÅ™i odstraňování položky ze souboru s hesly\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se stínovými hesly\n" +msgstr "%s: chyba pÅ™i odstraňování položky ze souboru se stínovými hesly\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: chyba pøi odstraòování TCFS polo¾ky\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze hesel\n" +msgstr "%s: chyba pÅ™i odstraňování položky z dbm databáze hesel\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze stínových hesel\n" +msgstr "%s: chyba pÅ™i odstraňování položky z dbm databáze stínových hesel\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s: u¾ivatel %s je právì pøihlá¹en\n" +msgstr "%s: uživatel %s je právÄ› pÅ™ihlášen\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s: varování: vlastníkem %s není %s, nema¾u jej\n" +msgstr "%s: varování: vlastníkem %s není %s, nemažu jej\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " -msgstr "%s: varování: nemohu smazat " +msgstr "%s: varování: nemohu smazat " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" -msgstr "%s: u¾ivatel %s neexistuje\n" +msgstr "%s: uživatel %s neexistuje\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" -msgstr "%s: u¾ivatel %s je NIS u¾ivatelem\n" +msgstr "%s: uživatel %s je NIS uživatelem\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, c-format msgid "%s: %s not owned by %s, not removing\n" -msgstr "%s: vlastníkem %s není %s, nema¾u jej\n" +msgstr "%s: vlastníkem %s není %s, nemažu jej\n" -#: src/userdel.c:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" -msgstr "%s: adresáø %s nebudu mazat (je to domácí adresáø u¾ivatele %s)\n" +msgstr "%s: adresář %s nebudu mazat (je to domácí adresář uživatele %s)\n" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s: chyba pøi mazání adresáøe %s\n" +msgstr "%s: chyba pÅ™i mazání adresáře %s\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Použití: %s [-u uid [-o]] [-g skupina [-G skupina,...] \n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" -msgstr "\t\t[-d domácí adr. [-m]] [-s shell] [-c komentáø] [-l nové jméno]\n" +msgstr "\t\t[-d domácí adr. [-m]] [-s shell] [-c komentář] [-l nové jméno]\n" -#: src/usermod.c:332 -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DEFAULT|program},...] " +#: src/usermod.c:313 +#, fuzzy +msgid "[-f inactive] [-e expire] " +msgstr "[-f vypnutí] [-e vyprÅ¡ení] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" -msgstr "[-p heslo] [-L|-U] jméno\n" +msgstr "[-p heslo] [-L|-U] jméno\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" -msgstr "%s nedostatek pamìti v update_group\n" +msgstr "%s nedostatek pamÄ›ti v update_group\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" -msgstr "%s: nedostatek pamìti v update_gshadow\n" +msgstr "%s: nedostatek pamÄ›ti v update_gshadow\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" -msgstr "%s: ¾ádné pøepínaèe\n" +msgstr "%s: žádné pÅ™epínaÄe\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s: pøepínaèe -e a -f vy¾adují stínová hesla\n" +msgstr "%s: pÅ™epínaÄe -e a -f vyžadují stínová hesla\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s uid %lu není jedineèné\n" +msgstr "%s uid %lu není jedineÄné\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: chyba pøi odstraòování ovìøovací metody\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: chyba pøi zmìnì ovìøovací metody\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: chyba pøi zmìnì polo¾ky v souboru s hesly\n" +msgstr "%s: chyba pÅ™i zmÄ›nÄ› položky v souboru s hesly\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru s hesly\n" +msgstr "%s: chyba pÅ™i odstraňování položky ze souboru s hesly\n" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" -msgstr "%s: chyba pøi pøidávání polo¾ky do dbm databáze hesel\n" +msgstr "%s: chyba pÅ™i pÅ™idávání položky do dbm databáze hesel\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze hesel\n" +msgstr "%s: chyba pÅ™i odstraňování položky z dbm databáze hesel\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky ze souboru se stínovými hesly\n" +msgstr "%s: chyba pÅ™i odstraňování položky ze souboru se stínovými hesly\n" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" -msgstr "%s: chyba pøi odstraòování polo¾ky z dbm databáze stínových hesel\n" +msgstr "%s: chyba pÅ™i odstraňování položky z dbm databáze stínových hesel\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s: adresáø %s ji¾ existuje\n" +msgstr "%s: adresář %s již existuje\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" -msgstr "%s: %s nelze vytvoøit\n" +msgstr "%s: %s nelze vytvoÅ™it\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s: volání chown pro %s selhalo\n" +msgstr "%s: volání chown pro %s selhalo\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" -msgstr "%s: adresáø %s nelze na %s pøejmenovat\n" +msgstr "%s: adresář %s nelze na %s pÅ™ejmenovat\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" -msgstr "%s: varování: vlastníkem %s není %s\n" +msgstr "%s: varování: vlastníkem %s není %s\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "chyba pøi zmìnì vlastníka schránky" +msgstr "chyba pÅ™i zmÄ›nÄ› vlastníka schránky" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" -msgstr "chyba pøi pøejmenovávání schránky" +msgstr "chyba pÅ™i pÅ™ejmenovávání schránky" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s: %s je beze zmìny\n" +"%s: %s je beze zmÄ›ny\n" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" msgstr "Soubor nelze zamknout" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" -msgstr "Zálohování nelze provést." +msgstr "Zálohování nelze provést." -#: src/vipw.c:206 +#: src/vipw.c:200 #, c-format msgid "%s: can't restore %s: %s (your changes are in %s)\n" -msgstr "%s: %s nelze obnovit: %s (zmìny jsou v %s)\n" +msgstr "%s: %s nelze obnovit: %s (zmÄ›ny jsou v %s)\n" -#: src/vipw.c:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" "`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n" msgstr "" -"Pou¾ití:\n" +"Použití:\n" "`vipw' edituje /etc/passwd `vipw -s' edituje /etc/shadow\n" "`vigr' edituje /etc/group `vigr -s' edituje /etc/gshadow\n" +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: položku pro uživatele %s nelze aktualizovat\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "Uživatel %s má TCFS klíÄ, je tÅ™eba jeho staré heslo.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "Můžete použít pÅ™epínaÄ -t pro vynucení zmÄ›ny.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "Varování: uživatele %s má TCFS klíÄ.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "Nelze zamknout databázi TCFS klíÄů. Zkuste to pozdÄ›ji.\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Nelze otevřít databázi TCFS klíÄů.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Chyba pÅ™i aktualizaci databáze TCFS klíÄů.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Nelze zmÄ›nit TCFS databázi.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: soubor s TCFS klíÄi nelze pÅ™epsat\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: soubor s TCFS klíÄi nelze zamknout\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: soubor s TCFS klíÄi nelze otevřít\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: chyba pÅ™i odstraňování TCFS položky\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f vypnutí] [-e vyprÅ¡ení]" + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: chyba pÅ™i odstraňování ověřovací metody\n" + +#, fuzzy +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|program},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: chyba pÅ™i odstraňování ověřovací metody\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: chyba pÅ™i vytváření ověřovací metody\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: chyba pÅ™i zmÄ›nÄ› ověřovací metody\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A program] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p heslo] jméno\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "chyba - hledání '%s' bylo neúspěšné\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s nenalezeno\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: podpora pro stínová hesla skupin není nakonfigurována\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: stínová hesla nejsou nakonfigurována\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "Použití: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "SpouÅ¡tím shell %s\n" + +#~ msgid "Dialup Password: " +#~ msgstr "Heslo pro přístup vytáÄenou linkou:" + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "" +#~ "Použití: %s [-l] [-m min_dnů] [-M max_dnů] [-d poslední den] uživatel\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "Použití: %s [-(ald)] shell\n" + +#~ msgid "Shell password: " +#~ msgstr "Heslo shellu: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "zadejte znovu heslo shellu: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: hesla se liší, zkuste to znovu.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: %s nelze vytvoÅ™it" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: %s nelze otevřít" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: Shell %s nebyl nalezen.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "skupina=%s,%u základ. adr.=%s skel=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "shell=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "vypnutí=%ld vyprÅ¡ení=%s" + +#, fuzzy +#~ msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#~ msgstr "Použití: %s [-u uid [-o]] [-g skupina [-G skupina,...] \n" + #~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s: gid %ld není jedineèné\n" +#~ msgstr "%s: gid %ld není jedineÄné\n" #, fuzzy #~ msgid "unknown gid: %u\n" -#~ msgstr "gid %d je neznámé\n" +#~ msgstr "gid %d je neznámé\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s: uid %d není jedineèné\n" +#~ msgstr "%s: uid %d není jedineÄné\n" #~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "u¾ivatel %s: chybné UID (%d)\n" +#~ msgstr "uživatel %s: chybné UID (%d)\n" #~ msgid "%s: no aging information present\n" -#~ msgstr "%s: chybí informace\n" +#~ msgstr "%s: chybí informace\n" #~ msgid "group %s: bad GID (%d)\n" -#~ msgstr "skupina %s: chybné GID (%d)\n" +#~ msgstr "skupina %s: chybné GID (%d)\n" #~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s: pøístup odmítnut (shell)\n" +#~ msgstr "%s: přístup odmítnut (shell)\n" diff --git a/po/de.gmo b/po/de.gmo index 10d46071ae093b52cb9bd56643f888a1d39598d0..9621996d922494e36034d0cc85c5fd32800c0197 100644 GIT binary patch delta 13207 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 aX>~fAwv#+u_%}{J%Nl=roY{9e`Tqc8<{pv& literal 41648 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 JWTPt+{|}\n" "Language-Team: Frank Schmid \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" msgstr "Warnung: Gruppe %s ist unbekannt\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" msgstr "Warnung: zu viele Gruppen\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." msgstr "Ihr Kennwort ist abgelaufen." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." msgstr "Ihr Kennwort ist inaktiv." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." msgstr "Ihr Account ist abgelaufen." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " Verständigen Sie den Systemadministrator.\n" +msgstr " Verständigen Sie den Systemadministrator.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " Wählen Sie ein neues Kennwort.\n" +msgstr " Wählen Sie ein neues Kennwort.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "Ihr Kennwort läuft in %ld Tagen ab.\n" +msgstr "Ihr Kennwort läuft in %ld Tagen ab.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" -msgstr "Ihr Kennwort läuft morgen ab.\n" +msgstr "Ihr Kennwort läuft morgen ab.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" -msgstr "Ihr Kennwort läuft heute ab.\n" +msgstr "Ihr Kennwort läuft heute ab.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" -msgstr "tty %s kann nicht geändert werden" +msgstr "tty %s kann nicht geändert werden" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "Umgebungsüberlauf\n" +msgstr "Umgebungsüberlauf\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" -msgstr "Sie können $%s nicht ändern\n" +msgstr "Sie können $%s nicht ändern\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" msgstr "%d %s seit letzter Verbindung. Die letzte war am %s auf %s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" msgstr "Fehlanmeldungen" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" msgstr "Fehlanmeldung" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" msgstr "Zu viele Verbindungen.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "Kennwort entschlüsselt den Schlüssel für %s nicht.\n" +msgstr "Kennwort entschlüsselt den Schlüssel für %s nicht.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" -msgstr "Kann den Schlüssel von %s nicht setzen: läuft der keyserv-Dienst ?\n" +msgstr "Kann den Schlüssel von %s nicht setzen: läuft der keyserv-Dienst ?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." msgstr "Sie haben neue Post." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." msgstr "Keine Post vorhanden." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." msgstr "Sie haben Post." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " msgstr "Schlechtes Kennwort: %s. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" msgstr "passwd: pam_start() fehlgeschlagen, Fehler %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" msgstr "passwd: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" msgstr "Kann nicht in Verzeichnis \"%s\" wechseln\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" msgstr "Kein Verzeichnis, Anmeldung mit HOME=/" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "Führe shell %s aus\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" -msgstr "Kann %s nicht ausführen" +msgstr "Kann %s nicht ausführen" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" -msgstr "Ungültiges Basis-Verzeichnis \"%s\"\n" +msgstr "Ungültiges Basis-Verzeichnis \"%s\"\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" -msgstr "Kann Basisverzeichnis nicht nach \"%s\" ändern\n" +msgstr "Kann Basisverzeichnis nicht nach \"%s\" ändern\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) fehlgeschlagen\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "Anwahl-Kennwort: " - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" -msgstr "Kann keinen Speicherplatz für Konfigurationsinformation reservieren.\n" +msgstr "Kann keinen Speicherplatz für Konfigurationsinformation reservieren.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -"Konfigurationsfehler - Element '%s' unbekannt (Administrator verständigen)\n" +"Konfigurationsfehler - Element '%s' unbekannt (Administrator verständigen)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "Fehler - Kann '%s' nicht finden\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s nicht gefunden\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " msgstr "Kennwort: " @@ -203,7 +177,7 @@ msgstr "Kennwort: " msgid "%s's Password: " msgstr "Kennwort von %s: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "(Echo an) " @@ -212,204 +186,167 @@ msgstr "(Echo an) " msgid "Unknown error %d" msgstr "Unbekannter Fehler %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"Syntax: %s [-l] [-m min_tage] [-M max_tage] [-W warnung]\n" -"\t[-I inaktiv] [-E ablauf] [-d letzter_tag] Benutzer\n" +"Syntax: chage [-l] [-m min_tage] [-M max_tage] [-W warnung]\n" +" [-I inaktiv] [-E ablauf] [-d letzter_tag] Benutzer\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" -"Syntax: %s [-l] [-m min_tage] [-M max_tage] [-d letzter_tag] Benutzer\n" - -#: src/chage.c:157 +#: src/chage.c:152 #, fuzzy msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"Geben Sie einen neuen Wert an oder ENTER für den Standardwert\n" +"Geben Sie einen neuen Wert an oder ENTER für den Standardwert\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" msgstr "Minimales Kennwortalter" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" msgstr "Maximales Kennwortalter" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "Letzte Kennwortänderung (JJJJ-MM-TT)" +msgstr "Letzte Kennwortänderung (JJJJ-MM-TT)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "Warnung falls Kennwort abläuft" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "Warnung falls Kennwort abläuft" - -#: src/chage.c:189 msgid "Password Inactive" msgstr "Kennwort inaktiv" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Ablaufdatum des Accounts (JJJJ-MM-TT)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" msgstr "Minimum :\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" msgstr "Maximum :\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" msgstr "Warnung :\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" msgstr "Inaktiv :\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" -msgstr "Letzte Änderung :\t\t" +msgstr "Letzte Änderung :\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" msgstr "Nie\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "Kennwort läuft ab :\t" +msgstr "Kennwort läuft ab :\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" msgstr "Kennwort inaktiv:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "Account läuft ab:\t" +msgstr "Account läuft ab:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s : benutzen Sie nicht \"l\" mit anderen Optionen\n" +msgstr "%s: benutzen Sie nicht \"l\" mit anderen Optionen\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s : Zugriff verweigert\n" +msgstr "%s: Zugriff verweigert\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, fuzzy, c-format msgid "%s: PAM authentication failed\n" -msgstr "%s : PAM-Authentifizierung fehlgeschlagen\n" +msgstr "%s: PAM-Authentifizierung fehlgeschlagen\n" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: kann Kennwortdatei nicht sperren\n" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" -msgstr "%s: Kann Kennwortdatei nicht öffnen\n" +msgstr "%s: Kann Kennwortdatei nicht öffnen\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" msgstr "%s: unbekannter Benutzer: %s\n" -#: src/chage.c:571 +#: src/chage.c:536 #, c-format msgid "%s: can't lock shadow password file" msgstr "%s: Kann Shadow-Datei nicht sperren" -#: src/chage.c:579 +#: src/chage.c:544 #, c-format msgid "%s: can't open shadow password file" -msgstr "%s : Kann Shadow-Datei nicht öffnen" +msgstr "%s: Kann Shadow-Datei nicht öffnen" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" -msgstr "Ändere die Kennwortalterung für %s\n" +msgstr "Ändere die Kennwortalterung für %s\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s : Fehler beim ändern der Felder\n" +msgstr "%s: Fehler beim ändern der Felder\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" -msgstr "%s : Kann Kennwortdatei nicht aktualisieren\n" +msgstr "%s: Kann Kennwortdatei nicht aktualisieren\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s : Kann Shadow-Datei nicht aktualisieren\n" +msgstr "%s: Kann Shadow-Datei nicht aktualisieren\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" msgstr "Fehler beim aktualisieren des DBM-Kennworteintrags.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "%s : Kann die Shadow-Datei nicht neu erstellen\n" +msgstr "%s: Kann die Shadow-Datei nicht neu erstellen\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s : Kann die Kennwortdatei nicht neu erstellen\n" +msgstr "%s: Kann die Kennwortdatei nicht neu erstellen\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" msgstr "%s: PAM chauthtok fehlgeschlagen\n" -#: src/chfn.c:83 +#: src/chfn.c:84 #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -418,268 +355,239 @@ msgstr "" "Syntax: %s [-f name] [-r raum] [-w tel_gesch]\n" "\t[-h tel_privat] [-o sonstiges] [Benutzer]\n" -#: src/chfn.c:88 +#: src/chfn.c:89 #, c-format msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n" msgstr "Syntax: %s [-f name] [-r raum] [-w tel_gesch] [-h tel_privat]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" -msgstr "Geben Sie einen neuen Wert an oder ENTER für den Standardwert\n" +msgstr "Geben Sie einen neuen Wert an oder ENTER für den Standardwert\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" msgstr "Name" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\tName : %s\n" +msgstr "\tName: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" msgstr "Raum" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" -msgstr "\tRaum : %s\n" +msgstr "\tRaum: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" -msgstr "Telefon geschäftlich" +msgstr "Telefon geschäftlich" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" -msgstr "\tTelefon geschäftlich : %s\n" +msgstr "\tTelefon geschäftlich: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" msgstr "Telefon privat" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" -msgstr "\tTelefon privat : %s\n" +msgstr "\tTelefon privat: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" msgstr "Sonstiges" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" msgstr "%s: Zugriff verweigert.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" msgstr "%s: Benutzer %s unbekannt\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" msgstr "%s: Kann Ihren Benutzernamen nicht feststellen.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, c-format msgid "%s: cannot change user `%s' on NIS client.\n" -msgstr "%s: Kann den Benutzer `%' nicht auf dem NIS-Client ändern.\n" +msgstr "%s: Kann den Benutzer `%s' nicht auf dem NIS-Client ändern.\n" -#: src/chfn.c:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, c-format msgid "%s: `%s' is the NIS master for this client.\n" -msgstr "%s: `%s' ist der NIS-Master für diesen Client.\n" +msgstr "%s: `%s' ist der NIS-Master für diesen Client.\n" -#: src/chfn.c:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" -msgstr "Ändere Benutzerinformationen für %s\n" +msgstr "Ändere Benutzerinformationen für %s\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s : Name ungültig: \"%s\"\n" +msgstr "%s: Name ungültig: \"%s\"\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "%s : Raumnummer ungültig: \"%s\"\n" +msgstr "%s: Raumnummer ungültig: \"%s\"\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "%s : Telefon (geschäftlich) ungültig: \"%s\"\n" +msgstr "%s: Telefon (geschäftlich) ungültig: \"%s\"\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s : Telefon (privat) ungültig: \"%s\"\n" +msgstr "%s: Telefon (privat) ungültig: \"%s\"\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s : \"%s\" enthält ungültige Zeichen\n" +msgstr "%s: \"%s\" enthält ungültige Zeichen\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" msgstr "%s: Feld zu lang\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" -msgstr "Kann ID nicht zu root ändern.\n" +msgstr "Kann ID nicht zu root ändern.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" msgstr "" -"Kann die Kennwortdatei nicht sperren; versuchen Sie es später nocheinmal.\n" +"Kann die Kennwortdatei nicht sperren; versuchen Sie es später nocheinmal.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "Kann die Kennwortdatei nicht öffnen.\n" +msgstr "Kann die Kennwortdatei nicht öffnen.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" msgstr "%s: %s nicht in /etc/passwd gefunden\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" msgstr "Fehler beim aktualisieren des Kennworteintrags.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" -msgstr "Kann Änderungen in der Kennwortdatei nicht schreiben.\n" +msgstr "Kann Änderungen in der Kennwortdatei nicht schreiben.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" msgstr "Kann die Kennwortdatei nicht entsperren.\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 #, c-format -msgid "usage: %s [-e]\n" +msgid "Usage: %s [-e]\n" msgstr "Syntax: %s [-e]\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: kann Kennwortdatei nicht sperren\n" + +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" msgstr "%s: Kann die Shadow-Datei nicht sperren\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: Kann die Shadow-Datei nicht öffnen\n" +msgstr "%s: Kann die Shadow-Datei nicht öffnen\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" msgstr "%s: Zeile %d: Zeile zu lang\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" msgstr "%s: Zeile %d: Neues Kennwort fehlt\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" msgstr "%s: Zeile %d: Benutzer %s unbekannt\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" msgstr "%s: Zeile %d: Kann Kennworteintrag nicht aktualisieren\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: Fehler entdeckt, Änderungen werden verworfen\n" +msgstr "%s: Fehler entdeckt, Änderungen werden verworfen\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" msgstr "%s: Fehler beim aktualisieren der Shadow-Datei\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" msgstr "%s: Fehler beim Aktualisieren der Kennwortdatei\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" msgstr "Syntax: %s [-s shell] [Name]\n" -#: src/chsh.c:89 +#: src/chsh.c:90 #, fuzzy msgid "Enter the new value, or press return for the default\n" -msgstr "Geben Sie einen neuen Wert ein oder ENTER für den Standardwert\n" +msgstr "Geben Sie einen neuen Wert ein oder ENTER für den Standardwert\n" -#: src/chsh.c:90 +#: src/chsh.c:91 msgid "Login Shell" msgstr "Login-Shell" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" -msgstr "Sie dürfen die Shell für %s nicht ändern.\n" +msgstr "Sie dürfen die Shell für %s nicht ändern.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" -msgstr "Ändere die Login-Shell für %s\n" +msgstr "Ändere die Login-Shell für %s\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: Ungültiger Eintrag : %s\n" +msgstr "%s: Ungültiger Eintrag: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "%s ist eine ungültige Shell.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "Syntax: %s [-(a|d)] shell\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "Shell-Kennwort : " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "Bestätigen die das Shell-Kennwort : " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "" -"%s : Die Kennwörter stimmen nicht überein; versuchen Sie es nocheinmal.\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: Kann %s nicht erstellen" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s : Kann %s nicht öffnen" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s : Shell %s nicht gefunden.\n" +msgstr "%s ist eine ungültige Shell.\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "Syntax : expiry {-f|-c}\n" +msgstr "Syntax: expiry {-f|-c}\n" #: src/expiry.c:113 #, c-format @@ -689,11 +597,11 @@ msgstr "%s: WARNUNG! Muss set-UID root sein\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s : Unbekannter Benutzer\n" +msgstr "%s: Unbekannter Benutzer\n" #: src/faillog.c:77 #, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" msgstr "Syntax: %s [-a|-u Benutzer] [-m max] [-r] [-t tage] [-l sek_sperre]\n" #: src/faillog.c:131 src/lastlog.c:96 @@ -713,7 +621,7 @@ msgstr " %s an %s" #: src/faillog.c:233 #, c-format msgid " [%lds left]" -msgstr " [%lds übrig]" +msgstr " [%lds übrig]" #: src/faillog.c:237 #, c-format @@ -722,7 +630,7 @@ msgstr " [%lds Sperre]" #: src/gpasswd.c:78 #, c-format -msgid "usage: %s [-r|-R] group\n" +msgid "Usage: %s [-r|-R] group\n" msgstr "Syntax: %s [-r|-R] Gruppe\n" #: src/gpasswd.c:79 @@ -748,7 +656,7 @@ msgstr " %s [-M Benutzer,...] Gruppe\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s : Benutzer %s unbekannt\n" +msgstr "%s: Benutzer %s unbekannt\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" @@ -757,21 +665,21 @@ msgstr "Zugriff verweigert.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s : Shadow-Gruppen-Kennwörter für -A benötigt\n" +msgstr "%s: Shadow-Gruppen-Kennwörter für -A benötigt\n" #: src/gpasswd.c:294 msgid "Who are you?\n" msgstr "Wer sind Sie?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "Unbekannte Gruppe : %s\n" +msgstr "Unbekannte Gruppe: %s\n" #: src/gpasswd.c:422 #, c-format msgid "Adding user %s to group %s\n" -msgstr "Füge Benutzer %s zu Gruppe %s hinzu\n" +msgstr "Füge Benutzer %s zu Gruppe %s hinzu\n" #: src/gpasswd.c:440 #, c-format @@ -781,223 +689,211 @@ msgstr "Entferne Benutzer %s aus der Gruppe %s\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s : Mitglied %s unbekannt\n" +msgstr "%s: Mitglied %s unbekannt\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" -msgstr "%s : Kein tty\n" +msgstr "%s: Kein tty\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" -msgstr "Ändere Kennwort für die Gruppe %s\n" +msgstr "Ändere Kennwort für die Gruppe %s\n" #: src/gpasswd.c:525 msgid "New Password: " msgstr "Neues Kennwort: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " msgstr "Kennwort wiederholen: " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "Keine Übereinstimmung; versuchen Sie es nocheinmal" +msgstr "Keine Übereinstimmung; versuchen Sie es nocheinmal" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: Versuchen Sie es später nocheinmal\n" +msgstr "%s: Versuchen Sie es später nocheinmal\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s : Kann Sperre nicht lesen\n" +msgstr "%s: Kann Sperre nicht lesen\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s : Kann Sperre nicht aus Shadow-Datei lesen\n" +msgstr "%s: Kann Sperre nicht aus Shadow-Datei lesen\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s : Kann Datei nicht öffnen\n" +msgstr "%s: Kann Datei nicht öffnen\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s : Eintrag kann nicht aktualisiert werden\n" +msgstr "%s: Eintrag kann nicht aktualisiert werden\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s : Shadow-Eintrag kann nicht aktualisiert werden\n" +msgstr "%s: Shadow-Eintrag kann nicht aktualisiert werden\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s : Datei kann nicht neu erstellt werden\n" +msgstr "%s: Datei kann nicht neu erstellt werden\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s : Shadow-Datei kann nicht neu erstellt werden\n" +msgstr "%s: Shadow-Datei kann nicht neu erstellt werden\n" #: src/gpasswd.c:630 #, c-format msgid "%s: can't unlock file\n" -msgstr "%s : Datei kann nicht entsperrt werden\n" +msgstr "%s: Datei kann nicht entsperrt werden\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s : DBM-Dateien können nicht aktualisiert werden\n" +msgstr "%s: DBM-Dateien können nicht aktualisiert werden\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s : DBM-Shadow-Dateien können nicht aktualisiert werden\n" +msgstr "%s: DBM-Shadow-Dateien können nicht aktualisiert werden\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "Syntax: groupadd [-g gid [-o]] Gruppe\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "Syntax: groupadd [-g gid [-o]] [-f] Gruppe\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s : Fehler beim Hinzufügen eines neuen Gruppeneintrags\n" +msgstr "%s: Fehler beim Hinzufügen eines neuen Gruppeneintrags\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s : Kann keinen neuen DBM-Gruppen-Eintrag hinzufügen\n" +msgstr "%s: Kann keinen neuen DBM-Gruppen-Eintrag hinzufügen\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" -msgstr "%s : Name %s ist nicht eindeutig\n" +msgstr "%s: Name %s ist nicht eindeutig\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" -msgstr "%s : GID %u ist nicht eindeutig\n" +msgstr "%s: GID %u ist nicht eindeutig\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s : Kann keine eindeutige GID feststellen\n" +msgstr "%s: Kann keine eindeutige GID feststellen\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "%s : %s ist kein gültiger Gruppenname\n" +msgstr "%s: %s ist kein gültiger Gruppenname\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s : Ungültige Gruppe %s\n" +msgstr "%s: Ungültige Gruppe %s\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" -msgstr "%s : -O benötigt NAME=WERT\n" +msgstr "%s: -O benötigt NAME=WERT\n" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s : Kann Gruppendatei nicht neu erstellen\n" +msgstr "%s: Kann Gruppendatei nicht neu erstellen\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s : Kann Shadow-Gruppendatei nicht neu erstellen\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht neu erstellen\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" -msgstr "%s : Kann Gruppendatei nicht sperren\n" +msgstr "%s: Kann Gruppendatei nicht sperren\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" -msgstr "%s : Kann Gruppendatei nicht öffnen\n" +msgstr "%s: Kann Gruppendatei nicht öffnen\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s : Kann Shadow-Gruppendatei nicht sperren\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht sperren\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s : Kann Shadow-Gruppendatei nicht öffnen\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" -msgstr "%s : Gruppe %s bereits vorhanden\n" +msgstr "%s: Gruppe %s bereits vorhanden\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" +#: src/groupdel.c:88 +msgid "Usage: groupdel group\n" msgstr "Syntax: groupdel Gruppe\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" -msgstr "%s : Fehler beim Entfernen des Gruppeneintrags\n" +msgstr "%s: Fehler beim Entfernen des Gruppeneintrags\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" -msgstr "%s : Fehler beim Entfernen des DBM-Gruppeneintrags\n" +msgstr "%s: Fehler beim Entfernen des DBM-Gruppeneintrags\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s : Fehler beim Entfernen des Shadow-Gruppeneintrags\n" +msgstr "%s: Fehler beim Entfernen des Shadow-Gruppeneintrags\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" -msgstr "%s : Fehler beim Entfernen des DBM-Shadow-Gruppeneintrags\n" +msgstr "%s: Fehler beim Entfernen des DBM-Shadow-Gruppeneintrags\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "%s : Kann die primäre Gruppe des Benutzers nicht entfernen.\n" +msgstr "%s: Kann die primäre Gruppe des Benutzers nicht entfernen.\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" -msgstr "%s : Gruppe %s existiert nicht\n" +msgstr "%s: Gruppe %s existiert nicht\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" -msgstr "%s : Gruppe %s ist eine NIS-Gruppe\n" +msgstr "%s: Gruppe %s ist eine NIS-Gruppe\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s : %s ist der NIS-Master\n" +msgstr "%s: %s ist der NIS-Master\n" #: src/groupmems.c:95 msgid "Member already exists\n" @@ -1008,16 +904,16 @@ msgid "Member to remove could not be found\n" msgstr "Zu entfernendes Mitglied nicht gefunden\n" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "Syntax: groupmems -a Benutzer | -d Benutzer | -D | -l [-g Gruppe]\n" #: src/groupmems.c:201 msgid "Only root can add members to different groups\n" -msgstr "Nur root kann Mitglieder zu verschiedenen Gruppen hinzufügen\n" +msgstr "Nur root kann Mitglieder zu verschiedenen Gruppen hinzufügen\n" #: src/groupmems.c:206 msgid "Group access is required\n" -msgstr "Gruppen-Zugriff benötigt\n" +msgstr "Gruppen-Zugriff benötigt\n" #: src/groupmems.c:210 msgid "Not primary owner of current group\n" @@ -1029,35 +925,35 @@ msgstr "Kann Gruppendatei nicht sperren\n" #: src/groupmems.c:220 msgid "Unable to open group file\n" -msgstr "Kann Gruppendatei nicht öffnen\n" +msgstr "Kann Gruppendatei nicht öffnen\n" #: src/groupmems.c:240 msgid "Cannot close group file\n" -msgstr "Kann Gruppendatei nicht schließen\n" +msgstr "Kann Gruppendatei nicht schließen\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "Syntax : groupmod [-g gid [-o]] [-n Name] Gruppe\n" +#: src/groupmod.c:104 +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "Syntax: groupmod [-g gid [-o]] [-n Name] Gruppe\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, c-format msgid "%s: %s not found in /etc/group\n" -msgstr "%s : %s nicht in /etc/group gefunden\n" +msgstr "%s: %s nicht in /etc/group gefunden\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s : Kann DBM-Shadow-Gruppeneintrag nicht hinzufügen\n" +msgstr "%s: Kann DBM-Shadow-Gruppeneintrag nicht hinzufügen\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" msgstr "%s: %u ist keine eindeutige GID\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s : %s ist kein eindeutiger Name\n" +msgstr "%s: %s ist kein eindeutiger Name\n" #: src/groups.c:59 #, c-format @@ -1086,33 +982,25 @@ msgstr "" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, c-format msgid "%s: cannot lock file %s\n" -msgstr "%s : Kann Datei %s nicht sperren\n" +msgstr "%s: Kann Datei %s nicht sperren\n" #: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s : Kann Datei %s nicht öffnen\n" +msgstr "%s: Kann Datei %s nicht öffnen\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "Ungültiger Eintrag in Gruppendatei\n" +msgstr "Ungültiger Eintrag in Gruppendatei\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 #: src/pwck.c:543 #, c-format msgid "delete line `%s'? " -msgstr "Zeile `%s' löschen? " +msgstr "Zeile `%s' löschen? " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" msgstr "Doppelter Gruppeneintrag\n" @@ -1120,30 +1008,22 @@ msgstr "Doppelter Gruppeneintrag\n" #: src/grpck.c:391 #, c-format msgid "invalid group name `%s'\n" -msgstr "Gruppenname `%s' ungültig\n" +msgstr "Gruppenname `%s' ungültig\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "Gruppe %s : Kein Benutzer %s\n" +msgstr "Gruppe %s: Kein Benutzer %s\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " -msgstr "Mitglied `%s' löschen? " +msgstr "Mitglied `%s' löschen? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "Ungültiger Shadow-Gruppeneintrag\n" +msgstr "Ungültiger Shadow-Gruppeneintrag\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" msgstr "Doppelter Shadow-Gruppeneintrag\n" @@ -1155,32 +1035,32 @@ msgstr "Kein passender Gruppeneintrag\n" #: src/grpck.c:558 #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "Shadow-Gruppe %s : Benutzer %s ist kein Administrator\n" +msgstr "Shadow-Gruppe %s: Benutzer %s ist kein Administrator\n" #: src/grpck.c:560 #, c-format msgid "delete administrative member `%s'? " -msgstr "Administratives Mitglied `%s' löschen?" +msgstr "Administratives Mitglied `%s' löschen?" #: src/grpck.c:588 #, c-format msgid "shadow group %s: no user %s\n" -msgstr "Shadow-Gruppe %s : kein Benutzer %s\n" +msgstr "Shadow-Gruppe %s: kein Benutzer %s\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format msgid "%s: cannot update file %s\n" -msgstr "%s : Kann Datei %s nicht aktualisieren\n" +msgstr "%s: Kann Datei %s nicht aktualisieren\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s : Die Dateien wurden aktualisiert; starten Sie mkpasswd\n" +msgstr "%s: Die Dateien wurden aktualisiert; starten Sie mkpasswd\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format msgid "%s: no changes\n" -msgstr "%s: keine Änderungen\n" +msgstr "%s: keine Änderungen\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format @@ -1195,7 +1075,7 @@ msgstr "%s: Kann Gruppendatei nicht sperren\n" #: src/grpconv.c:65 src/grpunconv.c:61 #, c-format msgid "%s: can't open group file\n" -msgstr "%s: Kann Gruppendatei nicht öffnen\n" +msgstr "%s: Kann Gruppendatei nicht öffnen\n" #: src/grpconv.c:70 src/grpunconv.c:66 #, c-format @@ -1205,68 +1085,54 @@ msgstr "%s: Kann Shadow-Gruppendatei nicht sperren\n" #: src/grpconv.c:76 src/grpunconv.c:72 #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n" #: src/grpconv.c:94 #, c-format msgid "%s: can't remove shadow group %s\n" msgstr "%s: Kann Shadow-Gruppe %s nicht entfernen\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" -msgstr "%s: Kann Shadow-Eintrag für %s nicht aktualisieren\n" +msgstr "%s: Kann Shadow-Eintrag für %s nicht aktualisieren\n" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" msgstr "%s: Kann Gruppeneintrag %s nicht aktualisieren\n" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" msgstr "%s: Kann Shadow-Gruppendatei nicht aktualisieren\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" msgstr "%s: Kann Gruppendatei nicht aktualisieren\n" -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: Shadow-Gruppen-Unterstützung nicht konfiguriert.\n" - #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: Kann Shadow-Gruppendatei nicht löschen\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht löschen\n" #: src/id.c:53 -msgid "usage: id [-a]\n" +msgid "Usage: id [-a]\n" msgstr "Syntax: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" +msgid "Usage: id\n" msgstr "Syntax: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" msgstr " Gruppen=" #: src/lastlog.c:110 src/lastlog.c:116 -#, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" -msgstr "" -"Syntax: %s [<-u|--login> Login-Name] [<-t|--time> Tage] [<-h|--help>]\n" +#, fuzzy, c-format +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" +msgstr "Syntax: %s [(-u|--login) Login] [(-t|--time) Tage] [(-h|--help)]\n" #: src/lastlog.c:181 msgid "Username Port From Latest\n" @@ -1276,30 +1142,30 @@ msgstr "Benutzer Port Von Letzter\n" msgid "Username Port Latest\n" msgstr "Benutzer Port Letzter\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" msgstr "**Nie angemeldet **" -#: src/login.c:185 +#: src/login.c:175 #, c-format -msgid "usage: %s [-p] [name]\n" +msgid "Usage: %s [-p] [name]\n" msgstr "Syntax: %s [-p] [Name]\n" -#: src/login.c:188 +#: src/login.c:178 #, c-format msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h Host] [-f Name]\n" -#: src/login.c:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" msgstr " %s [-p] -r Host\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" -msgstr "Ungültige Anmeldezeit\n" +msgstr "Ungültige Anmeldezeit\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" @@ -1307,7 +1173,7 @@ msgstr "" "\n" "System wegen Wartungsarbeiten geschlossen\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" @@ -1315,7 +1181,7 @@ msgstr "" "\n" "[Trennung abgebrochen -- root-Login erlaubt.]\n" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" @@ -1324,17 +1190,17 @@ msgstr "" "\n" "Login: Timeout nach %d Sekunden.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" msgstr " an `%.100s' von `%.200s'" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" msgstr " an `%.100s'" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" @@ -1343,51 +1209,51 @@ msgstr "" "\n" "%s login: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " msgstr "login: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" msgstr "Login fehlerhaft" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" -msgstr "Warnung: Login reaktiviert nach temporärer Sperre.\n" +msgstr "Warnung: Login reaktiviert nach temporärer Sperre.\n" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" msgstr "Letzte Verbindung: %s an %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" msgstr "Letzte Verbindung: %.19s an %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" msgstr " von %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" msgstr "Starte rad_login\n" #: src/mkpasswd.c:47 #, c-format msgid "%s: no DBM database on system - no action performed\n" -msgstr "%s : Keine DBM-Datenbank gefunden - Aktion abgebrochen\n" +msgstr "%s: Keine DBM-Datenbank gefunden - Aktion abgebrochen\n" #: src/mkpasswd.c:232 src/mkpasswd.c:237 #, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "%s : Kann Datei %s nicht überschreiben\n" +msgstr "%s: Kann Datei %s nicht überschreiben\n" #: src/mkpasswd.c:252 #, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "%s : Kann DBM-Dateien für %s nicht öffnen\n" +msgstr "%s: Kann DBM-Dateien für %s nicht öffnen\n" #: src/mkpasswd.c:287 #, c-format @@ -1401,11 +1267,11 @@ msgstr " ist zu lang\n" #: src/mkpasswd.c:315 #, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "%s : Fehler beim Einlesen von Zeile \"%s\"\n" +msgstr "%s: Fehler beim Einlesen von Zeile \"%s\"\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " -msgstr "Hinzufügen von " +msgstr "Hinzufügen von " #: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 #: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 @@ -1415,17 +1281,17 @@ msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 #, c-format msgid "%s: error adding record for " -msgstr "%s: Fehler beim Hinzufügen von " +msgstr "%s: Fehler beim Hinzufügen von " #: src/mkpasswd.c:378 #, c-format msgid "added %d entries, longest was %d\n" -msgstr "%d Einträge hinzugefügt, der längste war %d\n" +msgstr "%d Einträge hinzugefügt, der längste war %d\n" #: src/mkpasswd.c:392 #, c-format msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n" -msgstr "Syntax: %s [-vf ] [-p|g|sp|sg] Datei\n" +msgstr "Syntax: %s [-vf] [-p|g|sp|sg] Datei\n" #: src/mkpasswd.c:395 #, c-format @@ -1438,28 +1304,28 @@ msgid "Usage: %s [-vf] [-p|g] file\n" msgstr "Syntax: %s [-vf] [-p|g] Datei\n" #: src/newgrp.c:61 -msgid "usage: newgrp [-] [group]\n" +msgid "Usage: newgrp [-] [group]\n" msgstr "Syntax: newgrp [-] [Gruppe]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" +msgid "Usage: sg group [[-c] command]\n" msgstr "Syntax: sg Gruppe [[-c] Befehl]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" msgstr "Unbekannte UID: %u\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" msgstr "Unbekannte GID: %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" msgstr "Entschuldigung.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" msgstr "zu viele Gruppen\n" @@ -1468,124 +1334,109 @@ msgstr "zu viele Gruppen\n" msgid "Usage: %s [input]\n" msgstr "Syntax: %s [Eingabe]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s : Kann /etc/passwd nicht sperren.\n" +msgstr "%s: Kann /etc/passwd nicht sperren.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s : Kann Dateien nicht sperren, versuchen Sie es später nocheinmal\n" +msgstr "%s: Kann Dateien nicht sperren, versuchen Sie es später nocheinmal\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s : Kann Dateien nicht öffnen\n" +msgstr "%s: Kann Dateien nicht öffnen\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: Zeile %d: Ungültige Zeile\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s : Zeile %d : Ungültige Zeile\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s : Zeile %d : Kann GID nicht erstellen\n" +msgstr "%s: Zeile %d: Kann GID nicht erstellen\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s : Zeile %d : Kann UID nicht erstellen\n" +msgstr "%s: Zeile %d: Kann UID nicht erstellen\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s : Zeile %d : Kann Benutzer %s nicht finden\n" +msgstr "%s: Zeile %d: Kann Benutzer %s nicht finden\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s : Zeile %d : Kann Kennwort nicht aktualisieren\n" +msgstr "%s: Zeile %d: Kann Kennwort nicht aktualisieren\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s : Zeile %d : mkdir fehlgeschlagen\n" +msgstr "%s: Zeile %d: mkdir fehlgeschlagen\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s : Zeile %d : chown fehlgeschlagen\n" +msgstr "%s: Zeile %d: chown fehlgeschlagen\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s : Zeile %d : Kann Eintrag nicht aktualisieren\n" +msgstr "%s: Zeile %d: Kann Eintrag nicht aktualisieren\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s : Fehler beim Aktualisieren von Dateien\n" +msgstr "%s: Fehler beim Aktualisieren von Dateien\n" -#: src/passwd.c:174 +#: src/passwd.c:155 #, c-format -msgid "usage: %s [-f|-s] [name]\n" +msgid "Usage: %s [-f|-s] [name]\n" msgstr "Syntax: %s [-f|-s] [Name]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, c-format msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" msgstr " %s [-x max] [-n min] [-w Warnung] [-i Inaktiv] Name\n" -#: src/passwd.c:180 +#: src/passwd.c:161 #, c-format msgid " %s {-l|-u|-d|-S|-e} name\n" msgstr " %s {-l|-u|-d|-S|-e} Name\n" -#: src/passwd.c:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "" -"Benutzer besitzt einen TCFS-Schlüssel, sein altes Kennwort wird benötigt.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "Sie können die -t Option benutzen um die Änderungen durchzuführen.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " msgstr "Altes Kennwort: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" -msgstr "Falsches Kennwort für `%s'\n" +msgstr "Falsches Kennwort für `%s'\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "Warnung: Benutzer %s besitzt einen TCFS-Schlüssel.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -"Geben Sie das neue Kennwort ein (mindestens %d, höchstens %d Zeichen)\n" -"Bitte benutzen Sie eine Kombination von Groß-/Kleinbuchstaben und\n" +"Geben Sie das neue Kennwort ein (mindestens %d, höchstens %d Zeichen)\n" +"Bitte benutzen Sie eine Kombination von Groß-/Kleinbuchstaben und\n" "Ziffern.\n" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " msgstr "Neues Kennwort: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" msgstr "Versuchen Sie es nocheinmal...\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" @@ -1594,76 +1445,58 @@ msgstr "" "Warnung: Schlechtes Kennwort (Geben Sie es nocheinmal ein, um\n" "es trotzdem zu verwenden).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" msgstr "Sie sind nicht identisch; versuchen Sie es nocheinmal...\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "Das Kennwort für %s kann nicht geändert werden.\n" +msgstr "Das Kennwort für %s kann nicht geändert werden.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "Das Kennwort für %s kan z.Zt. nicht geändert werden.\n" +msgstr "Das Kennwort für %s kan z.Zt. nicht geändert werden.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s : Zu wenig Speicher\n" +msgstr "%s: Zu wenig Speicher\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "" -"Kann die TCFS-Datenbank nicht sperren; versuchen Sie es\n" -"später nocheinmal\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "Kann die TCFS-Datenbank nicht öffnen.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "Fehler beim Aktualisieren der TCFS-Datenbank.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "Kann die TCFS-Änderungen nicht schreiben.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" -msgstr "%s : Kann %s nicht ausführen" +msgstr "%s: Kann %s nicht ausführen" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" -msgstr "%s: Speicher %s nicht unterstützt\n" +msgstr "%s: Speicher %s nicht unterstützt\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s : Zugriff verweigert\n" +msgstr "%s: Zugriff verweigert\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "Sie dürfen das Kennwort für %s nicht ändern.\n" +msgstr "Sie dürfen das Kennwort für %s nicht ändern.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" -msgstr "Ändere Kennwort für %s\n" +msgstr "Ändere Kennwort für %s\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "Das Kennwort für %s wurde nicht geändert.\n" +msgstr "Das Kennwort für %s wurde nicht geändert.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 msgid "Password changed.\n" -msgstr "Kennwort geändert.\n" +msgstr "Kennwort geändert.\n" #: src/pwck.c:87 #, c-format @@ -1675,18 +1508,10 @@ msgstr "Syntax: %s [-q] [-r] [-s] [passwd [shadow]]\n" msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" msgstr "Syntax: %s [-q] [-r] [-s] [passwd]\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "Ungültiger Eintrag in Kennwortdatei\n" +msgstr "Ungültiger Eintrag in Kennwortdatei\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" msgstr "Doppelter Kennworteintrag\n" @@ -1694,11 +1519,8 @@ msgstr "Doppelter Kennworteintrag\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "Ungültiger Benutzername '%s'\n" +msgstr "Ungültiger Benutzername '%s'\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" @@ -1707,36 +1529,21 @@ msgstr "Benutzer %s: Keine Gruppe %u\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "Benutzer %s : Verzeichnis %s nicht vorhanden\n" +msgstr "Benutzer %s: Verzeichnis %s nicht vorhanden\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "Benutzer %s : Programm %s nicht vorhanden\n" +msgstr "Benutzer %s: Programm %s nicht vorhanden\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "Ungültiger Shadow-Kennworteintrag\n" +msgstr "Ungültiger Shadow-Kennworteintrag\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" msgstr "Doppelter Shadow-Kennworteintrag\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" msgstr "Kein passender Kennworteintrag gefunden\n" @@ -1744,52 +1551,47 @@ msgstr "Kein passender Kennworteintrag gefunden\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" -msgstr "Benutzer %s : Letzte Kennwortänderung liegt in der Zukunft\n" +msgstr "Benutzer %s: Letzte Kennwortänderung liegt in der Zukunft\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: src/pwconv.c:85 src/pwunconv.c:79 #, c-format msgid "%s: can't lock passwd file\n" -msgstr "%s : Kann Kennwortdatei nicht sperren\n" +msgstr "%s: Kann Kennwortdatei nicht sperren\n" -#: src/pwconv.c:89 src/pwunconv.c:98 +#: src/pwconv.c:90 src/pwunconv.c:84 #, c-format msgid "%s: can't open passwd file\n" -msgstr "%s : Kann Kennwortdatei nicht öffnen\n" +msgstr "%s: Kann Kennwortdatei nicht öffnen\n" -#: src/pwconv.c:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s : Kann Shadow-Eintrag für %s nicht löschen\n" +msgstr "%s: Kann Shadow-Eintrag für %s nicht löschen\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s : Kann Kennworteintrag für %s nicht aktualisieren\n" +msgstr "%s: Kann Kennworteintrag für %s nicht aktualisieren\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s : Kann Shadow-Datei nicht aktualisieren\n" +msgstr "%s: Kann Shadow-Datei nicht aktualisieren\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s : Kann Kennwortdatei nicht aktualisieren\n" +msgstr "%s: Kann Kennwortdatei nicht aktualisieren\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s : Shadow-Kennwörter sind nicht konfiguriert.\n" - -#: src/pwunconv.c:160 +#: src/pwunconv.c:124 #, c-format msgid "%s: can't update entry for user %s\n" -msgstr "%s : Kann Eintrag für Benutzer %s nicht aktualisieren\n" +msgstr "%s: Kann Eintrag für Benutzer %s nicht aktualisieren\n" -#: src/pwunconv.c:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s : Kann Shadow-Datei nicht löschen\n" +msgstr "%s: Kann Shadow-Datei nicht löschen\n" #: src/su.c:133 msgid "Sorry." @@ -1798,12 +1600,12 @@ msgstr "Entschuldigung." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s : Muss von einem Terminal gestartet werden\n" +msgstr "%s: Muss von einem Terminal gestartet werden\n" #: src/su.c:306 #, c-format msgid "%s: pam_start: error %d\n" -msgstr "%s : pam_start : Fehler %d\n" +msgstr "%s: pam_start: Fehler %d\n" #: src/su.c:336 #, c-format @@ -1814,10 +1616,9 @@ msgstr "Unbekannte ID: %s\n" #, fuzzy, c-format msgid "You are not authorized to su %s\n" msgstr "" -"Sie dürfen su %s nicht\n" +"Sie dürfen su %s nicht\n" " " -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" msgstr "(Geben Sie Ihr eigenes Kennwort an.)" @@ -1831,35 +1632,31 @@ msgstr "" "%s: %s\n" "(Ignoriert)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" msgstr "Keine Shell\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" msgstr "Zugriff auf su zu diesem Account VERWEIGERT.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" msgstr "Kennwort-Authentifizierung umgangen.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" msgstr "Bitte geben Sie Ihr EIGENES Kennwort als Authentifizierung an.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" msgstr "Keine Kennwortdatei\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "Kein Kennworteintrag für 'root'\n" +msgstr "Kein Kennworteintrag für 'root'\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" @@ -1867,547 +1664,482 @@ msgid "" msgstr "" "\n" "Geben Sie Strg-D ein, um normal zu starten\n" -"(oder geben Sie das root-Kennwort ein zur Systemwartung) : " +"(oder geben Sie das root-Kennwort ein zur Systemwartung): " -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" msgstr "Starte im Systemwartungs-Modus\n" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" -msgstr "%s : Baue die Gruppendatenbank neu auf\n" +msgstr "%s: Baue die Gruppendatenbank neu auf\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "%s : Baue die Shadow-Gruppendatenbank neu auf\n" +msgstr "%s: Baue die Shadow-Gruppendatenbank neu auf\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "%s : Ungültiges nummerisches Argument `%s'\n" +msgstr "%s: Ungültiges nummerisches Argument `%s'\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" -msgstr "%s : GID %s unbekannt\n" +msgstr "%s: GID %s unbekannt\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" -msgstr "%s : Gruppe %s unbekannt\n" +msgstr "%s: Gruppe %s unbekannt\n" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "Gruppe=%s,%u Basisverzeichnis=%s Vorlage=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "Shell=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "Inaktiv=%ld Ablauf=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" msgstr "GROUP=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" msgstr "HOME=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" msgstr "INACTIVE=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" msgstr "EXPIRE=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" msgstr "SHELL=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "SKEL=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" -msgstr "%s : Kann keine neue Datei mit Standardwerten erstellen\n" +msgstr "%s: Kann keine neue Datei mit Standardwerten erstellen\n" -#: src/useradd.c:503 +#: src/useradd.c:467 #, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: Kann die neue Datei mit Standardwerten nicht öffnen\n" +msgstr "%s: Kann die neue Datei mit Standardwerten nicht öffnen\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" -msgstr "%s : Umbenennen: %s" +msgstr "%s: Umbenennen: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" -msgstr "%s : Die Gruppe `%s' ist eine NIS-Gruppe.\n" +msgstr "%s: Die Gruppe `%s' ist eine NIS-Gruppe.\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" -msgstr "%s : Zu viele Gruppen angegeben (max %d).\n" +msgstr "%s: Zu viele Gruppen angegeben (max %d).\n" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "Syntax: %s\t[-u uid [-o]] [-g Gruppe] [-G Gruppe,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Syntax: useradd [-u uid [-o]] [-g Gruppe] [-G Gruppe,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t[-d home] [-s Shell] [-c Kommentar] [-m [-k Vorlage]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "" +" [-d home] [-s Shell] [-c Kommentar] [-m [-k Vorlage]]\n" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " -msgstr "[-f inaktiv] [-e Ablauf ] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f inaktiv] [-e Ablauf]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A Programm] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g Gruppe] [-b Basis] [-s Shell]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p Kennwort] Name\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s\t-D [-g Gruppe] [-b Basis] [-s Shell]\n" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t[-f inaktiv] [-e Ablauf ]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" -msgstr "%s : Kann Gruppendatei nicht sperren\n" +msgstr "%s: Kann Gruppendatei nicht sperren\n" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" -msgstr "%s : Kann Gruppendatei nicht öffnen\n" +msgstr "%s: Kann Gruppendatei nicht öffnen\n" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s : Kann Shadow-Gruppendatei nicht sperren\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht sperren\n" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s : Kann Shadow-Gruppendatei nicht öffnen\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" msgstr "%s: UID %u ist nicht eindeutig\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" msgstr "%s: Kann keine eindeutige UID finden\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s: Feld `%s' ungültig\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s: Ungültiges Basisverzeichnis `%s'\n" +msgstr "%s: Ungültiges Basisverzeichnis `%s'\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s: Kommentar `%s' ungültig\n" +msgstr "%s: Kommentar `%s' ungültig\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s: Homeverzeichnis `%s' ungültig\n" +msgstr "%s: Homeverzeichnis `%s' ungültig\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s: Datum `%s' ungültig\n" +msgstr "%s: Datum `%s' ungültig\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "%s: Shadow-Kennwörter für -e benötigt\n" +msgstr "%s: Shadow-Kennwörter für -e benötigt\n" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "%s: Shadow-Kennwörter für -f benötigt\n" +msgstr "%s: Shadow-Kennwörter für -f benötigt\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: Feld `%s' ungültig\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s: Shell `%s' ist ungültig\n" +msgstr "%s: Shell `%s' ist ungültig\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" -msgstr "%s: Benutzername `%s' ungültig\n" +msgstr "%s: Benutzername `%s' ungültig\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" msgstr "%s: Kann Kennwortdatei nicht neu erstellen\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" msgstr "%s: Kann Shadow-Kennwortdatei nicht neu erstellen\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" msgstr "%s: Kann Kennwortdatei nicht sperren\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" -msgstr "%s: Kann Kennwortdatei nicht öffnen\n" +msgstr "%s: Kann Kennwortdatei nicht öffnen\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" msgstr "%s: Kann Shadow-Kennwortdatei nicht sperren\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s: Kann Shadow-Kennwortdatei nicht öffnen\n" +msgstr "%s: Kann Shadow-Kennwortdatei nicht öffnen\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s: Fehler beim Hinzufügen der Authentifizierungs-Methode\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" -msgstr "%s: Fehler beim Hinzufügen eines neuen Kennworteintrags\n" +msgstr "%s: Fehler beim Hinzufügen eines neuen Kennworteintrags\n" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" msgstr "%s: Fehler beim Aktualisieren des DBM-Kennworteintrags\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s: Fehler beim Hinzufügen des neuen Shadow-Kennworteintrags\n" +msgstr "%s: Fehler beim Hinzufügen des neuen Shadow-Kennworteintrags\n" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" msgstr "%s: Fehler beim Aktualisieren des Shadow-DBM-Kennworteintrags\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" msgstr "%s: Kann Verzeichnis %s nicht erstellen\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" msgstr "%s: Benutzer %s vorhanden\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" "%s: Gruppe %s vorhanden - Wenn Sie den Benutzer zur Gruppe\n" -"hinzufügen wollen, benutzen Sie -g.\n" +"hinzufügen wollen, benutzen Sie -g.\n" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" msgstr "" -"%s: Warnung: CREATE_HOME nicht unterstützt, verwenden Sie stattdessen -m.\n" +"%s: Warnung: CREATE_HOME nicht unterstützt, verwenden Sie stattdessen -m.\n" -#: src/userdel.c:129 +#: src/userdel.c:124 #, c-format -msgid "usage: %s [-r] name\n" +msgid "Usage: %s [-r] name\n" msgstr "Syntax: %s [-r] Name\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" msgstr "%s: Fehler beim Aktualisieren des Gruppeneintrags\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" msgstr "%s: Kann DBM-Gruppeneintrag nicht aktualisieren\n" -#: src/userdel.c:219 +#: src/userdel.c:214 #, c-format msgid "%s: cannot remove dbm group entry\n" msgstr "%s: Kann DBM-Gruppeneintrag nicht entfernen\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: Kann TCFS-Datei nicht neu erstellen\n" +msgid "%s: cannot open group file\n" +msgstr "%s: Kann Gruppendatei nicht öffnen\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: Kann TCFS-Datei nicht sperren\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: Kann TCFS-Datei nicht öffnen\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: Kann Gruppendatei nicht öffnen\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: Kann Shadow-Gruppendatei nicht öffnen\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s: Fehler beim Löschen der Authentifizierung\n" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: Fehler beim Löschen des Kennworteintrags\n" +msgstr "%s: Fehler beim Löschen des Kennworteintrags\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s : Fehler beim Löschen des Shadow-Kennworteintrags\n" +msgstr "%s: Fehler beim Löschen des Shadow-Kennworteintrags\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: Fehler beim Löschen des TCFS-Eintrags\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: Fehler beim Löschen des DBM-Kennworteintrags\n" +msgstr "%s: Fehler beim Löschen des DBM-Kennworteintrags\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "%s: Fehler beim Löschen des Shadow-DBM-Kennworteintrags\n" +msgstr "%s: Fehler beim Löschen des Shadow-DBM-Kennworteintrags\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: Benutzer %s ist z.Zt. angemeldet\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s: Warnung: %s nicht in Besitz von %s, Löschen abgebrochen\n" +msgstr "%s: Warnung: %s nicht in Besitz von %s, Löschen abgebrochen\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " -msgstr "%s: Warnung: Kann nicht löschen " +msgstr "%s: Warnung: Kann nicht löschen " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" msgstr "%s: Benutzer %s nicht vorhanden\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" msgstr "%s: Benutzer %s ist ein NIS-Benutzer\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, c-format msgid "%s: %s not owned by %s, not removing\n" -msgstr "%s: %s nicht im Besitz von %s, Löschen abgebrochen\n" +msgstr "%s: %s nicht im Besitz von %s, Löschen abgebrochen\n" -#: src/userdel.c:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" msgstr "" -"%s: Verzeichnis %s wird nicht gelöscht (würde das Homeverzeichnis des\n" -"Benutzers %s löschen\n" +"%s: Verzeichnis %s wird nicht gelöscht (würde das Homeverzeichnis des\n" +"Benutzers %s löschen\n" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s: Fehler beim Löschen des Verzeichnisses %s\n" +msgstr "%s: Fehler beim Löschen des Verzeichnisses %s\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Syntax: %s\t[-u uid [-o]] [-g Gruppe] [-G Gruppe,...] \n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" msgstr "\t\t[-d Home [-m]] [-s Shell] [-c Kommentar] [-l Neuer_Name]\n" -#: src/usermod.c:332 -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DEFAULT|Programm},... ] " +#: src/usermod.c:313 +msgid "[-f inactive] [-e expire] " +msgstr "[-f inaktiv] [-e Ablauf] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" msgstr "[-p Kennwort] [-L|-U] Name\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" msgstr "%s: Zu wenig Speicher in update_group\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" msgstr "%s: Zu wenig Speicher in update_gshadow\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" msgstr "%s: Keine Optionen angegeben\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s: Shadow-Kennwörter für -e und -f benötigt\n" +msgstr "%s: Shadow-Kennwörter für -e und -f benötigt\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s : UID %lu ist nicht eindeutig\n" +msgstr "%s: UID %lu ist nicht eindeutig\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: Fehler beim Löschen der Authentifizierungs-Methode\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: Fehler beim Ändern der Authentifizierungs-Methode\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: Fehler beim Ändern des Kennworteintrags\n" +msgstr "%s: Fehler beim Ändern des Kennworteintrags\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: Fehler beim Löschen des Kennworteintrags\n" +msgstr "%s: Fehler beim Löschen des Kennworteintrags\n" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" -msgstr "%s: Fehler beim Hinzufügen des DBM-Kennworteintrags\n" +msgstr "%s: Fehler beim Hinzufügen des DBM-Kennworteintrags\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "%s: Fehler beim Löschen des DBM-Kennworteintrags\n" +msgstr "%s: Fehler beim Löschen des DBM-Kennworteintrags\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: Fehler beim Löschen des Shadow-Kennworteintrags\n" +msgstr "%s: Fehler beim Löschen des Shadow-Kennworteintrags\n" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" msgstr "%s: Fehler beim Entfernen des Shadow-DBM-Kennworteintrags\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" msgstr "%s: Verzeichnis %s vorhanden\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" msgstr "%s: Kann %s nicht erstellen\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s: Kann den Besitzer von %s nicht ändern\n" +msgstr "%s: Kann den Besitzer von %s nicht ändern\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" msgstr "%s: Kann das Verzeichnis %s nicht nach %s umbenennen\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: Warnung: %s nicht im Besitz von %s\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "Fehler beim Ändern des Postfach-Besitzers" +msgstr "Fehler beim Ändern des Postfach-Besitzers" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" msgstr "Fehler beim Umbenennen des Postfachs" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s: %s wurde nicht geändert\n" +"%s: %s wurde nicht geändert\n" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" msgstr "Datei konnte nicht gesperrt werden" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" msgstr "Sicherung konnte nicht erstellt werden" -#: src/vipw.c:206 +#: src/vipw.c:200 #, c-format msgid "%s: can't restore %s: %s (your changes are in %s)\n" msgstr "" "%s: Wiederherstellung von %s fehlgeschlagen: %s\n" -"(Ihre Änderungen befinden sich in %s)\n" +"(Ihre Änderungen befinden sich in %s)\n" -#: src/vipw.c:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" @@ -2417,6 +2149,133 @@ msgstr "" "`vipw' bearbeitet /etc/passwd `vipw -s' bearbeitet /etc/shadow\n" "`vigr' bearbeitet /etc/group `vigr -s' bearbeitet /etc/gshadow\n" +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: Kann Eintrag für Benutzer %s nicht aktualisieren\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "" +#~ "Benutzer %s besitzt einen TCFS-Schlüssel, sein altes Kennwort wird " +#~ "benötigt.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "" +#~ "Sie können die -t Option benutzen um die Änderungen durchzuführen.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "Warnung: Benutzer %s besitzt einen TCFS-Schlüssel.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "" +#~ "Kann die TCFS-Datenbank nicht sperren; versuchen Sie es\n" +#~ "später nocheinmal\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Kann die TCFS-Datenbank nicht öffnen.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Fehler beim Aktualisieren der TCFS-Datenbank.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Kann die TCFS-Änderungen nicht schreiben.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: Kann TCFS-Datei nicht neu erstellen\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: Kann TCFS-Datei nicht sperren\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: Kann TCFS-Datei nicht öffnen\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: Fehler beim Löschen des TCFS-Eintrags\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f inaktiv] [-e Ablauf] " + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: Fehler beim Löschen der Authentifizierung\n" + +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|Programm},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: Fehler beim Löschen der Authentifizierungs-Methode\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: Fehler beim Hinzufügen der Authentifizierungs-Methode\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: Fehler beim Ändern der Authentifizierungs-Methode\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A Programm] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p Kennwort] Name\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "Fehler - Kann '%s' nicht finden\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s nicht gefunden\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: Shadow-Gruppen-Unterstützung nicht konfiguriert.\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: Shadow-Kennwörter sind nicht konfiguriert.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "Syntax: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "Führe shell %s aus\n" + +#~ msgid "Dialup Password: " +#~ msgstr "Anwahl-Kennwort: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "" +#~ "Syntax: %s [-l] [-m min_tage] [-M max_tage] [-d letzter_tag] Benutzer\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "Syntax: %s [-(a|d)] shell\n" + +#~ msgid "Shell password: " +#~ msgstr "Shell-Kennwort: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "Bestätigen die das Shell-Kennwort: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "" +#~ "%s: Die Kennwörter stimmen nicht überein; versuchen Sie es nocheinmal.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: Kann %s nicht erstellen" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: Kann %s nicht öffnen" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: Shell %s nicht gefunden.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "Gruppe=%s,%u Basisverzeichnis=%s Vorlage=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "Shell=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "Inaktiv=%ld Ablauf=%s" + +#, fuzzy +#~ msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#~ msgstr "Syntax: %s\t[-u uid [-o]] [-g Gruppe] [-G Gruppe,...] \n" + #~ msgid "%s: gid %ld is not unique\n" #~ msgstr "%s: GID %ld ist nicht eindeutig\n" @@ -2425,7 +2284,7 @@ msgstr "" #~ msgstr "GID unbekannt: %d\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s : UID %d ist nicht eindeutig\n" +#~ msgstr "%s: UID %d ist nicht eindeutig\n" #~ msgid "user %s: bad UID (%d)\n" #~ msgstr "Benutzer %s: fehlerhafte UID (%d)\n" diff --git a/po/el.gmo b/po/el.gmo index 0c2a40f36a50cea6483210ac857d9fe6a1c63d74..4e1c08133578d1ff9000289cebdaabaec5d53603 100644 GIT binary patch literal 48697 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 MR#gW{?0Q}Lf7tWkMgRZ+ literal 41429 zcmb`P34EMYx&KE*u~GI_)|aI;Elq$TTY%C+3$4(_(gF&#ohFksHkk=C38h#B#9eSf z#SIm=tJf917Z>2FRj{&IxJCJ^NqdKONV9daw$|I$|Mz#!dEa?w=AE=~&8Mf|_dVx1 z`*Zg5&ZZ*{{9KH`pT8~^I}yHka4dGs0kPPct z3z_$6{}VM?#VwtATHUiyW6h$+f^Y!PU8DqjgG`S(M~{X0~Co`BMi|8eho;i2fh_YXn&{}xoa{K38F zAypDP^4wUAqK!?5O839~RlCfTAf8=>KoQt8txyilX4(0DbDEZ$)h1UmFABVin#y1(t{R*h^Tm_Y`&p@UB z5vY9q)xE#*d|Q5JLFwllsPNKI;ok?9j)&d*1}M2{R znRV~~bnj=-Ny+^RsQPPy9{d1Qy?h(0+@FGy>w${rkc({noC_8I%~0{)0~PO&q4fVR zQ2s}t>j?Y7n_dHbj9CoSA&)cB% z^?GQrx6|pKMqwM--0UV$DqppZ}1R!z~wgH!=cK58kAnY8`AZ}KH%Pe0#z{Z6QSehZ!me+}io6Dpkt%!eLEdz*8=4=TS8 zLg~-1pz86@@XfFfO22nH`-A4%@K1!2o8sOthi~M49#p)G9qZu%yr)-^q5z2oTd;{!gc-m{K-q4Ime0_%PWRC&D{svX|~FMuC`)$rF)`Q8R6!V?zSdY=i;<9z`% z{RmWh`wEmE{Q@2g{|c+%Ht4|-cosbB9kzaFK*hfRsvK58#d|wceBX5TPeFyBb=(bA z-p4Mo@m&t3S8=F#KLl0&pM^@_!|-tUG*tRJq2k*MFNeoasA^x=!z1ABPFY-5!6B%4j#zB_%UY=Zd>)j3G(zc75~{veL&bj|RQx}N3U@t}zbsUJ{R4XN z*d;by7eUG23>9uWR65r}rRS5-gFl4QuRlVS-(R7^k6mxe{dlPGuY#(VdUzO2LY2>* zP~m>s*?-IN5qKWf51cGMK{>+=fGolUjdJTYoPM;38;Gcj&pw&*7CjuD*hvG zwBeitRlhY*`Z)(G{VU;A_z8G4dH{S>Mk|K{HR302 z;J8h<2UU)Xq2gTy&xQ9u`FjMO05?K~n}=7!suj#B;38N9zW`5xzlR=t1=8im4ytF) z3*P~i&d);C_oMK1___wmiEs+g_|4*v=1!eY}~Y^y$sF*zhJn z)z1nz1AZ1>1^)!+!xPi7*xTVMsCa$`&xTu}!aFKs%lSe$jrSHf8Ga2a+^67d_`gv4 zGP9jN9^M1z!WUpIJfXve`*x^uza7f{*HHDc9V)zOw_5uKcscK%f#<-Da1K0hwT)*U zRQR8S3*ld&;+=AvwZ9FjzJ3ekzXvMc$FH&F7l+FCx1h=)508Phbot6pxVK9csxAvy>6U?Z{>ZSV-r+9?}n0p7)t(6P~|uXmCobW+W2NdkN2fe z_V0t$@Y{}mgbHt`9rWulu3&@@MXS z6I{Ui0e9N|b`ey18(2op6U^7THbe0?6C1b^b*H^9?*?|~}EgFk5FKObJk z`wFOfdD@QsdGIl)eC46a<-`x${^4qPH1Bu8 z+3*2)CG3RCr}q(CUW=gG!QD{x_EV^M{u?Sie}|LcF(0+|)8PfYH^3X=m*Ht}6ut=_ z`!VdG2bIsq;dJ;9_kQumt=_JN(w~RmRq!#Wa1XfG%3lms{p7q z@W4-7``J+CJ|8NdH^Ot_d!W+sAUqlV4tnrqsPcUM{kA+kD1AByD!tc3>17fg4nF{u z&j;X_;18k7f6iyv^Mdto5qt)=!IM90`{z%>vv~h2l>WW(b2c559p^yhy9u5FKMIw< zA3??UJ2(UW6)Kz)9rUS4~0j3!PPVLc)tK%0B?Zjz)wJ>_t#M6nT5(%?2A@kPlw9Kd?@|SK!y8xcpUr= zls^9k9t-~mPJ@4U_GeMJ^LW1osy@C5CHHH1415VnKej{V>sT7G+V53R>HGjxdLD!4 z!A(&0f5d}UPcDYilPjR|aV=E8k%ULX2i*G);EBAy2y5UFycC}D6*vAsx!(^Df8M?<$oho{I@`r=L7I;_(NC)yP(3^1{KcV;mPpG zuiJ8(2G8gHT~PV`6jXiu0KN{s1v4At|Gk@spI|aKgQhW{JbAK)#Yz7`um)-Ujz@ue967P5q=uef%z}w?ty=STE|M)E`%!6Gok)e ze!I;R^C-u4@OIqQ=YInJ95WMxTEyOixs>O3Vf2@PXTdb)XU=X3&r^6l(!KL){#NpS z2}WbU2Fy=*o`#Xm-vRZfc9z3*VLpb@-#;)b%oA&R_y^3X$UlHN-T9OADek$G=Woe^ zzh^KPnJ4CfxJ%E~cRYqU4RbSgpT|7Q^EWUD@q7a&gZUojr`XNFH1Pc2F#Pue>{es+ z_rI9y+_T=l?VhjUc^S_wA-4rQFU0=q80qVmFb`o4#=hRkrFj20jQ%diEXEv&+fOks z@%%T;6&U?}6T7YUG5G(Z!IPa6{x0<1#IyP_{f%MT%oFX$@dTK`sE_%7n9mUY+oAt= z74QFsVK|O`4l|!;{pB&6F+ae32fM$+4?wkX{k8J^RgC%={T;%y8Yi{eABJH27v`*$v;r`=>&(AII)+-XDc0 zhU_;vKf)s+`-`3Zac}`feej<#4`AMb+`Hh_@G|&%cpDtW?8NBrE!aJbd70-Ij16;H z_)quzb=>^Fb9t`A+=s;+%zK@~7eX?(VD~288NSS44gX(_nTy>vxEAwW%>Q7H!90jr zjrks?8FM~zZ^rzX=QqGN!L=|8&&Aw~Y2&>eHex=2xs7-IRawNA!c#Fr?%l_SdHAb) znGO$k&wCxObm9Dv_c=Vzg&Q$VJXd2DV}8c_EwC1I0MGh6j_0I(jQt88z`Or9i-$un zPhvFQeHx>`r!h0l6K5^({*a%3-Ul%!JNJX&7jgd$d^dbQ=0BbMEO@qiem(BDy608! zE4<%+Z-fMUtfIBd!U@qtVB+L;`?h)+n<@rju9uvnrjyV&fzsqn-V*Z`y=Zy{fl#aiK zYuxiR_+{iy!2FTtvoSy9`2x(1m~UYwVm^#H8n+(I$9R4#^#88q;dQdZyc2UVW*+7< z*dGJm2tNxyg844yZr)#%9cCEgVf1$%ZvNlBJbZ}vJDtT*JU8%s4O|4j0xyK$cJ7Dq zejU%t;qT#pV1C5&(U{wLo(=VP6y_W5*;w#j3+5(g_ep1&3dx+s^M7D|gxdu84p@)5 z3!}e#FiWt%3-g35CQP`gromg8YE5`I)wC{M%KsTJvog`rqQ`o#KGoWqNVe;x#Y-ku zFH6Q-6HBW?{>Jmtinmo>d!n_iCElJ`>iji&&B=Iud-JUc`Av9<+uEAb2~Vz9b+oj2 z^NFI)o0#E!juN(TWh&`gEJ~$Xz4;xjD-vlZaziS;DlAepG2^wQnwpb!UW{i+dCeKG zBU!&Po@`1qRK=>Um9y90+?r_cQXTDHys66btXeIc|I} zwUHP5Y^dx+GHcSPai+c4i%I@UO*S<30 zxoVF$5P5T^JsodPr6qLJ#Fhp$Inmg@G64*-oTs+O}m@RnKjr zi6j~(`!;H;lo-LsJsYdZqbuJ+d$tlC$>v)+5@n7m*ZFg=qhe{q=^*GJ(d5WGJJDW$ zwrPMS52l}xKx%c8Rsy*BDHnHrJUNN9u2fWhEY2>S zAT?N;m`m(zOxCg?(L$}E;ie$0$~88((8DXqQ8Gq#Oy6B1)|61Qs$UiMDmxc;l#^5A zre;@9Ha>ZBE*-@#3L~t*Mde@|m3H(u(2H=b*wBqwbViMnZ5m!_Ar#!A@@`yRMk9TW zTfnKdgy}j9MQ&_L0}3piLfQNn+vxllrwaKgxJBj1xK_wd*eyEVbfRW;x*4@9%|YN$ zA!yU(1lnl21f%-J%3UmFlTa#=VKkBco9?aJ^hb6cWZO9X;KYpUdu=hM6E?{e)!P?v zNv|l^ku=Isn)Qyh2DQjpSIje|QdET@w@|@EiI^e@H!$b5P*hRHQ6{8m3k47nP;`a5 z0GuinB8v>7g2IKvh*CM{?h2q%M#Ih#s!<$Bg*tFyjGI*_6J5(1A>s`UW`5JKqSeku zyy7I6$`nOfE^3w24j9Wd1~7tYBromn&ERA^_Xft|demGac2JWccg?;U5{>bWmiA0> zOO%jN(#2O^b)B~=v8IBv%C9u=a8FmcbW9%+=z3{IDSjhSIez0D6~A$asJbA`qJl2c zfKrihl7DL=UFg9|i@^0iYDCNc+tSUgaVo*2sW2cZvNWqD)^XvA(t@R=y8Mo%a$)!q z6|(I+SI&nDZa%u;*pZ=?L~Kdx2zQbAlz4?E*>y2@+D42s80hJVxy*I~SL7 zIFcZQVv&f72qc5#M3zgrSmk7eYofs$Ke({0N<1Rec6!o8!&I%**ehY>W>;t7?5g8a zd6hOoTjIWJg%)Oo)OS@5!gn1vh_-l|Rcw>jqGgs=o8ct-E4HE@CsM#>BC^AOp=T3)S>wDsuH@MXfAwsZdgZdk}bJ z?#jgqqn6d1K*A+R9dU)Hnq@+Nj@#i;?yuDYzo*i5nFZAj4|Bbukm{a%+?C z2ys8T#lf2`;lfB&9-I+qvs<%;2I!|w1HRn`Dh@W;(V9p%*R#RU#8a|8B0cPkwtC2! zE#C5w%_dZYH#3(v^NdMlCBhynd#9yoHGRj#27h^9Z>N)2&z)tH9PP|LMWnOQP4=?2 zeKVeb-v-KMq*{&5NxRGG`IDn?DvWB{^^+e=bcALnq%lrIbrXRg6u*9CQIZ5BQ`{;7 zZ)P)zwjbWfEb-pD3T^QsBkhRV25NPiKk1I7-K30jP@rwIc#93$)FtgMqD>}KW&w$! z$4xt7+T*rSYiOaK4i~U$OQhMiXOrKBm-2_T;N48A%zk{*w+ruinfZEAUz_P@YfGj5 zeJ9mN(AgH+3Tduho$6?5u#O3Pypn44x538+imGYTPoA+ zR%WK>bj9b_NKsI}MrZu}ReLH@Gt(x)$ySnb%DgWrFHZZaY22?Mos`OCMS=q(Gi5P{ zIx$UCWp9Q;Z)KeGoD~W7u55L=vK~j^5>Hy+y2|9n7iTV z`2?p^I?_?Z>;-xgTO!9Q;}q?ZjIUr3%c{#PTx}&6#?OvoXTOv~>){fKqN(UmHlwzii};;P@o?tb(#jZ5f?n0P)}Y}^HL8yaixu|d-L6sOgur(T z&j)uPVMB_lqvHQ>;x1NHf2g|W_^7k!~T5A%XH}f_LXrqgX-%!6KeNn z&7MDZ_AK-jDPu8PN4$1@I!oJs)$io5X5PG-S^UC7kx(L2Hz79Du5A5+BltqCUJ-8y z(xx)u@G5qtI{?t4#hz{!dSg7>Nd!Xbu-y(5#|^mX6qaQAP8@b~qH0!xZUt24=ogD= z8vcM%kP4mZxIj&NQ(qA5Yxte!CFR@mrGAQHE0ZroYZ^;rBoQ)2ffn4|hOI&=lhATd zbN_+^t94CLuJm2xEpB9*lNxnxW$WC$Ow67<+j(51Kv67(nlFmW=tg8zX5>{(>uj4% z5%$sB;+%IXDtn$q(`rm9Onbv3`(Z)b-#xkAWlPyVdfW-ugeSL;FJAKwghT?Q^qS}#|>QNGH z9AIX=+4C3AUSvu}DRsM~ug%lGd{L|&X{LI_T^^To%iXw`SGZo`%}X^fu+L83+MG@$ z&2oXRD&0t?u{C>O!IDs6YNIvK9s1Jr8WljfTvb(V4S+(^wL96DGvW>q7sgiM228fQ^I+o({G4+>8Ay3`O>V zrMWzFovs4Jt~Jl>SK8Fa<~eN+Vw>5N@GV_d=Q;f^7O|F2#0)l7vH9#*`chmg&}&=a zmcjf~Y<{Y+K%Qy_CshrzW;01Mm2kF%xKYzms|Vk^T{Ib0oTL(DWgT|4(-~|`Emy@B zFf;bOl8^XtWcK`%)N}z zfGzKp+~m`r{F_9nnu7ZjJTD1m=k?}>nQi7FTcZjdw?r7kkhYWKC5&2j((2pTT{OO7 z_AQ#({7^r&Bol8+)Kx9NwYhEeBrnm>%t=}3evG><yqj#<>r!U8JfdVvMEpyD z-c4HWmpIQq^;5x&d#a}^L#a?VuDPAN#-$!q-pqEBudR*?+3PWn*D{UN-NG`#K;kN0 z$_xKRc)5y!h`Ur7Za%qzl6!YHU^jHQ5zv3rpvHK{brDWbS-&^9tE#$Dn@a1nRjUiO zgvdkSM_YKIjf9Ykznm>}!GR~WjPin0uq)Y5;|d8w0aM<>W!u<0QysxIF%1c+bo1>b zkVO>>LUk$&-jE zkEO(3A(spgE{X`j@G`_onRPCuE*-L0lN)N4K<3Q;s56ceisiTQQeUgN2kBpSCVXao ztSQ#0vo8)kEZ3ewWFHdjAEr~Q5zut8M9MeY*ixH(bl3Pa({!%%x}(s*-D|cR#l+snjYKi6)=^=D4MriqmAN_=?nR=I&`aR&aI~C!Di!p#Sih ziTMq=PP^W&30GNL=2BBR&@wl-Ss?K0d6`v-7Bk24HB^fcF1G5>VHhO7SBKVK+z zG1aTmt_r*a`H%8dRD$COj2no_pNZKX@R+`lX(9LP=>@CVAPr6*C=D|K(^RiKFJafn z7>%Wy8u`z`mU^`x%~W?&L3`__ht`bQtc!wew3roC2DW` z6Or$Sek9J7c%z2uRG1RkYxQR0!L4XFIchOu7Auns!+6-YW)k6dhICC=RO2Nsy44?H zO+>OS4kf*|W>N4pfeYTK1f3SCBx7u++iV)^z_)p$2eR2Mwr)+8`qkG1CP^jYy0`0M zHSxp?Sz&BzO1BX=xiOIyoHD-J-o!UJOSSvMfZkx-%`jb8Sol&~WgF41LhI}m|3JlE zXT#8=5wfv^{TNeNE=Uy9B*W^4oe$Lc<4IIB3)89huxC*-x1r{GHl8?gt3&_I1?r10 zI_JV^7gQ}=u(;+*9joG2qmAD>kM9ts)tqx)&AHRObEnmvd%;=f@X-Q-HH#9rHY*G# z_s-cf7uC#LP%~?$H)lcJyt!w+Yr*{4RoaoLS)7h1Gu$#yvAmhzyegGpI(2J0wI-fS zwXvhe`=!a&_^mUVYmzJi+v14SHl?TIIoZ^~LZ@bNBHmi(&7nPU52fC_G|@7nrMWhh zZkk>-Z|=O=h1{H5drp(B#j8`cP`$bl7c3}5FcDV3CR(2pa zkQ>^vTb>hM-=^)|isAXbO+&e1?{URw`;ZAQcK3Dd*fo&%@;$wqv%}7I-B8cA{@ugg z6TAAeqnq<%rNU1RZOM)V;$>fGy_lDJZOsjMoqc`T?KwVOTJLS`$!_iGl{YWfGqQVY ze#{%q4JrJQ(eB=y*Pk2h^st1;tCEl@tZNxiD?eaQiPa}#Wm-Wcl$mk}-^27Sb z>-nMlNPg$0Ixo9*&p@`nIFxGA-?=3>+NIzJJNtS}UPu|QJIPH?e||9Evq>qmUwu8F z9qR1O_W!+`;>nNf8Q7W|=^oa1U+cZx=8^nXlr2bEZZJ1G)H&E4`2kqIzjJF=DzU&+?QDDMYuMM>&g(p{(w`0;)peR zu$p&ndTI3hM&%Z8XrsOh>(6a5U$iB?Twmu-^SIg@9LncEySm`})5v^jo1*rciO4VhBtzZvP0Z^#sY8pCL= zkH(i(D>b@RiDgFlTg7qEi{%#lA*s!-VJCyCEwdZK#l4Pw|y>81uev<-q zH!xld`kio6tTI@YbDm2D`||_poOWAL8^H!8(uR}wdiMu&I~KQF;SJG1c^w*&W%Qq1@)tY>$=ZtF-K3wr4cA*?auC4bQH- z?8T>^U2mP9ASRovtz!e((cJ^;)Oxeq^3opUDOaPJt~q%l*2F8=vU45j&}8# zPDK3%daD9`))jU)fsJN&?p42P`+d0_DeW!q2wm=!NOVhK4rpuJBdW~(VrjMv1?my zv-7dR>76PsR42~$k6G$DNLQ8tl3^xm%N1qXMV$V-|;M;O-W`4={9-0;$RzHobf zsB4hAqr{DZj^>D2CC*g98$?5GvC$uA$3}OLc8_L<&43a92yT3pVl0>>zcfVDBe#8Q zuzM&sn%~o(8_2s%1l5>jaNU9?_H6CR(=n5k;%I#D+H%8Cn88DKy?3_Bx`;%)l8G< z+->TkgNm$LWh}cRKh&vUG=_TB`5w=7*ImPI@V1jDH*pEl5?v&r4)wJcVNss9=fVvu zx_ZdNK-VrUHAYc*-Ni6+5lUY{F1o~uN1Z|>q53SzWTcF(b0(~&z9{4U_r$r$PCA|*??>lMQNOSr;} zeGfB3S?c0eNoiN|SJr|m2}YG-NgScUE!3?!{f%m?MKcJ$!R{+3p;&w`WtoVOiBzHp zxu|?r(3Zjs$WKU==aNDS2JgYnfn6m-VR=4+VOc}y;Lxs7Vq!}z7*18&R$EJFy6pSq zwIQkfM57dHT)tL%?DUmIRy0Vy8r`bsF|y1nN*8+gy>4X_w64m2UfaYeoV)#~vrr#L zHN4uMs^HsK6Tj%$015WBnazw1cCzGiTNTe`*{9K}uV4E%ecAq(I|sD6O1G#Fp0&Zn zb`cxF>^$e#yWG4z*Webdz#H68O%EE=CX^9!}OQr3W!v2@PlON1&-RzG56@m;$ zUntM~p6CK_`wN?jM%v;Lqcont%RZGRklb%I3w#vi0u6svRZ%gN{jSW4A%xSh-&$5N zG(SBRLs~b`vvZ(p%$(bdm_|I61EgSulXd&DS=T)lRTX`S+qO2nz2DV@yWstikLnGJ zhQE?PItTJSYy<3XoKfPhE=u}D4r8`+3TMu|G%m6l?(b(zwD&!=AS+5FK7uNdu1nec zf$&u{6HQ1%`cSc8!_kHHS{`(g7L`8ssm=1cs9m}hcPP$61NTSB(u_t16q-u^3qq)< zy{|eg5g}DpHHx)j=E6l35$LNZ^Ken^cSyN`?*6VJM$_Vzd|7$8g}<%jU2KM=#zT@?S@jIk{K@j_0SpICNPzru(!kMZV-1GUqJzhW4m!3`zw6<<` zrwlLV?f0G?=5)fI1^A~=w))rGqGsA_M2hBGA-78QHb|`lO^p?Yxm*jy5(zgS_m6)# z0HHH*cNla^JnTMOQFjmsxqA!|PTgL2e{Lwxl#qia#b;Ac@TtPkQDmu0x660A3rX_t zSA^0QTKkqpFGXUzVux&u0;t$DlkqcO<8mQzE^?5C^C4Rj4{ z(HXA}Uu_Bsr`lG;)`LxjV%WNygJ7-|lq?SAWD~`t$ei*LYu;?qFcB*~6SlJ)*O!@4 zbwb&>Bgc_6C%T0$O`GxCPzD{i=l8I^pmPJ)y#!)rmKdm`D}Ck2FAWNI&$ir9x7Rir*%@aGczc7${< zss#rkx>FY|vd+ICP-#OotUdb_E_8MN%zxirBIZyg%l?i+5JG4dG`ukunZOFNW zk9{T2b;ai5vEK_@JAX=3Y@7G`yZV?Qk|UFLfx~(b?dKP-udoeYzso zqS<4SOJR0cl$;`&m(kK*)3b(#0Gn*K@VJb@1;)+h`Vji(x`X0dPp?YYUXe0OW80xe z`p)`#?60AR`3;OG?Nv*&8)+_haT_W$UD$1Y4C84#a=ELNp)B#U7|##w9(g&-ut#5} z51|+^3fFVEW6Jz5JJP?~Tld0q>;JI+=_eV1))(f#&v5Z}*n7qo<3Oa{)KyW!cAZjoAXDo-5pmfoIur`Y--;>}>fV8QOq7JCI%OP1&` zln6y`?>k%nMXDJYm#)+m#}zc#u95!Sm{yuxpK}TF)47>(PxHUs-10+$qJJV7$K>DL ze+(|-^>Ytf7deeC=xUyB!qwSP*W9o4@>PTv+~V|g=8~$|#$b0rH(~p7T#Gj+SpJP` zuBbk<{*UX;2Up>KrR0*YSFOv%+{L8p;|D?dySBLJ&=uCnRov;$_GbI`QVE3{-%JX0 zYnZa#I%awm&D(o(JF2-&7Mc7{P z*Q0;MzAE-7W=BlB`g-V@b?o#q=S%qkZf{bJC5KA>l94(sTE3coD!i2wR6nhLAHh`W zZ^rSaUe~`JD&2_g_m~};o4Mu|E3Hp+1ozd3S*^vm3;e`7^P?osu7B}`r=H%haoN-B zUR?LghTm=2Xf!kUpkssipd+^KxhJ1{@&)6nA1YbrJ`5RlUnV~}f_9mOm0Gm_p@V;I zWx3g<@nyQby+gsr8&$DjODA;T%Qqv1rIsCAUJNdjXH6HSpD-!4EAF<6$H>6D`__SR z&itf_X<(U9Pz87YYI^MHuD-DyOtnyIohQbgDE|h9TlH)Y=48!m~- zevDLZuayy3(tCF?L)51?_EvMrNMZ}EdSJ4qSw({dH5qk(J?P=7Kz;6G=Aci|Vs#@w zoKQ0;7V<&hPwMVu$XCe-Lxd=@b~n0CdjO*vO0NG(vjm zdLH7~IJRYAZ-4hx;wVe5y=-aLl>J=hr^L`f+IJ_1`yLb1{%*4I3`*6X?WqkOs{9T< z^m8pGb>!=&TQ!sgUS4}8K7vY?Ru{fU2+!m6J%UmC%FaZ?27aHpt*I}p%;y^ZW*3e{ z9}@5$%qeXjX9pU4c1J%oP-&X&e&Hqf^uR5-?2^ve7Pf$5)`m*=XXjS%C7sX&zxKj( zg`tybpxQzg%-xqzq2GL=tuV}nCEXsB`{|dmfb7?#p@7^Ez?26R{0@vw8cl}pud3rM z`W+a*16dOK(74eXG@mBAk0B9GGeBnMuQ$##L%vJijEEG*~knZPVa(&sI%Q#%ineRO3(HCtgyxtIeWM+Rf zhSnW?ojKcnok`jo3g21DD3BLFI8>R$Hc`VLcQ2`@Gj_*)nHM%3I*lir!nOZD*;TI#;JWfd^8Yp7>nw;2fag>C9HcPV&rniyTAlKz2)Sr}-3^y_KrLp{)5(#BN@h^@8ipN!%|?#Qw^w*1cC8d&3FPKEpyA{V6riuH`AS#df4EZ$qch`YSP@K)11R-JKuum7?Mkd z-TiR38-sq=6&V8ODkgYyYm;9hG5sNB7ZF)ObQ9ZU`pA1cp{zc?L`EMb4-V}%=V0`Y zyf=nE*$qB*x4(xIDo_m#_D69{$E1MT!gHFX_AIO_rgku@?^M}==R0&WgVqHIt}IUF zh=X1|+qcKe{LPoJI+l?avs+h~Zrcx1OjKUXo#2EvF}xbjZQ_!6b}Mq5^>v^7=^Q(E zW)5o3a+o^c(f>4&T(!yoRN%?-Df^D8e{ue*a^lP>>SgYQ@= zkm8Enr}TLB`dU1Pb{mQ>Oceig(0ca$mU+!+~Ppj zocHZDTs+|bHfLW^00n2WO>zA1(^~;ADQd$R%E)t?Ie;z)uR@#9SblsJGB23qLio z%uEHDJBGv3j}?XA-Om`A-o3<0zeEvbPpod-2?u0<$;f0Uh`}te%74iyLP)=46k#3x zOGY+PCGz@&*`+7=DI@nD{wX6{-hn7TWn^qT`%^|aHeLHRxpL4BtNOW;`xYUMvcdRr vqru*u?TAA|GDDiiAI2&6b&Gx3TO>9S`q?X`IS7$CyFWi5Dd8TsD)#>YD~F*1 diff --git a/po/el.po b/po/el.po index 9187771c..c0f00d6b 100644 --- a/po/el.po +++ b/po/el.po @@ -5,1007 +5,905 @@ msgid "" msgstr "" "Project-Id-Version: Shadow 980726\n" -"POT-Creation-Date: 2002-03-12 12:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-01-14 07:41+0100\n" +"PO-Revision-Date: 1998-12-28 20:35:31+0100\n" "Last-Translator: Nikos Mavroyanopoulos \n" "Language-Team: Hellenic \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-7\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8-bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" -msgstr "Ðñïåéäïðïßçóç: Üãíùóôç ïìÜäá %s\n" +msgstr "ΠÏοειδοποίηση: άγνωστη ομάδα %s\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" -msgstr "Ðñïåéäïðïßçóç: ÐïëëÝò ïìÜäåò\n" +msgstr "ΠÏοειδοποίηση: Πολλές ομάδες\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "Ôï óõíèçìáôéêü óáò Ý÷åé ëÞîåé." +msgstr "Το συνθηματικό σας έχει λήξει." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "Ôï óõíèçìáôéêü óáò åßíáé áíåíåñãü." +msgstr "Το συνθηματικό σας είναι ανενεÏγό." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "Ï êùäéêüò åéóüäïõ óáò Ý÷åé ëÞîåé." +msgstr "Ο κωδικός εισόδου σας έχει λήξει." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " ÅðéêïéíùíÞóôå ìå ôïí äéá÷åéñéóôÞ ôïõ óõóôÞìáôïò.\n" +msgstr " Επικοινωνήστε με τον διαχειÏιστή του συστήματος.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " ÅðéëÝîôå Ýíá íÝï óõíèçìáôéêü.\n" +msgstr " Επιλέξτε ένα νέο συνθηματικό.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "Ôï óõíèçìáôéêü óáò èá ëÞîåé óå %ld ìÝñåò.\n" +msgstr "Το συνθηματικό σας θα λήξει σε %ld μέÏες.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" -msgstr "Ôï óõíèçìáôéêü óáò èá ëÞîåé áýñéï.\n" +msgstr "Το συνθηματικό σας θα λήξει αÏÏιο.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" -msgstr "Ôï óõíèçìáôéêü óáò èá ëÞîåé óÞìåñá.\n" +msgstr "Το συνθηματικό σας θα λήξει σήμεÏα.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" -msgstr "Áäõíáìßá áëëáãÞò tty %s" +msgstr "Αδυναμία αλλαγής tty %s" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "Õðåñ÷åßëéóç ðåñéâÜëëïíôïò\n" +msgstr "ΥπεÏχείλιση πεÏιβάλλοντος\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" -msgstr "Äåí ìðïñåßôå íá áëëÜîåôå ôï $%s\n" +msgstr "Δεν μποÏείτε να αλλάξετε το $%s\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" -msgstr "%d %s áðü ôçí ôåëåõôáßá åßóïäï. Ç ôåëåõôáßá Þôáí óôéò %s óôï %s.\n" +msgstr "%d %s από την τελευταία είσοδο. Η τελευταία ήταν στις %s στο %s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" -msgstr "áðïôõ÷ßåò" +msgstr "αποτυχίες" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" -msgstr "áðïôõ÷ßá" +msgstr "αποτυχία" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" -msgstr "ÐïëëÝò åßóïäïé óôï óýóôçìá.\n" +msgstr "Πολλές είσοδοι στο σÏστημα.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "Ôï óõíèçìáôéêü äåí áðïêùäéêïðïéåß ôï ìõóôéêü êëåéäß ãéá ôï(í) %s.\n" +msgstr "Το συνθηματικό δεν αποκωδικοποιεί το μυστικό κλειδί για το(ν) %s.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" msgstr "" -"Äåí åßíáé äõíáôüí íá ôåèåß ôï ìõóôéêü êëåéäß ôïõ %s: Åêôåëåßôáé ï\n" -"äéáêïìéóôÞò êëåéäéþí;\n" +"Δεν είναι δυνατόν να τεθεί το μυστικό κλειδί του %s: Εκτελείται ο\n" +"διακομιστής κλειδιών;\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." -msgstr "¸÷åôå íÝá ãñÜììáôá." +msgstr "Έχετε νέα γÏάμματα." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." -msgstr "ÊáíÝíá ãñÜììá." +msgstr "Κανένα γÏάμμα." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." -msgstr "¸÷åôå ãñÜììáôá." +msgstr "Έχετε γÏάμματα." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " -msgstr "Êáêü óõíèçìáôéêü: %s. " +msgstr "Κακό συνθηματικό: %s. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "óõíèçìáôéêü: pam_start() áðÝôõ÷å, óöÜëìá %d\n" +msgstr "συνθηματικό: pam_start() απέτυχε, σφάλμα %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" -msgstr "óõíèçìáôéêü: %s\n" +msgstr "συνθηματικό: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" -msgstr "Áäõíáìßá áëëáãÞò êáôáëüãïõ óôïí \"%s\"\n" +msgstr "Αδυναμία αλλαγής καταλόγου στον \"%s\"\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" -msgstr "×ùñßò êáôÜëïãï, åéóáãùãÞ ìå ÌÇÔÑÉÊÏ_ÊÁÔÁËÏÃÏ=/" +msgstr "ΧωÏίς κατάλογο, εισαγωγή με ΜΗΤΡΙΚΟ_ΚΑΤΑΛΟΓΟ=/" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "ÅêôÝëåóç öëïéïý %s\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" -msgstr "Áäõíáìßá åêôÝëåóçò %s" +msgstr "Αδυναμία εκτέλεσης %s" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" -msgstr "Ìç Ýãêõñïò ðñùôáñ÷éêüò êáôÜëïãïò \"%s\"\n" +msgstr "Μη έγκυÏος Ï€ÏωταÏχικός κατάλογος \"%s\"\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" -msgstr "Áäõíáìßá áëëáãÞò ôïõ ðñùôáñ÷éêïý êáôáëüãïõ óå \"%s\"\n" +msgstr "Αδυναμία αλλαγής του Ï€ÏωταÏÏ‡Î¹ÎºÎ¿Ï ÎºÎ±Ï„Î±Î»ÏŒÎ³Î¿Ï… σε \"%s\"\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" -msgstr "Ç êëÞóç malloc(%d) áðÝôõ÷å\n" +msgstr "Η κλήση malloc(%d) απέτυχε\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "Óõíèçìáôéêü ôçëåöùíéêÞò óýíäåóçò: " - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" -msgstr "Áäõíáìßá äÝóìåõóçò ÷þñïõ ãéá ðëçñïöïñßåò äéáìüñöùóçò.\n" +msgstr "Αδυναμία δέσμευσης χώÏου για πληÏοφοÏίες διαμόÏφωσης.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -"óöÜëìá äéáìüñöùóçò - Üãíùóôï áíôéêåßìåíï '%s' (åéäïðïéåßóôå ôïí " -"äéá÷åéñéóôÞ)\n" +"σφάλμα διαμόÏφωσης - άγνωστο αντικείμενο '%s' (ειδοποιείστε τον " +"διαχειÏιστή)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "óöÜëìá - ç áíáæÞôçóç '%s' áðÝôõ÷å\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s äåí âñÝèçêå\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " -msgstr "Óõíèçìáôéêü: " +msgstr "Συνθηματικό: " #: lib/pwauth.c:56 #, c-format msgid "%s's Password: " -msgstr "Ôïõ %s ôï Óõíèçìáôéêü: " +msgstr "Του %s το Συνθηματικό: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "" #: lib/strerror.c:20 #, c-format msgid "Unknown error %d" -msgstr "Áãíùóôï óöÜëìá %d" +msgstr "Αγνωστο σφάλμα %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"×ñÞóç: %s [-l] [-m åëá÷_ìÝñåò] [-M ìåã_ìÝñåò] [-W ðñïåéä.]\n" -"\t[-I áíåíåñãü] [-E ëÞîç] [-d ôåëåõôáßá_ìÝñá] ÷ñÞóôçò\n" +"ΧÏήση: chage [-l] [-m ελαχ_μέÏες] [-M μεγ_μέÏες] [-W Ï€Ïοειδ.]\n" +" [-I ανενεÏγό] [-E λήξη] [-d τελευταία_μέÏα] χÏήστης\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" -"×ñÞóç: %s [-l] [-m åëÜ÷_ìÝñåò] [-M ìåã_ìÝñåò] [-d ôåëåõôáßá_ìÝñá] ÷ñÞóôçò\n" - -#: src/chage.c:157 +#: src/chage.c:152 msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"ÅéóÜãåôå ôçí íÝá ôéìÞ, Þ ðéÝóôå ENTER ãéá ôçí ðñïêáèïñéóìÝíç\n" +"Εισάγετε την νέα τιμή, ή πιέστε ENTER για την Ï€ÏοκαθοÏισμένη\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" -msgstr "Ìéêñüôåñç äéÜñêåéá óõíèçìáôéêïý" +msgstr "ΜικÏότεÏη διάÏκεια συνθηματικοÏ" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" -msgstr "ÌÝãéóôç äéÜñêåéá óõíèçìáôéêïý" +msgstr "Μέγιστη διάÏκεια συνθηματικοÏ" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "Ôåëåõôáßá áëëáãÞ óõíèçìáôéêïý (××××-ÌÌ-ÇÇ)" +msgstr "Τελευταία αλλαγή ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï (ΧΧΧΧ-ΜΜ-ΗΗ)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "ΠÏοειδοποίηση λήξης συνθηματικοÏ" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "Ðñïåéäïðïßçóç ëÞîçò óõíèçìáôéêïý" - -#: src/chage.c:189 msgid "Password Inactive" -msgstr "Áíåíåñãü óõíèçìáôéêü" +msgstr "ΑνενεÏγό συνθηματικό" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "Çìåñïìçíßá ËÞîçò Ëïãáñéáóìïý (××××-ÌÌ-ÇÇ)" +msgstr "ΗμεÏομηνία Λήξης ΛογαÏÎ¹Î±ÏƒÎ¼Î¿Ï (ΧΧΧΧ-ΜΜ-ΗΗ)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" -msgstr "ÅëÜ÷éóôï:\t%ld\n" +msgstr "Ελάχιστο:\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" -msgstr "ÌÝãéóôï:\t%ld\n" +msgstr "Μέγιστο:\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" -msgstr "Ðñïåéäïðïßçóç:\t%ld\n" +msgstr "ΠÏοειδοποίηση:\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" -msgstr "Áíåíåñãüò:\t%ld\n" +msgstr "ΑνενεÏγός:\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" -msgstr "Ôåëåõôáßá áëëáãÞ:\t\t" +msgstr "Τελευταία αλλαγή:\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" -msgstr "ÐïôÝ\n" +msgstr "Ποτέ\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t" +msgstr "Το συνθηματικό λήγει:\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "Áíåíåñãü óõíèçìáôéêü:\t" +msgstr "ΑνενεÏγό συνθηματικό:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t" +msgstr "Το συνθηματικό λήγει:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s: Íá ìçí óõìðåñéëáìâÜíåôå ôï \"l\" ìå ôéò Üëëåò åíäåßîåéò\n" +msgstr "%s: Îα μην συμπεÏιλαμβάνετε το \"l\" με τις άλλες ενδείξεις\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s: Üäåéá áðïññßöèçêå\n" +msgstr "%s: άδεια αποÏÏίφθηκε\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, fuzzy, c-format msgid "%s: PAM authentication failed\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç ìåèüäïõ åîáêñßâùóçò\n" +msgstr "%s: Σφάλμα κατά την Ï€Ïοσθήκη μεθόδου εξακÏίβωσης\n" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανοίγματος του αÏχείου συνθηματικών\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" -msgstr "%s: Üãíùóôïò ÷ñÞóôçò: %s\n" +msgstr "%s: άγνωστος χÏήστης: %s\n" -#: src/chage.c:571 +#: src/chage.c:536 #, fuzzy, c-format msgid "%s: can't lock shadow password file" -msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία κλειδώματος του αÏχείου σκιωδών συνθηματικών\n" -#: src/chage.c:579 +#: src/chage.c:544 #, fuzzy, c-format msgid "%s: can't open shadow password file" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανοίγματος του αÏχείου σκιωδών συνθηματικών\n" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" -msgstr "ÁëëáãÞ ðëçñïöïñéþí ÷ñüíïõ ãéá ôïí %s\n" +msgstr "Αλλαγή πληÏοφοÏιών χÏόνου για τον %s\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí áëëáãÞ ðåäßùí\n" +msgstr "%s: Σφάλμα κατά την αλλαγή πεδίων\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανανέωσης αÏχείου συνθηματικών\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανανέωσης του αÏχείου σκιωδών συνθηματικών\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" msgstr "" -"ÓöÜëìá êáôÜ ôçí áíáíÝùóç ôçò êáôá÷þñçóçò óôï dbm áñ÷åßï óõíèçìáôéêþí.\n" +"Σφάλμα κατά την ανανέωση της καταχώÏησης στο dbm αÏχείο συνθηματικών.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία επανεγγÏαφής αÏχείου σκιωδών συνθηματικών\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία επανεγγÏαφής αÏχείου συνθηματικών\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" -msgstr "%s: áäõíáìßá îåêëåéäþìáôïò áñ÷åßïõ\n" +msgstr "%s: αδυναμία ξεκλειδώματος αÏχείου\n" -#: src/chfn.c:83 +#: 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 "" -"Usage: %s [-f ðëÞñåò_üíïìá] [-r áñßèì_äùìáôßïõ] [-w ôçë_åñãáóßáò]\n" -"\t[-h ôçë_ïéêßáò] [-o Üëëï] [÷ñÞóôçò]\n" +"Usage: %s [-f πλήÏες_όνομα] [-r αÏίθμ_δωματίου] [-w τηλ_εÏγασίας]\n" +"\t[-h τηλ_οικίας] [-o άλλο] [χÏήστης]\n" -#: src/chfn.c:88 +#: 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 ôçë_äùìáôßïõ]\n" -"[-h ôçë_ïéêßáò]\n" +"ΧÏήση: %s [-f πλήÏες_όνομα] [-r αÏιθμ_δωματίου] [-w τηλ_δωματίου]\n" +"[-h τηλ_οικίας]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" -msgstr "ÅéóÜãåôå ôçí íÝá ôéìÞ, Þ ðéÝóôå ENTER ãéá ôçí ðñïêáèïñéóìÝíç\n" +msgstr "Εισάγετε την νέα τιμή, ή πιέστε ENTER για την Ï€ÏοκαθοÏισμένη\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" -msgstr "ÐëÞñåò üíïìá" +msgstr "ΠλήÏες όνομα" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\tÐëÞñåò ¼íïìá: %s\n" +msgstr "\tΠλήÏες Όνομα: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" -msgstr "Áñéèìüò äùìáôßïõ" +msgstr "ΑÏιθμός δωματίου" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" -msgstr "\tÁñéèìüò Äùìáôßïõ: %s\n" +msgstr "\tΑÏιθμός Δωματίου: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" -msgstr "ÔçëÝöùíï Åñãáóßáò" +msgstr "Τηλέφωνο ΕÏγασίας" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" -msgstr "\tÔçëÝöùíï Åñãáóßáò: %s\n" +msgstr "\tΤηλέφωνο ΕÏγασίας: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" -msgstr "ÔçëÝöùíï Ïéêßáò" +msgstr "Τηλέφωνο Οικίας" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" -msgstr "\tÔçëÝöùíï ïéêßáò: %s\n" +msgstr "\tΤηλέφωνο οικίας: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" -msgstr "Áëëï" +msgstr "Αλλο" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "%s: ¶äåéá áðïññßöèçêå.\n" +msgstr "%s: Άδεια αποÏÏίφθηκε.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" -msgstr "%s: Áãíùóôïò ï ÷ñÞóôçò %s\n" +msgstr "%s: Αγνωστος ο χÏήστης %s\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" -msgstr "%s: Äåí åßíáé äõíáôüí íá êáèïñéóôåß ôï üíïìá ÷ñÞóôç óáò.\n" +msgstr "%s: Δεν είναι δυνατόν να καθοÏιστεί το όνομα χÏήστη σας.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, 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:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, 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:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" -msgstr "ÁëëáãÞ ðëçñïöïñéþí ÷ñÞóôç ãéá ôïí %s\n" +msgstr "Αλλαγή πληÏοφοÏιών χÏήστη για τον %s\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s: Ìç Ýãêõñï üíïìá: `%s'\n" +msgstr "%s: Μη έγκυÏο όνομα: `%s'\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "%s: Ìç Ýãêõñïò áñéèìüò äùìáôßïõ: `%s'\n" +msgstr "%s: Μη έγκυÏος αÏιθμός δωματίου: `%s'\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "%s: Ìç Ýãêõñï ôçëÝöùíï åñãáóßáò: `%s'\n" +msgstr "%s: Μη έγκυÏο τηλέφωνο εÏγασίας: `%s'\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s: Ìç Ýãêõñï ôçëÝöùíï ïéêßáò: `%s'\n" +msgstr "%s: Μη έγκυÏο τηλέφωνο οικίας: `%s'\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s: \"%s\" ðåñéÝ÷åé ìç Ýãêõñïõò ÷áñáêôÞñåò\n" +msgstr "%s: \"%s\" πεÏιέχει μη έγκυÏους χαÏακτήÏες\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" -msgstr "%s: Ðïëý ìáêñéÜ ðåäßá\n" +msgstr "%s: Î Î¿Î»Ï Î¼Î±ÎºÏιά πεδία\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" -msgstr "Áäõíáìßá áëëáãÞò ôáõôüôçôáò ÷ñÞóôç óå root.\n" +msgstr "Αδυναμία αλλαγής ταυτότητας χÏήστη σε root.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" -msgstr "Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí. ÄïêéìÜóôå áñãüôåñá.\n" +msgstr "Αδυναμία κλειδώματος του αÏχείου συνθηματικών. Δοκιμάστε αÏγότεÏα.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí.\n" +msgstr "Αδυναμία ανοίγματος του αÏχείου συνθηματικών.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: Ï %s äåí âñÝèçêå óôï /etc/passwd\n" +msgstr "%s: Ο %s δεν βÏέθηκε στο /etc/passwd\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" -msgstr "ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí.\n" +msgstr "Σφάλμα κατά την ανανέωση καταχώÏησης στο αÏχείο συνθηματικών.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" -msgstr "Áäõíáìßá åéóáãùãÞò ôùí áëëáãþí óôï áñ÷åßï óõíèçìáôéêþí.\n" +msgstr "Αδυναμία εισαγωγής των αλλαγών στο αÏχείο συνθηματικών.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" -msgstr "Áäõíáìßá îåêëåéäþìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "Αδυναμία ξεκλειδώματος του αÏχείου συνθηματικών\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 +#, fuzzy, c-format +msgid "Usage: %s [-e]\n" +msgstr "χÏήση: %s [-e]\n" + +#: src/chpasswd.c:154 #, c-format -msgid "usage: %s [-e]\n" -msgstr "÷ñÞóç: %s [-e]\n" +msgid "%s: can't lock password file\n" +msgstr "%s: αδυναμία κλειδώματος του αÏχείου συνθηματικών\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία κλειδώματος του αÏχείου σκιωδών συνθηματικών\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανοίγματος του αÏχείου σκιωδών συνθηματικών\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" -msgstr "%s: ãñáììÞ %d: ðïëý ìåãÜëç ãñáììÞ\n" +msgstr "%s: γÏαμμή %d: Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· γÏαμμή\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" -msgstr "%s: ãñáììÞ %d: Ýëëåéøç íÝïõ óõíèçìáôéêïý\n" +msgstr "%s: γÏαμμή %d: έλλειψη νέου συνθηματικοÏ\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" -msgstr "%s: ãñáììÞ %d: Üãíùóôïò ÷ñÞóôçò %s\n" +msgstr "%s: γÏαμμή %d: άγνωστος χÏήστης %s\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: ãñáììÞ %d: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò óõíèçìáôéêïý\n" +msgstr "%s: γÏαμμή %d: αδυναμία ανανέωσης καταχώÏησης συνθηματικοÏ\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: Áíé÷íÝõôçêå óöÜëìá, ïé áëëáãÝò áãíïÞèçêáí\n" +msgstr "%s: Ανιχνέυτηκε σφάλμα, οι αλλαγές αγνοήθηκαν\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την ανανέωση καταχωÏήσεων στο αÏχείο σκιωδών συνθηματικών\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï áñ÷åßï óõíèçìáôéêþí\n" +msgstr "%s: Σφάλμα κατά την ανανέωση καταχωÏήσεων στο αÏχείο συνθηματικών\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "×ñÞóç: %s [-s öëïéüò] [üíïìá]\n" - -#: src/chsh.c:89 -msgid "Enter the new value, or press return for the default\n" -msgstr "ÅéóÜãåôå ôçí íÝá ôéìÞ, Þ ðéÝóôå ENTER ãéá ôçí ðñïêáèïñéóìÝíç\n" +msgstr "ΧÏήση: %s [-s φλοιός] [όνομα]\n" #: src/chsh.c:90 -msgid "Login Shell" -msgstr "ÊÝëõöïò Åéóüäïõ" +msgid "Enter the new value, or press return for the default\n" +msgstr "Εισάγετε την νέα τιμή, ή πιέστε ENTER για την Ï€ÏοκαθοÏισμένη\n" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:91 +msgid "Login Shell" +msgstr "Κέλυφος Εισόδου" + +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" -msgstr "Äåí ìðïñåßôå íá áëëÜîåôå ôï öëïéü ãéá ôï(í) %s.\n" +msgstr "Δεν μποÏείτε να αλλάξετε το φλοιό για το(ν) %s.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" -msgstr "ÁëëÜãÞ ôïõ öëïéïý ãéá ôïí %s\n" +msgstr "Αλλάγή του Ï†Î»Î¿Î¹Î¿Ï Î³Î¹Î± τον %s\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: Ìç Ýãêõñç êáôá÷þñçóç: %s\n" +msgstr "%s: Μη έγκυÏη καταχώÏηση: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "%s äåí åßíáé Ýãêõñïò öëïéüò.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "×ñÞóç: %s [-(ald)] öëïéüò\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "Óõíèçìáôéêü öëïéïý: " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "ÅðáíåéóÜãåôå ôï óõíèçìáôéêü öëïéïý: " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s: Ôá óõíèçìáôéêÜ äåí ôáéñéÜæïõí, äïêéìÜóôå îáíÜ.\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: áäõíáìßá äçìéïõñãßáò ôïõ %s" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ %s" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s: Ï öëïéüò %s äåí âñÝèçêå.\n" +msgstr "%s δεν είναι έγκυÏος φλοιός.\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "×ñÞóç: expiry {-f|-c}\n" +msgstr "ΧÏήση: expiry {-f|-c}\n" #: src/expiry.c:113 #, c-format msgid "%s: WARNING! Must be set-UID root!\n" msgstr "" -"%s: ÐÑÏÓÏ×Ç! ÐñÝðåé íá Ý÷åé ôåèåß ôï bit ðáñá÷þñçóçò ôáõôüôçôáò root!\n" +"%s: ΠΡΟΣΟΧΗ! ΠÏέπει να έχει τεθεί το bit παÏαχώÏησης ταυτότητας root!\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s: Üãíùóôïò ÷ñÞóôçò\n" +msgstr "%s: άγνωστος χÏήστης\n" #: src/faillog.c:77 -#, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +#, fuzzy, c-format +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" msgstr "" -"÷ñÞóç: %s [-a|-u ÷ñÞóôçò] [-m ìåã] [-r] [-t ìÝñåò] [-l äåõôåñüëåðôá_êëåéä]\n" +"χÏήση: %s [-a|-u χÏήστης] [-m μεγ] [-r] [-t μέÏες] [-l δευτεÏόλεπτα_κλειδ]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format msgid "Unknown User: %s\n" -msgstr "Áãíùóôïò ÷ñÞóôçò: %s\n" +msgstr "Αγνωστος χÏήστης: %s\n" #: src/faillog.c:212 msgid "Username Failures Maximum Latest\n" -msgstr "¼íïìá_×ñÞóôç Áðïôõ÷ßåò ÌÝãéóôï Ôåëåõôáßá\n" +msgstr "Όνομα_ΧÏήστη Αποτυχίες Μέγιστο Τελευταία\n" #: src/faillog.c:229 #, c-format msgid " %s on %s" -msgstr " %s óôï %s" +msgstr " %s στο %s" #: src/faillog.c:233 #, c-format msgid " [%lds left]" -msgstr " [%lds áðÝìåéíáí]" +msgstr " [%lds απέμειναν]" #: src/faillog.c:237 #, c-format msgid " [%lds lock]" -msgstr " [%lds êëåßäùìá]" +msgstr " [%lds κλείδωμα]" #: src/gpasswd.c:78 -#, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "÷ñÞóç: %s [-r|-R] ïìÜäá\n" +#, fuzzy, c-format +msgid "Usage: %s [-r|-R] group\n" +msgstr "χÏήση: %s [-r|-R] ομάδα\n" #: src/gpasswd.c:79 #, c-format msgid " %s [-a user] group\n" -msgstr " %s [-a ÷ñÞóôçò] ïìÜäá\n" +msgstr " %s [-a χÏήστης] ομάδα\n" #: src/gpasswd.c:80 #, c-format msgid " %s [-d user] group\n" -msgstr " %s [-d ÷ñÞóôçò] ïìÜäá\n" +msgstr " %s [-d χÏήστης] ομάδα\n" #: src/gpasswd.c:83 #, c-format msgid " %s [-A user,...] [-M user,...] group\n" -msgstr " %s [-A ÷ñÞóôçò,...] [-M ÷ñÞóôçò,...] ïìÜäá\n" +msgstr " %s [-A χÏήστης,...] [-M χÏήστης,...] ομάδα\n" #: src/gpasswd.c:85 #, c-format msgid " %s [-M user,...] group\n" -msgstr " %s [-M ÷ñÞóôçò,...] ïìÜäá\n" +msgstr " %s [-M χÏήστης,...] ομάδα\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s: Üãíùóôïò ÷ñÞóôçò %s\n" +msgstr "%s: άγνωστος χÏήστης %s\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "¶äåéá áðïññßöèçêå.\n" +msgstr "Άδεια αποÏÏίφθηκε.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s: óêéþäç óõíèçìáôéêÜ ïìÜäùí áðáéôïýíôáé ãéá ôï -A\n" +msgstr "%s: σκιώδη συνθηματικά ομάδων απαιτοÏνται για το -A\n" #: src/gpasswd.c:294 msgid "Who are you?\n" -msgstr "Ðïéïò åßóáé;\n" +msgstr "Ποιος είσαι;\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "Üãíùóôç ïìÜäá: %s\n" +msgstr "άγνωστη ομάδα: %s\n" #: src/gpasswd.c:422 #, c-format msgid "Adding user %s to group %s\n" -msgstr "ÐñïóèÞêç ôïõ ÷ñÞóôç %s óôçí ïìÜäá %s\n" +msgstr "ΠÏοσθήκη του χÏήστη %s στην ομάδα %s\n" #: src/gpasswd.c:440 #, c-format msgid "Removing user %s from group %s\n" -msgstr "ÄéáãñÜöç ôïõ ÷ñÞóôç %s áðü ôçí ïìÜäá %s\n" +msgstr "ΔιαγÏάφη του χÏήστη %s από την ομάδα %s\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s: Üãíùóôï ìÝëïò %s\n" +msgstr "%s: άγνωστο μέλος %s\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" -msgstr "%s: Äåí åßíáé tty\n" +msgstr "%s: Δεν είναι tty\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" -msgstr "ÁëëáãÞ ôïõ óõíèÞìáôïò ãéá ôçí ïìÜäá %s\n" +msgstr "Αλλαγή του συνθήματος για την ομάδα %s\n" #: src/gpasswd.c:525 msgid "New Password: " -msgstr "ÍÝï Óõíèçìáôéêü: " +msgstr "Îέο Συνθηματικό: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "ÅðáíåéóÜãåôå ôï íÝï óõíèçìáôéêü: " +msgstr "Επανεισάγετε το νέο συνθηματικό: " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "Äåí ôáéñéÜæïõí. ÄïêéìÜóôå îáíÜ" +msgstr "Δεν ταιÏιάζουν. Δοκιμάστε ξανά" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: ÎáíáäïêéìÜóôå áñãüôåñá\n" +msgstr "%s: Ξαναδοκιμάστε αÏγότεÏα\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s: Áäõíáìßá äçìéïõñãßáò êëåéäþìáôïò\n" +msgstr "%s: Αδυναμία δημιουÏγίας κλειδώματος\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" msgstr "" -"%s: Áäõíáìßá äçìéïõñãßáò êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +"%s: Αδυναμία δημιουÏγίας κλειδώματος του αÏχείου σκιωδών συνθηματικών\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ %s\n" +msgstr "%s: αδυναμία ανοίγματος του αÏχείου\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò\n" +msgstr "%s: αδυναμία ανανέωσης καταχώÏησης\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανανέωσης καταχώÏησης στο αÏχείο σκιωδών συνθηματικών\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò áñ÷åßïõ\n" +msgstr "%s: αδυναμία επανεγγÏαφής αÏχείου\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία επανεγγÏαφής αÏχείου σκιωδών συνθηματικών\n" #: src/gpasswd.c:630 #, c-format msgid "%s: can't unlock file\n" -msgstr "%s: áäõíáìßá îåêëåéäþìáôïò áñ÷åßïõ\n" +msgstr "%s: αδυναμία ξεκλειδώματος αÏχείου\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò ôùí DBM áñ÷åßùí\n" +msgstr "%s: αδυναμία ανανέωσης των DBM αÏχείων\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò ôùí DBM áñ÷åßùí óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανανέωσης των DBM αÏχείων σκιωδών συνθηματικών\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "÷ñÞóç: groupadd [-g gid [-o]] ïìÜäá\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "χÏήση: groupadd [-g gid [-o]] [-f] ομάδα\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n" +msgstr "%s: Σφάλμα κατά την Ï€Ïοσθήκη νέας καταχώÏησης στο αÏχείο ομάδων\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s: áäõíáìßá ðñïóèÞêçò íÝáò dbm êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n" +msgstr "%s: αδυναμία Ï€Ïοσθήκης νέας dbm καταχώÏησης στο αÏχείο ομάδων\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" -msgstr "%s: Ôï üíïìá %s äåí åßíáé ìïíáäéêü\n" +msgstr "%s: Το όνομα %s δεν είναι μοναδικό\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" -msgstr "%s: Ôï uid %u äåí åßíáé ìïíáäéêü\n" +msgstr "%s: Το uid %u δεν είναι μοναδικό\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s: áäõíáìßá åýñåóçò ìïíáäéêïý gid\n" +msgstr "%s: αδυναμία εÏÏεσης Î¼Î¿Î½Î±Î´Î¹ÎºÎ¿Ï gid\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "%s: Ôï %s äåí åßíáé Ýãêõñï üíïìá ïìÜäáò\n" +msgstr "%s: Το %s δεν είναι έγκυÏο όνομα ομάδας\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s: Ìç Ýãêõñç ïìÜäá `%s'\n" +msgstr "%s: Μη έγκυÏη ομάδα `%s'\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" -msgstr "%s: -O áðáéôåß ¼ÍÏÌÁ=ÔÉÌÇ\n" +msgstr "%s: -O απαιτεί ÎŒÎΟΜΑ=ΤΙΜΗ\n" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ ïìÜäùí\n" +msgstr "%s: αδυναμία επανεγγÏαφής του αÏχείου ομάδων\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: αδυναμία επανεγγÏαφής του αÏχείου σκιωδών συνθηματικών ομάδων\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" -msgstr "%s: Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ ïìÜäùí\n" +msgstr "%s: Αδυναμία κλειδώματος του αÏχείου ομάδων\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" -msgstr "%s: Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ ïìÜäùí\n" +msgstr "%s: Αδυναμία ανοίγματος του αÏχείου ομάδων\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s: Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: Αδυναμία κλειδώματος του αÏχείου σκιωδών συνθηματικών ομάδων\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s: Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: Αδυναμία ανοίγματος του αÏχείου σκιωδών συνθηματικών ομάδων\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" -msgstr "%s: Ç ïìÜäá %s õðÜñ÷åé\n" +msgstr "%s: Η ομάδα %s υπάÏχει\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "÷ñÞóç: groupdel ïìÜäá\n" +#: src/groupdel.c:88 +#, fuzzy +msgid "Usage: groupdel group\n" +msgstr "χÏήση: groupdel ομάδα\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò ïìÜäáò\n" +msgstr "%s: Σφάλμα κατά την διαγÏαφή καταχώÏησης ομάδας\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï dbm áñ÷åßï ïìÜäùí\n" +msgstr "%s: Σφάλμα κατά την διαγÏαφή καταχώÏησης στο dbm αÏχείο ομάδων\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí " -"ïìÜäùí\n" +"%s: Σφάλμα κατά την αφαίÏεση καταχώÏησης στο αÏχείο σκιωδών συνθηματικών " +"ομάδων\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την αφαίÏεση καταχώÏησης στο αÏχείο σκιωδών συνθηματικών\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "%s: áäõíáìßá áöáßñåóçò ôçò ðñùôáñ÷éêÞò ïìÜäáò ôïõ ÷ñÞóôç.\n" +msgstr "%s: αδυναμία αφαίÏεσης της Ï€ÏωταÏχικής ομάδας του χÏήστη.\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" -msgstr "%s: Ç ïìÜäá %s äåí õðÜñ÷åé\n" +msgstr "%s: Η ομάδα %s δεν υπάÏχει\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" -msgstr "%s: Ç ïìÜäá %s åßíáé NIS ïìÜäá\n" +msgstr "%s: Η ομάδα %s είναι NIS ομάδα\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s: Ï %s åßíáé ï êýñéïò äéáêïìéóôÞò NIS\n" +msgstr "%s: Ο %s είναι ο κÏÏιος διακομιστής NIS\n" #: src/groupmems.c:95 msgid "Member already exists\n" @@ -1016,7 +914,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1034,62 +932,63 @@ msgstr "" #: src/groupmems.c:215 #, fuzzy msgid "Unable to lock group file\n" -msgstr "Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ ïìÜäùí\n" +msgstr "Αδυναμία κλειδώματος του αÏχείου ομάδων\n" #: src/groupmems.c:220 #, fuzzy msgid "Unable to open group file\n" -msgstr "Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ ïìÜäùí\n" +msgstr "Αδυναμία ανοίγματος του αÏχείου ομάδων\n" #: src/groupmems.c:240 #, fuzzy msgid "Cannot close group file\n" -msgstr "áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïìÜäùí\n" +msgstr "αδυναμία ανοίγματος αÏχείου ομάδων\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "÷ñÞóç: groupmod [-g gid [-o]] [-n üíïìá] ïìÜäá\n" +#: src/groupmod.c:104 +#, fuzzy +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "χÏήση: groupmod [-g gid [-o]] [-n όνομα] ομάδα\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, fuzzy, c-format msgid "%s: %s not found in /etc/group\n" -msgstr "%s: Ï %s äåí âñÝèçêå óôï /etc/passwd\n" +msgstr "%s: Ο %s δεν βÏέθηκε στο /etc/passwd\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" msgstr "" -"%s: áäõíáìßá ðñïóèÞêçò íÝáò dbm êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí " -"ïìÜäùí\n" +"%s: αδυναμία Ï€Ïοσθήκης νέας dbm καταχώÏησης στο αÏχείο σκιωδών συνθηματικών " +"ομάδων\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, fuzzy, c-format msgid "%s: %u is not a unique gid\n" -msgstr "%s: Ôï %ld äåí åßíáé ìïíáäéêü gid\n" +msgstr "%s: Το %ld δεν είναι μοναδικό gid\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s: Ôï %s äåí åßíáé ìïíáäéêü üíïìá\n" +msgstr "%s: Το %s δεν είναι μοναδικό όνομα\n" #: src/groups.c:59 #, c-format msgid "unknown user %s\n" -msgstr "Üãíùóôïò ÷ñÞóôçò: %s\n" +msgstr "άγνωστος χÏήστης: %s\n" #: src/grpck.c:87 #, fuzzy, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" -msgstr "×ñÞóç: %s [-r] [-s] [group [gshadow]]\n" +msgstr "ΧÏήση: %s [-r] [-s] [group [gshadow]]\n" #: src/grpck.c:90 #, fuzzy, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "×ñÞóç: %s [-r] [-s] [group]\n" +msgstr "ΧÏήση: %s [-r] [-s] [group]\n" #: src/grpck.c:108 src/pwck.c:108 msgid "No" -msgstr "Ï÷é" +msgstr "Οχι" #: src/grpck.c:192 src/pwck.c:175 #, c-format @@ -1099,259 +998,232 @@ msgstr "" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, c-format msgid "%s: cannot lock file %s\n" -msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ %s\n" +msgstr "%s: αδυναμία κλειδώματος του αÏχείου %s\n" #: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò áñ÷åßïõ %s\n" +msgstr "%s: αδυναμία ανοίγματος αÏχείου %s\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "Ìç Ýãêõñç êáôá÷þñçóç óôï áñ÷åßï ïìÜäùí\n" +msgstr "Μη έγκυÏη καταχώÏηση στο αÏχείο ομάδων\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 #: src/pwck.c:543 #, c-format msgid "delete line `%s'? " -msgstr "äéáãñáöÞ ãñáììÞò `%s'; " +msgstr "διαγÏαφή γÏαμμής `%s'; " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" -msgstr "áíôéãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n" +msgstr "αντιγÏαφή καταχώÏησης στο αÏχείο ομάδων\n" #: src/grpck.c:391 #, c-format msgid "invalid group name `%s'\n" -msgstr "Ìç Ýãêõñï üíïìá ïìÜäáò `%s'\n" +msgstr "Μη έγκυÏο όνομα ομάδας `%s'\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "ïìÜäá %s: äåí õðÜñ÷åé ÷ñÞóôçò %s\n" +msgstr "ομάδα %s: δεν υπάÏχει χÏήστης %s\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " -msgstr "äéáãñáöÞ ìÝëïõò `%s'; " +msgstr "διαγÏαφή μέλους `%s'; " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "Ìç Ýãêõñç êáôá÷þñçóç óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "Μη έγκυÏη καταχώÏηση στο αÏχείο σκιωδών συνθηματικών ομάδων\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" -msgstr "áíôéãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "αντιγÏαφή καταχώÏησης στο αÏχείο σκιωδών συνθηματικών ομάδων\n" #: src/grpck.c:537 msgid "no matching group file entry\n" -msgstr "Äåí âñÝèçêå êáôá÷þñçóç óôï áñ÷åßï ïìÜäùí ðïõ íá ôáéñéÜæåé\n" +msgstr "Δεν βÏέθηκε καταχώÏηση στο αÏχείο ομάδων που να ταιÏιάζει\n" #: src/grpck.c:558 #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "óêéþäçò ïìÜäá %s: Äåí õðÜñ÷åé äéá÷åéñéóôÞò ÷ñÞóôçò %s\n" +msgstr "σκιώδης ομάδα %s: Δεν υπάÏχει διαχειÏιστής χÏήστης %s\n" #: src/grpck.c:560 #, c-format msgid "delete administrative member `%s'? " -msgstr "äéáãñáöÞ äéá÷åéñéóôéêïý ìÝëïõò `%s'; " +msgstr "διαγÏαφή διαχειÏÎ¹ÏƒÏ„Î¹ÎºÎ¿Ï Î¼Î­Î»Î¿Ï…Ï‚ `%s'; " #: src/grpck.c:588 #, c-format msgid "shadow group %s: no user %s\n" -msgstr "óêéþäçò ïìÜäá %s: äåí õðÜñ÷åé ÷ñÞóôçò %s\n" +msgstr "σκιώδης ομάδα %s: δεν υπάÏχει χÏήστης %s\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format msgid "%s: cannot update file %s\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò áñ÷åßïõ %s\n" +msgstr "%s: αδυναμία ανανέωσης αÏχείου %s\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s: ôá áñ÷åßá áíáíåþèçêáí. ÅêôåëÝóôå mkpasswd\n" +msgstr "%s: τα αÏχεία ανανεώθηκαν. Εκτελέστε mkpasswd\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format msgid "%s: no changes\n" -msgstr "%s: êáìéÜ áëëáãÞ\n" +msgstr "%s: καμιά αλλαγή\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format msgid "%s: the files have been updated\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: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: αδυναμία κλειδώματος του αÏχείου σκιωδών συνθηματικών ομάδων\n" #: src/grpconv.c:76 src/grpunconv.c:72 #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: αδυναμία ανοίγματος του αÏχείου σκιωδών συνθηματικών ομάδων\n" #: src/grpconv.c:94 #, c-format msgid "%s: can't remove shadow group %s\n" msgstr "" -"%s: áäõíáìßá áöáßñåóçò ôçò ïìÜäáò %s, áðü ôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" -"ïìÜäùí\n" +"%s: αδυναμία αφαίÏεσης της ομάδας %s, από το αÏχείο σκιωδών συνθηματικών\n" +"ομάδων\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" msgstr "" -"%s: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí ãéá ôïí %" +"%s: αδυναμία ανανέωσης καταχώÏησης στο αÏχείο σκιωδών συνθηματικών για τον %" "s\n" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò ãéá ôçí ïìÜäá %s\n" +msgstr "%s: αδυναμία ανανέωσης καταχώÏησης για την ομάδα %s\n" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: αδυναμία ανανέωσης του αÏχείου σκιωδών συνθηματικών ομάδων\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò ãéá ôï áñ÷åßï ïìÜäùí\n" - -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: Äåí åßíáé äéáìïñöùìÝíï ãéá óêéþäç óõíèçìáôéêÜ ïìÜäùí.\n" +msgstr "%s: αδυναμία ανανέωσης για το αÏχείο ομάδων\n" #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" msgstr "" -"%s: Äåí åßíáé äõíáôüí íá äéáãñáöåß ôï áñ÷åßï óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +"%s: Δεν είναι δυνατόν να διαγÏαφεί το αÏχείο σκιωδών συνθηματικών ομάδων\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "÷ñÞóç: id [-a]\n" +#, fuzzy +msgid "Usage: id [-a]\n" +msgstr "χÏήση: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "÷ñÞóç: id\n" +#, fuzzy +msgid "Usage: id\n" +msgstr "χÏήση: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" -msgstr " ïìÜäåò=" +msgstr " ομάδες=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 msgid "Username Port From Latest\n" -msgstr "¼íïìá_×ñÞóôç Èýñá Áðü Ôåëåõôáßá\n" +msgstr "Όνομα_ΧÏήστη ΘÏÏα Από Τελευταία\n" #: src/lastlog.c:183 msgid "Username Port Latest\n" -msgstr "¼íïìá_×ñÞóôç Èýñá Ôåëåõôáßá\n" +msgstr "Όνομα_ΧÏήστη ΘÏÏα Τελευταία\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" -msgstr "**ÊáìéÜ åßóïäïò óôï óýóôçìá**" +msgstr "**Καμιά είσοδος στο σÏστημα**" -#: src/login.c:185 -#, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "÷ñÞóç: %s [-p] [üíïìá]\n" +#: src/login.c:175 +#, fuzzy, c-format +msgid "Usage: %s [-p] [name]\n" +msgstr "χÏήση: %s [-p] [όνομα]\n" -#: src/login.c:188 +#: src/login.c:178 #, 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:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r óýóôçìá\n" +msgstr " %s [-p] -r σÏστημα\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" -msgstr "ÅóöáëìÝíç þñá åéóüäïõ\n" +msgstr "Εσφαλμένη ÏŽÏα εισόδου\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" "\n" -"Ôï óýóôçìá Ýêëåéóå ãéá óõíôÞñçóç ñïõôßíáò\n" +"Το σÏστημα έκλεισε για συντήÏηση Ïουτίνας\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[ÐáñÜêáìøç áðïóýíäåóçò -- Ç åßóïäïò ôïõ root åðåôñÜðç.]\n" +"[ΠαÏάκαμψη αποσÏνδεσης -- Η είσοδος του root επετÏάπη.]\n" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" "\n" -"Ç äéáäéêáóßá åéóüäïõ ôåñìáôßóôçêå ìåôÜ áðü %d äåõôåñüëåðôá.\n" +"Η διαδικασία εισόδου τεÏματίστηκε μετά από %d δευτεÏόλεπτα.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" -msgstr " óôï `%.100s' áðü `%.200s'" +msgstr " στο `%.100s' από `%.200s'" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" -msgstr " óôï `%.100s'" +msgstr " στο `%.100s'" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" @@ -1360,73 +1232,73 @@ msgstr "" "\n" "%s login: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " msgstr "login: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" -msgstr "Äéáäéêáóßá åéóüäïõ áðÝôõ÷å" +msgstr "Διαδικασία εισόδου απέτυχε" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" -"Ðñïåéäïðïßçóç: Ç åßóïäïò åðáíåíåñãïðïéÞèçêå ìåôÜ áðü ðñïóùñéíü áðïêëåéóìü.\n" +"ΠÏοειδοποίηση: Η είσοδος επανενεÏγοποιήθηκε μετά από Ï€ÏοσωÏινό αποκλεισμό.\n" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" -msgstr "Ôåëåõôáßá åßóïäïò: %s óôï %s" +msgstr "Τελευταία είσοδος: %s στο %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" -msgstr "Ôåëåõôáßá åßóïäïò: %.19s óôï %s" +msgstr "Τελευταία είσοδος: %.19s στο %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" -msgstr " áðü %.*s" +msgstr " από %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" -msgstr "¸íáñîç rad_login\n" +msgstr "ΈναÏξη rad_login\n" #: src/mkpasswd.c:47 #, c-format msgid "%s: no DBM database on system - no action performed\n" msgstr "" -"%s: Äåí õðÜñ÷åé DBM âÜóç äåäïìÝíùí óôï óýóôçìá - êáìéÜ åíÝñãåéá äåí " -"åêôåëåßôáé\n" +"%s: Δεν υπάÏχει DBM βάση δεδομένων στο σÏστημα - καμιά ενέÏγεια δεν " +"εκτελείται\n" #: src/mkpasswd.c:232 src/mkpasswd.c:237 #, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "%s: áäõíáìßá åããñáöÞò ðÜíù áðü ôï áñ÷åßï %s\n" +msgstr "%s: αδυναμία εγγÏαφής πάνω από το αÏχείο %s\n" #: src/mkpasswd.c:252 #, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò DBM áñ÷åßùí ãéá ôï %s\n" +msgstr "%s: αδυναμία ανοίγματος DBM αÏχείων για το %s\n" #: src/mkpasswd.c:287 #, c-format msgid "%s: the beginning with " -msgstr "%s: ç áñ÷Þ ìå " +msgstr "%s: η αÏχή με " #: src/mkpasswd.c:288 #, fuzzy msgid " is too long\n" -msgstr " Ðïëý ìáêñéÜ ðåäßá\n" +msgstr " Î Î¿Î»Ï Î¼Î±ÎºÏιά πεδία\n" #: src/mkpasswd.c:315 #, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí åðåîåñãáóßá ôçò ãñáììÞò \"%s\"\n" +msgstr "%s: Σφάλμα κατά την επεξεÏγασία της γÏαμμής \"%s\"\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " -msgstr "ðñïóèÞêç êáôá÷þñçóçò ãéá üíïìá " +msgstr "Ï€Ïοσθήκη καταχώÏησης για όνομα " #: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 #: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 @@ -1436,410 +1308,348 @@ msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 #, c-format msgid "%s: error adding record for " -msgstr "%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç êáôá÷þñçóçò ãéá " +msgstr "%s: Σφάλμα κατά την Ï€Ïοσθήκη καταχώÏησης για " #: src/mkpasswd.c:378 #, c-format msgid "added %d entries, longest was %d\n" -msgstr "ðñïóôÝèçêáí %d êáôá÷ùñÞóåéò, ç ìåãáëýôåñç Þôáí %d\n" +msgstr "Ï€Ïοστέθηκαν %d καταχωÏήσεις, η μεγαλÏτεÏη ήταν %d\n" #: src/mkpasswd.c:392 #, 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:395 #, 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:398 #, 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 -msgid "usage: newgrp [-] [group]\n" -msgstr "÷ñÞóç: newgrp [-] [ïìÜäá]\n" +#, fuzzy +msgid "Usage: newgrp [-] [group]\n" +msgstr "χÏήση: newgrp [-] [ομάδα]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" -msgstr "÷ñÞóç: sg ïìÜäá [[-c] åíôïëÞ]\n" +#, fuzzy +msgid "Usage: sg group [[-c] command]\n" +msgstr "χÏήση: sg ομάδα [[-c] εντολή]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" -msgstr "Üãíùóôï uid: %u\n" +msgstr "άγνωστο uid: %u\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" -msgstr "Üãíùóôï gid: %lu\n" +msgstr "άγνωστο gid: %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" -msgstr "ËõðÜìáé.\n" +msgstr "Λυπάμαι.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" -msgstr "ðÜñá ðïëëÝò ïìÜäåò\n" +msgstr "πάÏα πολλές ομάδες\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "×ñÞóç: %s [åßóïäïò]\n" +msgstr "ΧÏήση: %s [είσοδος]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ /etc/passwd.\n" +msgstr "%s: αδυναμία κλειδώματος του /etc/passwd.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s: áäõíáìßá êëåéäþìáôïò áñ÷åßùí, îáíáäïêéìÜóôå áñãüôåñá\n" +msgstr "%s: αδυναμία κλειδώματος αÏχείων, ξαναδοκιμάστε αÏγότεÏα\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôùí áñ÷åßùí\n" +msgstr "%s: αδυναμία ανοίγματος των αÏχείων\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: γÏαμμή %d: μη έγκυÏη γÏαμμή\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s: ãñáììÞ %d: ìç Ýãêõñç ãñáììÞ\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s: ãñáììÞ %d: áäõíáìßá äçìéïõñãßáò GID\n" +msgstr "%s: γÏαμμή %d: αδυναμία δημιουÏγίας GID\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s: ãñáììÞ %d: áäõíáìßá äçìéïõñãßáò UID\n" +msgstr "%s: γÏαμμή %d: αδυναμία δημιουÏγίας UID\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s: ãñáììÞ %d: áäõíáìßá åýñåóçò ÷ñÞóôç %s\n" +msgstr "%s: γÏαμμή %d: αδυναμία εÏÏεσης χÏήστη %s\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s: ãñáììÞ %d: áäõíáìßá áíáíÝùóç óõíèçìáôéêïý\n" +msgstr "%s: γÏαμμή %d: αδυναμία ανανέωση συνθηματικοÏ\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s: ãñáììÞ %d: áðïôõ÷ßá äçìéïõñãßáò êáôáëüãïõ(mkdir)\n" +msgstr "%s: γÏαμμή %d: αποτυχία δημιουÏγίας καταλόγου(mkdir)\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s: ãñáììÞ %d: áðïôõ÷ßá áëëáãÞò éäéïêôÞôç(chown)\n" +msgstr "%s: γÏαμμή %d: αποτυχία αλλαγής ιδιοκτήτη(chown)\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s: ãñáììÞ %d: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò\n" +msgstr "%s: γÏαμμή %d: αδυναμία ανανέωσης καταχώÏησης\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí åíçìÝñùóç áñ÷åßùí\n" +msgstr "%s: Σφάλμα κατά την ενημέÏωση αÏχείων\n" -#: src/passwd.c:174 -#, c-format -msgid "usage: %s [-f|-s] [name]\n" -msgstr "÷ñÞóç: %s [-f|-s] [üíïìá]\n" +#: src/passwd.c:155 +#, fuzzy, c-format +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "χÏήση: %s [-f|-s] [όνομα]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, 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:180 +#: src/passwd.c:161 #, 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:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "Ï ÷ñÞóôçò %s Ý÷åé êëåéäß TCFS, áðáéôåßôáé ôï ðáëéü óõíèçìáôéêü.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "" -"Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôçí -t ðáñÜìåôñï ãéá íá åîáíáãêÜóåôå ôçí\n" -"ðñáãìáôïðïßçóç ôçò áëëáãÞò.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "Ðáëéü Óõíèçìáôéêü: " +msgstr "Παλιό Συνθηματικό: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" -msgstr "ÅóöáëìÝíï óõíèçìáôéêü ãéá ôïí `%s'\n" +msgstr "Εσφαλμένο συνθηματικό για τον `%s'\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "Ðñïåéäïðïßçóç: Ï ÷ñÞóôçò %s Ý÷åé êëåéäß TCFS.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -"ÅéóÜãåôå ôï íÝï óõíèçìáôéêü (åëÜ÷éóôï %d, ìÝãéóôï %d ÷áñáêôÞñåò)\n" -"Ðáñáêáëþ ÷ñçóéìïðïéÞóôå Ýíá óõíäõáóìü áðü êåöáëáßá êáé ìéêñÜ ãñÜììáôá\n" -"êáèþò êáé áñéèìïýò.\n" +"Εισάγετε το νέο συνθηματικό (ελάχιστο %d, μέγιστο %d χαÏακτήÏες)\n" +"ΠαÏακαλώ χÏησιμοποιήστε ένα συνδυασμό από κεφαλαία και μικÏά γÏάμματα\n" +"καθώς και αÏιθμοÏÏ‚.\n" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "ÍÝï Óõíèçìáôéêü: " +msgstr "Îέο Συνθηματικό: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" -msgstr "ÎáíáäïêéìÜóôå.\n" +msgstr "Ξαναδοκιμάστε.\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" "\n" -"Ðñïóï÷Þ: áäýíáìï óõíèçìáôéêü (åéóÜãåôÝ ôï ðÜëé ãéá íá ôï ÷ñçóéìïðïéÞóåôå).\n" +"ΠÏοσοχή: αδÏναμο συνθηματικό (εισάγετέ το πάλι για να το χÏησιμοποιήσετε).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" -msgstr "Äåí ôáéñéÜæïõí. ÄïêéìÜóôå îáíÜ.\n" +msgstr "Δεν ταιÏιάζουν. Δοκιμάστε ξανά.\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "Ôï óõíèçìáôéêü ãéá ôïí %s äåí ìðïñåß íá áëëÜîåé.\n" +msgstr "Το συνθηματικό για τον %s δεν μποÏεί να αλλάξει.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "Óõãíþìç, ôï óõíèçìáôéêü ãéá ôïí %s äåí ìðïñåß íá áëëÜîåé áêüìç.\n" +msgstr "Συγνώμη, το συνθηματικό για τον %s δεν μποÏεί να αλλάξει ακόμη.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s: äåí õðÜñ÷åé åëåýèåñç ìíÞìç\n" +msgstr "%s: δεν υπάÏχει ελεÏθεÏη μνήμη\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "Áäõíáìßá êëåéäþìáôïò ôçò âÜóçò êëåéäéþí ôïõ TCFS. ÄïêéìÜóôå áñãüôåñá\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "Áäõíáìßá áíïßãìáôïò ôçò âÜóçò êëåéäéþí ôïõ TCFS.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "ÓöÜëìá êáôÜ ôçí áíáíÝùóç ôçò âÜóçò êëåéäéþí ôïõ TCFS.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "Áäõíáìßá õëïðïßçóçò ôùí áëëáãþí óôï TCFS.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" -msgstr "%s: Áäõíáìßá åêôÝëåóçò ôïõ %s" +msgstr "%s: Αδυναμία εκτέλεσης του %s" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" -msgstr "%s: ç áðïèÞêç %s äåí õðïóôçñßæåôáé\n" +msgstr "%s: η αποθήκη %s δεν υποστηÏίζεται\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s: ¶äåéá áðïññßöèçêå\n" +msgstr "%s: Άδεια αποÏÏίφθηκε\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "Äåí ìðïñåßôå íá áëëÜîåôå ôï óõíèçìáôéêü ãéá ôï(í) %s.\n" +msgstr "Δεν μποÏείτε να αλλάξετε το συνθηματικό για το(ν) %s.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" -msgstr "ÁëëáãÞ óõíèçìáôéêïý ãéá ôïí %s\n" +msgstr "Αλλαγή ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï Î³Î¹Î± τον %s\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "Ôï óõíèçìáôéêü ãéá ôïí %s äåí Üëëáîå.\n" +msgstr "Το συνθηματικό για τον %s δεν άλλαξε.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 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] [passwd [shadow]]\n" +msgstr "ΧÏήση: %s [-q] [-r] [-s] [passwd [shadow]]\n" #: src/pwck.c:90 #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" -msgstr "×ñÞóç: %s [-q] [-r] [-s] [passwd]\n" +msgstr "ΧÏήση: %s [-q] [-r] [-s] [passwd]\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "Ìç Ýãêõñç êáôá÷þñçóç óôï áñ÷åßï óõíèçìáôéêþí\n" +msgstr "Μη έγκυÏη καταχώÏηση στο αÏχείο συνθηματικών\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "áíôéãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí\n" +msgstr "αντιγÏαφή καταχώÏησης στο αÏχείο συνθηματικών\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "Ìç Ýãêõñï üíïìá ÷ñÞóôç '%s'\n" +msgstr "Μη έγκυÏο όνομα χÏήστη '%s'\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" -msgstr "÷ñÞóôçò %s: êáìéÜ ïìÜäá %u\n" +msgstr "χÏήστης %s: καμιά ομάδα %u\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "÷ñÞóôçò %s: ï êáôÜëïãïò %s äåí õðÜñ÷åé\n" +msgstr "χÏήστης %s: ο κατάλογος %s δεν υπάÏχει\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "÷ñÞóôçò %s: ôï ðñüãñáììá %s äåí õðÜñ÷åé\n" +msgstr "χÏήστης %s: το Ï€ÏόγÏαμμα %s δεν υπάÏχει\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "Ìç Ýãêõñç êáôá÷þñçóç óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +msgstr "Μη έγκυÏη καταχώÏηση στο αÏχείο σκιωδών συνθηματικών\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "áíôéãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +msgstr "αντιγÏαφή καταχώÏησης στο αÏχείο σκιωδών συνθηματικών\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" -msgstr "Äåí âñÝèçêå êáôá÷þñçóç óôï áñ÷åßï óõíèçìáôéêþí ðïõ íá ôáéñßáæåé\n" +msgstr "Δεν βÏέθηκε καταχώÏηση στο αÏχείο συνθηματικών που να ταιÏίαζει\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" -msgstr "÷ñÞóôçò %s: ôåëåõôáßá áëëáãÞ óõíèçìáôéêïý óôï ìÝëëïí\n" +msgstr "χÏήστης %s: τελευταία αλλαγή ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÏƒÏ„Î¿ μέλλον\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: 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:89 src/pwunconv.c:98 +#: 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:117 -#, c-format +#: src/pwconv.c:118 +#, fuzzy, c-format msgid "%s: can't remove shadow entry for %s\n" msgstr "" -"áäõíáìßá áöáßñåóçò êáôá÷þñçóçò ãéá ôïí %s, áðü ôï áñ÷åßï óêéùäþí " -"óõíèçìáôéêþí\n" +"%s: αδυναμία ανανέωσης καταχώÏησης στο αÏχείο σκιωδών συνθηματικών για τον %" +"s\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò óõíèçìáôéêïý ãéá ôïí %s\n" +msgstr "%s: αδυναμία ανανέωσης καταχώÏησης ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï Î³Î¹Î± τον %s\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò êáôá÷þñçóçò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανανέωσης καταχώÏησης του αÏχείου σκιωδών συνθηματικών\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανανέωσης αÏχείου συνθηματικών\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s: Ôá óêéþäç óõíèçìáôéêÜ äåí Ý÷ïõí äéáìïñöùèåß.\n" - -#: src/pwunconv.c:160 +#: 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:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s: Äåí åßíáé äõíáôüí íá äéáãñáöåß ôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: Δεν είναι δυνατόν να διαγÏαφεί το αÏχείο σκιωδών συνθηματικών\n" #: src/su.c:133 msgid "Sorry." -msgstr "ËõðÜìáé." +msgstr "Λυπάμαι." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s: ðñÝðåé íá åêôåëåóôåß áðü ôåñìáôéêü\n" +msgstr "%s: Ï€Ïέπει να εκτελεστεί από τεÏματικό\n" #: src/su.c:306 #, c-format msgid "%s: pam_start: error %d\n" -msgstr "%s: pam_start: óöÜëìá %d\n" +msgstr "%s: pam_start: σφάλμα %d\n" #: src/su.c:336 #, c-format msgid "Unknown id: %s\n" -msgstr "Áãíùóôç ôáõôüôçôá: %s\n" +msgstr "Αγνωστη ταυτότητα: %s\n" #: src/su.c:373 src/su.c:390 #, c-format msgid "You are not authorized to su %s\n" -msgstr "Äåí Ý÷åôå Üäåéá ãéá su %s\n" +msgstr "Δεν έχετε άδεια για su %s\n" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" -msgstr "(ÅéóÜãåôå ôï äéêü óáò óõíèçìáôéêü.)" +msgstr "(Εισάγετε το δικό σας συνθηματικό.)" #: src/su.c:419 #, c-format @@ -1848,633 +1658,688 @@ msgid "" "(Ignored)\n" msgstr "" "%s: %s\n" -"(ÁãíïÞèçêå)\n" +"(Αγνοήθηκε)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" -msgstr "Äåí õðÜñ÷åé öëïéüò\n" +msgstr "Δεν υπάÏχει φλοιός\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" -msgstr "Ðñüóâáóç óôç su óå áõôüí ôïí ëïãáñéáóìü ÁÑÍÇÈÇÊÅ.\n" +msgstr "ΠÏόσβαση στη su σε αυτόν τον λογαÏιασμό ΑΡÎΗΘΗΚΕ.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "ÐáñÜêáìøç åîáêñßâùóçò ìå óõíèçìáôéêü.\n" +msgstr "ΠαÏάκαμψη εξακÏίβωσης με συνθηματικό.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" -msgstr "Ðáñáêáëþ åéóÜãåôå ôï ÄÉÊÏ óáò óõíèçìáôéêü ãéá åîáêñßâùóç.\n" +msgstr "ΠαÏακαλώ εισάγετε το ΔΙΚΟ σας συνθηματικό για εξακÏίβωση.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" -msgstr "Äåí õðÜñ÷åé áñ÷åßï óõíèçìáôéêþí\n" +msgstr "Δεν υπάÏχει αÏχείο συνθηματικών\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "Äåí õðÜñ÷åé êáôá÷þñçóç óõíèçìáôéêïý ãéá ôïí 'root'\n" +msgstr "Δεν υπάÏχει καταχώÏηση ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï Î³Î¹Î± τον 'root'\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" "\n" -"ÐëçêôñïëïãÞóôå control-d ãéá íá óõíå÷ßóåôå ìå ôçí êáíïíéêÞ Ýíáñîç,\n" -"(Þ äþóôå ôï óõíèçìáôéêü ôïõ root ãéá óõíôÞñçóç ôïõ óõóôÞìáôïò):" +"ΠληκτÏολογήστε control-d για να συνεχίσετε με την κανονική έναÏξη,\n" +"(ή δώστε το συνθηματικό του root για συντήÏηση του συστήματος):" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" -msgstr "¸íáñîç ÊáôÜóôáóçò ÓõíôÞñçóçò ÓõóôÞìáôïò\n" +msgstr "ΈναÏξη Κατάστασης ΣυντήÏησης Συστήματος\n" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" -msgstr "%s: åðáíáêôßóôå ôçí âÜóç äåäïìÝíùí ïìÜäùí\n" +msgstr "%s: επανακτίστε την βάση δεδομένων ομάδων\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "%s: åðáíáêôßóôå ôçí âÜóç äåäïìÝíùí ôùí óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: επανακτίστε την βάση δεδομένων των σκιωδών συνθηματικών ομάδων\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "%s: Ìç Ýãêõñç áñéèìçôéêÞ ðáñÜìåôñïò `%s'\n" +msgstr "%s: Μη έγκυÏη αÏιθμητική παÏάμετÏος `%s'\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" -msgstr "%s: Üãíùóôï gid %s\n" +msgstr "%s: άγνωστο gid %s\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" -msgstr "%s: Üãíùóôç ïìÜäá %s\n" +msgstr "%s: άγνωστη ομάδα %s\n" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "ïìÜäá=%s,%u âáóéêüò_êáôáë=%s óêåë=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "öëïéüò=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "áíåíåñãü=%ld ëÞîç=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" -msgstr "ÏÌÁÄÁ=%u\n" +msgstr "ΟΜΑΔΑ=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" -msgstr "ÌÇÔÑÉÊÏÓ_ÊÁÔÁËÏÃÏÓ=%s\n" +msgstr "ΜΗΤΡΙΚΟΣ_ΚΑΤΑΛΟΓΟΣ=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" -msgstr "ÁÍÅÍÅÑÃÏÓ=%ld\n" +msgstr "ΑÎΕÎΕΡΓΟΣ=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" -msgstr "ËÇÎÇ=%s\n" +msgstr "ΛΗΞΗ=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" -msgstr "ÊÅËÕÖÏÓ=%s\n" +msgstr "ΚΕΛΥΦΟΣ=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" -msgstr "ÓÊÅË=%s\n" +msgstr "ΣΚΕΛ=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" -msgstr "%s: áäõíáìßá äçìéïõñãßáò íÝïõ áñ÷åßïõ ðñïêáèïñéóìÝíùí ñõèìßóåùí\n" +msgstr "%s: αδυναμία δημιουÏγίας νέου αÏχείου Ï€ÏοκαθοÏισμένων Ïυθμίσεων\n" -#: src/useradd.c:503 +#: src/useradd.c:467 #, fuzzy, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: áäõíáìßá äçìéïõñãßáò íÝïõ áñ÷åßïõ ðñïêáèïñéóìÝíùí ñõèìßóåùí\n" +msgstr "%s: αδυναμία δημιουÏγίας νέου αÏχείου Ï€ÏοκαθοÏισμένων Ïυθμίσεων\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" -msgstr "%s: ìåôïíïìáóßá: %s" +msgstr "%s: μετονομασία: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" -msgstr "%s: Ç ïìÜäá `%s' åßíáé NIS ïìÜäá.\n" +msgstr "%s: Η ομάδα `%s' είναι NIS ομάδα.\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" -msgstr "%s: Ðñïóäéïñßóôçêáí õðåñâïëéêÝò ïìÜäåò (ìåã. %d).\n" +msgstr "%s: ΠÏοσδιοÏίστηκαν υπεÏβολικές ομάδες (μεγ. %d).\n" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "÷ñÞóç: %s\t[-u uid [-o]] [-g ïìÜäá] [-G ïìÜäá,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "χÏήση: useradd [-u uid [-o]] [-g ομάδα] [-G ομάδα,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" msgstr "" -"\t\t[-d ìçôñéêüò_êáôÜëïãïò] [-s öëïéüò] [-c ó÷üëéï]\n" -"\t\t[-m [-k êáíüíáò]]\n" +" [-d μητÏικός_κατάλογος] [-s φλοιός] [-c σχόλιο]\n" +" [-m [-k κανόνας]]\n" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " -msgstr "[-f áíåíåñãü] [-e ëÞîç] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f ανενεÏγό] [-e λήξη]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A ðñüãñáììá] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g ομάδα] [-b βάση] [-s φλοιός]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p óõíèçìáôéêü] üíïìá\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s\t-D [-g ïìÜäá] [-b âÜóç] [-s öëïéüò]\n" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t[-f áíåíåñãü] [-e ëÞîç]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" -msgstr "%s: ÓöÜëìá êáôÜ ôï êëåßäùìá ôïõ áñ÷åßïõ ïìÜäùí\n" +msgstr "%s: Σφάλμα κατά το κλείδωμα του αÏχείου ομάδων\n" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" -msgstr "%s: ÓöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ ïìÜäùí\n" +msgstr "%s: Σφάλμα κατά το άνοιγμα του αÏχείου ομάδων\n" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s: ÓöÜëìá êáôÜ ôï êëåßäùìá ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: Σφάλμα κατά το κλείδωμα του αÏχείου σκιωδών συνθηματικών ομάδων\n" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s: ÓöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" +msgstr "%s: Σφάλμα κατά το άνοιγμα του αÏχείου σκιωδών συνθηματικών ομάδων\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" -msgstr "%s: Ôï uid %ld äåí åßíáé ìïíáäéêü\n" +msgstr "%s: Το uid %u δεν είναι μοναδικό\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" -msgstr "%s: áäõíáìßá åõñåóçò ìïíáäéêïý uid\n" +msgstr "%s: αδυναμία ευÏεσης Î¼Î¿Î½Î±Î´Î¹ÎºÎ¿Ï uid\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s: Ìç Ýãêõñï ðåäßï `%s'\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s: Ìç Ýãêõñïò êáôÜëïãïò âÜóçò `%s'\n" +msgstr "%s: Μη έγκυÏος κατάλογος βάσης `%s'\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s: Ìç Ýãêõñï ó÷üëéï `%s'\n" +msgstr "%s: Μη έγκυÏο σχόλιο `%s'\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s: Ìç Ýãêõñïò ìçôñéêüò êáôÜëïãïò ÷ñÞóôç `%s'\n" +msgstr "%s: Μη έγκυÏος μητÏικός κατάλογος χÏήστη `%s'\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s: Ìç Ýãêõñç çìåñïìçíßá `%s'\n" +msgstr "%s: Μη έγκυÏη ημεÏομηνία `%s'\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "%s: óêéþäç óõíèçìáôéêÜ áðáéôïýíôáé ãéá ôï -e\n" +msgstr "%s: σκιώδη συνθηματικά απαιτοÏνται για το -e\n" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "%s: óêéþäç óõíèçìáôéêÜ áðáéôïýíôáé ãéá -f\n" +msgstr "%s: σκιώδη συνθηματικά απαιτοÏνται για -f\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: Μη έγκυÏο πεδίο `%s'\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s: Ìç Ýãêõñïò öëïéüò `%s'\n" +msgstr "%s: Μη έγκυÏος φλοιός `%s'\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" -msgstr "%s: Ìç Ýãêõñï üíïìá ÷ñÞóôç `%s'\n" +msgstr "%s: Μη έγκυÏο όνομα χÏήστη `%s'\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία επανεγγÏαφής του αÏχείου συνθηματικών\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία επανεγγÏαφής του αÏχείου σκιωδών συνθηματικών\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" -msgstr "%s: Áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "%s: Αδυναμία κλειδώματος του αÏχείου συνθηματικών\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" -msgstr "%s: Áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ óõíèçìáôéêþí\n" +msgstr "%s: Αδυναμία ανοίγματος του αÏχείου συνθηματικών\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία κλειδώματος του αÏχείου σκιωδών συνθηματικών\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò áñ÷åßïõ óêéùäþí óõíèçìáôéêþí\n" +msgstr "%s: αδυναμία ανοίγματος αÏχείου σκιωδών συνθηματικών\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç ìåèüäïõ åîáêñßâùóçò\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την Ï€Ïοσθήκη νέας καταχώÏησης στο αÏχείο συνθηματικών\n" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï dbm áñ÷åßï óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την ανανέωση καταχωÏήσεων στο dbm αÏχείο συνθηματικών\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí " -"óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την Ï€Ïοσθήκη νέας καταχώÏησης στο αÏχείο σκιωδών " +"συνθηματικών\n" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóåùí óôï dbm áñ÷åßï óêéùäþí " -"óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την ανανέωση καταχωÏήσεων στο dbm αÏχείο σκιωδών " +"συνθηματικών\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" -msgstr "%s: áäõíáìßá äçìéïõñãßáò êáôáëüãïõ %s\n" +msgstr "%s: αδυναμία δημιουÏγίας καταλόγου %s\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" -msgstr "%s: Ï ÷ñÞóôçò %s õðÜñ÷åé\n" +msgstr "%s: Ο χÏήστης %s υπάÏχει\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" msgstr "" -#: src/userdel.c:129 -#, c-format -msgid "usage: %s [-r] name\n" -msgstr "÷ñÞóç: %s [-r] üíïìá\n" +#: src/userdel.c:124 +#, fuzzy, c-format +msgid "Usage: %s [-r] name\n" +msgstr "χÏήση: %s [-r] όνομα\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí áíáíÝùóç êáôá÷ùñÞóçò ïìÜäáò\n" +msgstr "%s: Σφάλμα κατά την ανανέωση καταχωÏήσης ομάδας\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò ôçò dbm êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n" +msgstr "%s: αδυναμία ανανέωσης της dbm καταχώÏησης στο αÏχείο ομάδων\n" -#: src/userdel.c:219 +#: src/userdel.c:214 #, fuzzy, c-format msgid "%s: cannot remove dbm group entry\n" -msgstr "%s: áäõíáìßá áíáíÝùóçò ôçò dbm êáôá÷þñçóçò óôï áñ÷åßï ïìÜäùí\n" +msgstr "%s: αδυναμία ανανέωσης της dbm καταχώÏησης στο αÏχείο ομάδων\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: áäõíáìßá åðáíåããñáöÞò ôïõ áñ÷åßïõ êëåéäéþí ôïõ TCFS\n" +msgid "%s: cannot open group file\n" +msgstr "%s: αδυναμία ανοίγματος αÏχείου ομάδων\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: áäõíáìßá êëåéäþìáôïò ôïõ áñ÷åßïõ êëåéäéþí ôïõ TCFS\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò ôïõ áñ÷åßïõ êëåéäéþí ôïõ TCFS\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: αδυναμία ανοίγματος αÏχείου σκιωδών συνθηματικών ομάδων\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò áñ÷åßïõ ïìÜäùí\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: áäõíáìßá áíïßãìáôïò áñ÷åßïõ óêéùäþí óõíèçìáôéêþí ïìÜäùí\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ åîáêñßâùóçò\n" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí\n" +msgstr "%s: Σφάλμα κατά την διαγÏαφή καταχώÏησης στο αÏχείο συνθηματικών\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την διαγÏαφή καταχώÏησης στο αÏχείο σκιωδών συνθηματικών\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò ôïõ TCFS\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï dbm áñ÷åßï óõíèçìáôéêþí\n" +msgstr "%s: Σφάλμα κατά την διαγÏαφή καταχώÏησης στο dbm αÏχείο συνθηματικών\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ êáôá÷þñçóçò óôï dbm áñ÷åßï óêéùäþí " -"óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την διαγÏαφή καταχώÏησης στο dbm αÏχείο σκιωδών " +"συνθηματικών\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s: Ï ÷ñÞóôçò %s âñßóêåôáé óôï óýóôçìá\n" +msgstr "%s: Ο χÏήστης %s βÏίσκεται στο σÏστημα\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s: ðñïåéäïðïßçóç: Ôï %s äåí áíÞêåé óôïí %s, äåí äéáãñÜöåôáé\n" +msgstr "%s: Ï€Ïοειδοποίηση: Το %s δεν ανήκει στον %s, δεν διαγÏάφεται\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " -msgstr "%s: ðñïåéäïðïßçóç: áäõíáìßá äéáãñáöÞò " +msgstr "%s: Ï€Ïοειδοποίηση: αδυναμία διαγÏαφής " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" -msgstr "%s: Ï ÷ñÞóôçò %s äåí õðÜñ÷åé\n" +msgstr "%s: Ο χÏήστης %s δεν υπάÏχει\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" -msgstr "%s: Ï ÷ñÞóôçò %s åßíáé NIS ÷ñÞóôçò\n" +msgstr "%s: Ο χÏήστης %s είναι NIS χÏήστης\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, 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:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" msgstr "" -"%s: Äåí äéáãñÜöåôáé ï êáôÜëïãïò %s (èá áöáéñïýóå ôïí ìçôñéêü êáôÜëïãï ôïõ " -"÷ñÞóôç %s)\n" +"%s: Δεν διαγÏάφεται ο κατάλογος %s (θα αφαιÏοÏσε τον μητÏικό κατάλογο του " +"χÏήστη %s)\n" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ ôïõ êáôáëüãïõ %s\n" +msgstr "%s: Σφάλμα κατά την διαγÏαφή του καταλόγου %s\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, fuzzy, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "χÏήση: %s\t[-u uid [-o]] [-g ομάδα] [-G ομάδα,...] \n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" msgstr "" -"\t\t[-d ìçôñéêüò_êáôÜëïãïò [-m]] [-s öëïéüò] [-c ó÷üëéï]\n" -"\t\t[-l íÝï_üíïìá]\n" +"\t\t[-d μητÏικός_κατάλογος [-m]] [-s φλοιός] [-c σχόλιο]\n" +"\t\t[-l νέο_όνομα]\n" -#: src/usermod.c:332 +#: src/usermod.c:313 #, fuzzy -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DEFAULT|ðñüãñáììá},...] " +msgid "[-f inactive] [-e expire] " +msgstr "[-f ανενεÏγό] [-e λήξη] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" -msgstr "[-p óõíèçìáôéêü] [-L|-U] üíïìá\n" +msgstr "[-p συνθηματικό] [-L|-U] όνομα\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" -msgstr "%s: äåí õðÜñ÷åé åëåýèåñç ìíÞìç óôï update_group\n" +msgstr "%s: δεν υπάÏχει ελεÏθεÏη μνήμη στο update_group\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" -msgstr "%s: óôï update_gshadow\n" +msgstr "%s: στο update_gshadow\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" -msgstr "%s: Äåí äüèçêáí åíäåßîåéò\n" +msgstr "%s: Δεν δόθηκαν ενδείξεις\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s: óêéþäç óõíèçìáôéêÜ áðáéôïýíôáé ãéá ôï -e êáé -f\n" +msgstr "%s: σκιώδη συνθηματικά απαιτοÏνται για το -e και -f\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s: Ôï uid %lu äåí åßíáé ìïíáäéêü\n" +msgstr "%s: Το uid %lu δεν είναι μοναδικό\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí äéáãñáöÞ ìåèüäïõ åîáêñßâùóçò\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí áëëáãÞ ìåèüäïõ åîáêñßâùóçò\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí áëëáãÞ êáôá÷þñçóçò óõíèçìáôéêïý\n" +msgstr "%s: Σφάλμα κατά την αλλαγή καταχώÏησης συνθηματικοÏ\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï áñ÷åßï óõíèçìáôéêþí\n" +msgstr "%s: Σφάλμα κατά την αφαίÏεση καταχώÏησης στο αÏχείο συνθηματικών\n" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí ðñïóèÞêç íÝáò êáôá÷þñçóçò óôï dbm áñ÷åßï óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την Ï€Ïοσθήκη νέας καταχώÏησης στο dbm αÏχείο συνθηματικών\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò áðü ôï dbm áñ÷åßï óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την αφαίÏεση καταχώÏησης από το dbm αÏχείο συνθηματικών\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï áñ÷åßï óêéùäþí óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την αφαίÏεση καταχώÏησης στο αÏχείο σκιωδών συνθηματικών\n" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" msgstr "" -"%s: ÓöÜëìá êáôÜ ôçí áöáßñåóç êáôá÷þñçóçò óôï dbm áñ÷åßï óêéùäþí " -"óõíèçìáôéêþí\n" +"%s: Σφάλμα κατά την αφαίÏεση καταχώÏησης στο dbm αÏχείο σκιωδών " +"συνθηματικών\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s: ï êáôÜëïãïò %s õðÜñ÷åé\n" +msgstr "%s: ο κατάλογος %s υπάÏχει\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" -msgstr "%s: áäõíáìßá äçìéïõñãßáò ôïõ %s\n" +msgstr "%s: αδυναμία δημιουÏγίας του %s\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s: Áäõíáìßá áëëáãÞò éäéïêôÞôç(chown) ôïõ %s\n" +msgstr "%s: Αδυναμία αλλαγής ιδιοκτήτη(chown) του %s\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" -msgstr "%s: áäõíáìßá ìåôïíïìáóßáò ôïõ êáôáëüãïõ %s óå %s\n" +msgstr "%s: αδυναμία μετονομασίας του καταλόγου %s σε %s\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" -msgstr "%s: ðñïåéäïðïßçóç: Ôï %s äåí áíÞêåé óôïí %s\n" +msgstr "%s: Ï€Ïοειδοποίηση: Το %s δεν ανήκει στον %s\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "áðïôõ÷ßá áëëáãÞò ôïõ éäéïêôÞôç ôïõ ãñáììáôïêéâùôßïõ" +msgstr "αποτυχία αλλαγής του ιδιοκτήτη του γÏαμματοκιβωτίου" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" -msgstr "áðïôõ÷ßá ìåôïíïìáóßáò ãñáììáôïêéâùôßïõ" +msgstr "αποτυχία μετονομασίας γÏαμματοκιβωτίου" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s: Ôï %s äåí Üëëáîå\n" +"%s: Το %s δεν άλλαξε\n" -#: src/vipw.c:132 +#: src/vipw.c:133 #, fuzzy msgid "Couldn't lock file" -msgstr "áäõíáìßá îåêëåéäþìáôïò áñ÷åßïõ\n" +msgstr "αδυναμία ξεκλειδώματος αÏχείου\n" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" msgstr "" -#: src/vipw.c:206 +#: src/vipw.c:200 #, 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:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`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" + +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: αδυναμία ανανέωσης καταχώÏησης για τον χÏήστη %s\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "Ο χÏήστης %s έχει κλειδί TCFS, απαιτείται το παλιό συνθηματικό.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "" +#~ "ΜποÏείτε να χÏησιμοποιήσετε την -t παÏάμετÏο για να εξαναγκάσετε την\n" +#~ "Ï€Ïαγματοποίηση της αλλαγής.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "ΠÏοειδοποίηση: Ο χÏήστης %s έχει κλειδί TCFS.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "" +#~ "Αδυναμία κλειδώματος της βάσης κλειδιών του TCFS. Δοκιμάστε αÏγότεÏα\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Αδυναμία ανοίγματος της βάσης κλειδιών του TCFS.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Σφάλμα κατά την ανανέωση της βάσης κλειδιών του TCFS.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Αδυναμία υλοποίησης των αλλαγών στο TCFS.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: αδυναμία επανεγγÏαφής του αÏχείου κλειδιών του TCFS\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: αδυναμία κλειδώματος του αÏχείου κλειδιών του TCFS\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: αδυναμία ανοίγματος του αÏχείου κλειδιών του TCFS\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: Σφάλμα κατά την διαγÏαφή καταχώÏησης του TCFS\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f ανενεÏγό] [-e λήξη] " + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: Σφάλμα κατά την διαγÏαφή εξακÏίβωσης\n" + +#, fuzzy +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|Ï€ÏόγÏαμμα},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: Σφάλμα κατά την διαγÏαφή μεθόδου εξακÏίβωσης\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: Σφάλμα κατά την Ï€Ïοσθήκη μεθόδου εξακÏίβωσης\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: Σφάλμα κατά την αλλαγή μεθόδου εξακÏίβωσης\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A Ï€ÏόγÏαμμα] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p συνθηματικό] όνομα\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "σφάλμα - η αναζήτηση '%s' απέτυχε\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s δεν βÏέθηκε\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: Δεν είναι διαμοÏφωμένο για σκιώδη συνθηματικά ομάδων.\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: Τα σκιώδη συνθηματικά δεν έχουν διαμοÏφωθεί.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "χÏήση: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "Εκτέλεση Ï†Î»Î¿Î¹Î¿Ï %s\n" + +#~ msgid "Dialup Password: " +#~ msgstr "Συνθηματικό τηλεφωνικής σÏνδεσης: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "" +#~ "ΧÏήση: %s [-l] [-m ελάχ_μέÏες] [-M μεγ_μέÏες] [-d τελευταία_μέÏα] " +#~ "χÏήστης\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "ΧÏήση: %s [-(ald)] φλοιός\n" + +#~ msgid "Shell password: " +#~ msgstr "Συνθηματικό φλοιοÏ: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "Επανεισάγετε το συνθηματικό φλοιοÏ: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: Τα συνθηματικά δεν ταιÏιάζουν, δοκιμάστε ξανά.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: αδυναμία δημιουÏγίας του %s" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: αδυναμία ανοίγματος του %s" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: Ο φλοιός %s δεν βÏέθηκε.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "ομάδα=%s,%u βασικός_καταλ=%s σκελ=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "φλοιός=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "ανενεÏγό=%ld λήξη=%s" + +#~ msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#~ msgstr "χÏήση: %s\t[-u uid [-o]] [-g ομάδα] [-G ομάδα,...] \n" #~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s: Ôï gid %ld äåí åßíáé ìïíáäéêü\n" +#~ msgstr "%s: Το gid %ld δεν είναι μοναδικό\n" #, fuzzy #~ msgid "unknown gid: %u\n" -#~ msgstr "Üãíùóôï gid: %d\n" +#~ msgstr "άγνωστο gid: %d\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s: Ôï uid %d äåí åßíáé ìïíáäéêü\n" +#~ msgstr "%s: Το uid %d δεν είναι μοναδικό\n" #~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "÷ñÞóôçò %s: ëáíèáóìÝíï UID (%d)\n" +#~ msgstr "χÏήστης %s: λανθασμένο UID (%d)\n" #~ msgid "%s: no aging information present\n" -#~ msgstr "%s: Äåí õðÜñ÷ïõí ðëçñïöïñßåò ãÞñáíóçò\n" +#~ msgstr "%s: Δεν υπάÏχουν πληÏοφοÏίες γήÏανσης\n" #~ msgid "group %s: bad GID (%d)\n" -#~ msgstr "ïìÜäá %s: ëÜèïò GID (%d)\n" +#~ msgstr "ομάδα %s: λάθος GID (%d)\n" #~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s: Üäåéá áðïññßöèçêå (öëïéüò)\n" +#~ msgstr "%s: άδεια αποÏÏίφθηκε (φλοιός)\n" #~ msgid "Incorrect password for %s.\n" -#~ msgstr "ÅóöáëìÝíï óõíèçìáôéêü ãéá ôïí %s.\n" +#~ msgstr "Εσφαλμένο συνθηματικό για τον %s.\n" #~ msgid "group not found\n" -#~ msgstr "ç ïìÜäá äåí âñÝèçêå\n" +#~ msgstr "η ομάδα δεν βÏέθηκε\n" diff --git a/po/en@boldquot.header b/po/en@boldquot.header new file mode 100644 index 00000000..fedb6a06 --- /dev/null +++ b/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/po/en@quot.header b/po/en@quot.header new file mode 100644 index 00000000..a9647fc3 --- /dev/null +++ b/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/po/fr.gmo b/po/fr.gmo index b0de8c923c91a8d548a98c8e7532b4e7d1a90119..b206d6c72c6f53341a72c154601bb3ed445e2a96 100644 GIT binary patch literal 36827 zcmb`Q37p+UmG7@CLYjS*oj-x5J0Z8T7`6@pvNX_;bV61zhUBL2zq>EFeedNi*$A7m zh=9vHQ3e^u9Rg2yI<6@CqTT$y>kQ5+TL`>U$|djGc*bnb`B?_X7? zs!p9cwbyBWbof4Z=lI?As$A{_@a6+^xfA!w<$igLLUXx|r{r>Hg9Y#q@NdCG!Cl~C z;G@p}4e$W`PlHE+KLbw%{|xqkr%uh~Hh`Cb^T3C|KJa;PF?ck@)4+A$4Dc54B=BS4 zao~3x{t|o*{{2p~`JW7)g?|y~fjhuC;Jd*t@LS-q;15Cm%l(FbsABGzZj0TZ=;na? zgY&_Iz>8e`Dp2JYK=HK`lxTK=lE>p9|K+~RKa$5wAS~v(PPg*x16BTI;K`s5df+Xf z(tQ{_9{h&G7hL#02u*UF4jv6&2p$Zsb^Z}ha<~pW61>~tgP`j91yKC{6g&bvtk=?Y zgA|eL2NhlbRlgP}KHui>K~VbeB~bLwfZ}t18tFvvG*JG9pz3=SC_df*itl&1_>X|1 z|Elvp4~l;8=~j+CpyYBPD0yrI)qb~v9{3rMD&(F5C5OGvu;m^LqB^-VLCN6?Q2EwC zr7DTUJp`4?nV%j+(V$!{Q#6ae+R1FPsrQ+&jeBJ z+&WO<*MXA9J3;aFF^As=#m`Hi_&EusSNwS(BF$|875^qs{5=dR-*39`7eUb-HPfa$ zA2j+1s@$ER;_n8P?(?Ad{V}L|>^sZS&jwZQ5>WN7I{!OC(R~J_X>!kjN`J^~%kNxJ z{uR!@)%ouRr5}%i9{2-La(oGt+)khoO+7)$bpxn!-waC6J_?HN>n{8kp!h%hwKjY% zD85#K(yJRmrMnwcxsSN;Z#e%mpz?be^uUwmTKWq>>CKg(^rQw#Ki>p;;Cn!|%NJby z)1dhNcTnwd%$YXb*`V5Y87TVApyF?L_yFkP|1u~!ya1{`2QoOR{(Yd@?MjDDQ2D(T zRCy1%@Na?2|7V~F?sv9L*9*c@ZV`9{xDA{S-U%KKehpMUPlIZ&+&NZ1y1}FIo)1bs zt3kCx3p^OS4>bA?N)LYkqUyOnIsf!??Kr(0l%CxHsvZx3$AS}}ce>pjonB2ekC0>wuil$`DXRqkWp@!%7n=zihi{|qXh(-8JC;02)4UjZuJ z^&nj)_cl=S{UWIPJ_AZVd!KLReIn@LUkr+GA5=cKgVK*jK>o`;#XoA#W2uDXFazuY z7l5~cOF-$tlc36(a-o&u8KB0=1)%aTfm6V{9KH+OAOHJ6<@X?X5cmmDdN2W=0Dc!# z{aXh#K*j$F zWJt~(y2#4od{A_Q;2dy0sCvE)JQ;idR6V}}s{AKG@%JN8^v{E;*Kv#Kv*0P9@|y;# zUFL%--v`C#n?Tj;gP{0)98~^Kg6bDP237uVLFwPY0~V)&qF)Ri3a$Yq_fhaha4Yy) z@Ffrx%+0vS#$OGt#J>Z)5d0P>{XFDi+yAD4XW+jO6rW}Abnva9^x~7C+WUK;`oRk> z{8g9O_>(}%X&$Kb>p;o*daw?@9aKNxXVA_w$Aj_@faCX&Me9i+U?;%k6 zkATYetuFi%pz`^q!xz9F{Ch94{o)MpH2h0Jm0Ne=cY<`)+{56h;IBcIclc5(&u&n1 z=m(YVa!`7)8T7#0!IQuTLCO8A;C|pw!2Q9WgVLAZfJ#4Q$kLq(s@={5J@86Uz4#q?2zc@ut7kL8!||UFP600mj{w(!2Z2>k-R?laEq8kEdf>(oT*L%U);Fm$=|9ep79!(>NpM_u_I08yO zcRPFx6y0;6+W)Y1c0OGW_T#_F`9BAqga22c@;m+YRBdfpGJ{3k)xr)$jCcM&N0wm`}K zBcRIrA$S&eV9ELyf#PcmI3K(p6hF_o@RP5$^vgl%$8Dha_#CKm{|GJw=WMp)Nees) z|D6sW0*}G}HSkpMS@3jlzp~RS(8IqLJQmyr9uNMF^FItu$Nv?u2mFl-KYrY%KNFlv z_*LL>;7y?NzYjbEoB);nMTf^#EZ+m*Ji@Pa{!cmouR!rXt!n%GC7_3Y44eVp4l4eW zU^n=Eun+tLcrrM>#@PpWDX99q9lRWT2s{e>6R3I|agA;7d7$WgP;$BfRQucmsy&_n z4+ama+j35Dcp0en*x~$-fU3`rK-KrShUI4f6u&+=6TBHzzxcTGzX(ple{$32Hwezc ze?52v_y~A3IN|UqP<;LysCMdV+41UhQ0=hD`A0yt_ZuDF59aZI9aQ> z35x!m;E~{?py;0fd%-_}CxEAKwenj8s{GC1T<|vVH1Knv+T|JWOmM$#HvjqHrTEu^ zv%&X+;^Rs16!4JkR=%@ArQZmuy>A62kADEq2Y(7)4xYNhme&GR?|Z>6@Gd|M!9({t56x@TZ{KqkE^F|5k%j@E5@S!Oh@dU=utDycIkgdT$ zz@zbZU1#$>1(ZB42SvXHlpfs!9s=GE9uI!Xg@4caf8zWvgZmMG(DgRoqa4lv_a=N1 zD80EDRDRchYOk9>^@B%1@%;pN6!MGD?E^L541v<09pG!g_kwD-PlJboUk7gi z{~45iZhE8T>mE>Yd>R}Ee+Bk~m)~spyAxEsKLo0r&w^9I=Rxt?MW*6s4yb;+96S~* zf@;|6(Rj<8oWlsej14{1i1JzES233z|LCNC}p!9tDZI<6NLFGRH zo&pv?@%=_ne10BOJ%0}NfF6aYyi34~!1bW``XJZ~ehHMEeg&!?FN3Q0;kVoV(+i4z z5S#;+K$UYJC_cXeN)A5;PX%8F)qYdoZ1rOqcpCog;7Qf{ zulp{W-x^Tuv;$Q7zXMJCgX$lj1R!UPrpQF0F$9;Nk=a5dL{^ z8SWxSvytz|al!9>e5{P6S9mY}2OYuP;A;1c%A23$82oOAb`|al+$FgEaZ6m}Ip7A| zY{K+=CvGP0a{LRyS>UU12jiZ>|9@~yLuMZb^GjP)R|ABiEHxv2_ zSO?dF2jbMneB9xL-3)F3e*rT6=C0&hec_il{Vv2Y9OQn2dm48sZXBoID6}62H-k6g z{@sK||J=bRQ-AI>;x54HHw@-+r}2HR3o{Y?Gl>6rZ~(W-#r?k^68vwtG2GR-dvWpK zQP8VTehT;Ycm&@c!JSI{0pL!T@7{cG#yyHV4);Uc^~8M{oP|5l(eY`1=i~1SJmAN1 zr#PBh9X{pa$DRKsa6V!CfM>cm!7=zR#+CU#AGd|?UEn|AuER~i{{>LLzq62A1HKuj zdE*e`55vWOGw{3t_ZY6^;(o+;6E_wAYg||%mG1TUzXeSVT!4F>i~k~FC*bzRzr=;% zHNTtq_n&d^$7$UA0j`Ey=ji??-*3ac+WF4|4|Lzx6TXA*dAPUmt#S1rzPEzG?@N3f zO;`(j827KZdAO~F&BtBA_scl_MsX(-b`nm%M=a$21^li17W`k_3~25Ir{QMfR=YHO zn*C!zAN;Ph5dM3Xqnkp=iMS#B{{j9DPV1E5*UiVixD~i#f!LQ2!h9)e-XG4 z*H6SrxU+HnG1{Nu|1@p^PQUfI58_^nJJ!+thHw2Y!1dztxc`M4#+?bxp}5QV*6&#h zxz~d~#+@s_%jYuiblkxT<_p`2KtFr?^kz-izzOdAK>advN-F-9m0D^zU}xzjwHvup@EXaaF>;=faQ2 zev3dUpIIpco#SacMIRYQpA)g>+(f!tUB&{>+<94*Yj_~YmE8j zvOb5s;p+IfUunuy_A36?4VA*UzrHIs<)T)(>DRsPqSx?;tCeD-51N(R8%=-Q8!lHHP>odUULDd>#rMVwrApJU6e`0$bgQ=4eCkta z)~jXe+^l-FdUe<*&DK(L%&S!EK8Ug33?G9JeOd86n<20tKl1eW&75`_Gzlay2YgitX2Hs zrnhOk3WKeD-j;1-Q=wlhw#1RFKEHZ8gHBi-0UHzTDj2l*Joui;*~0e;U-m9 zM!x57tCi|%YgZbrvo60t%-3i1_4SEpY0Ni@)N4uN-9#5m>h)em%3|lJ+IlZvM`Ih! zWMPD_%a54|eT{fdQ{&ukLnXE;w&IPKD*D*!ZKc`tRkGDzZ_>rHzBXUpnQ!gP7kB1Y z?#%nwB?%;sLXpN=Odg}QF3N6`x2e!Dk_`Hj@R3#5q?XJX1&m?)lP{q zaZ90GqJwG-F%dltZ@KF|baeIesojmKrYF)L=hS3Dy+g@$eO&>9}Gji_t9F@P#A8s{$STLLox)xy^ zs&BVLu^1jQLTom-+Y**5<3^)|auoeaNu#f*+JaqCtLod`c&72h32}90a|HodzBDT+ zhqVh<3=Ixle2V8SZJ{@t&}qM!Up=_k3~r}bqK(~+9;2m+rZIzga}0?MmrJnk${sFM zdYY(ye~Htnb{4Ikc|4s+?UqMUw(Ef{6w zVp>7l+8E_wHOp#FqCO^4Orbb5RJ(LzdD!G_RWMnYI5ShFDrjO|ZPJyG$0ag|38-50 zD{V!Ffv&YJlP0tSlTln2lP0zUlkvDtOxFGU)_RHNPS-Gu=#aVTr=gaZzGBobsbKU? z24HEJS*`S%ZfKV)3`|5YbaXe|aAjpt_bo#Sj^j!e5IDv<(zPm~io}z*YDMY%;)P31 zofGX4i;Gn|i^NnoBil$2n&_xo290azh;%Zlbh|hfJJ;G)&#~W$%~<^<_nmEE5#NrKi z{z#!!ZZ?v-Euv5{(y2T4>qHr*V}%NoR(lm-DAaW60!)OJL!xEFM3XZf@6wayvfCD{ zZt?3;$4_(VI`?GF>qw;KELdvw(s+T!Fg!)Wv}#pnL%~)j-e6kOr&#w%Kf@*bf$~Xr+cSGj60J<6}vf!ffs|QJRo=ij8i6P%!hTiFTuMu;0{fJElZR zU^55^+({N&-*k*wKeY#&dS{Ra>?X4}M`+P-*`A#tsM!Ous22p>X-=^l<7Bp#*0^6U z4YRf!<*U-n;D__6aSu9k(AJ)_*@$N(GwV4smG!hqgp)2#u+qGm4%}S~HcW2ia`E6| z%W`%!8@R+o1#D*!<%0iE%znW;?DsYDrKAD%S{(b?o7Bet|8) z(RQM8+O|6?uRsULkL*#Fj!IQFbCNe!;COqJ&$ix5y*SU4c8zZ~OgRBc!^aC1w-)9= zu;ve!7#oXTFNdj|#p?iD%Fkhk*Imw>6HHWgOr@}iT?GqhvsJN85zSMrWON`b!@nyv zNs(xQtb8&zEKxBgdeUMHMaN?70hpN`-JBnE=H#>ygwhunx4mHZ5Cm&T3+k6~rWPlQ zPW0S3m^twVaq)RK2n(m(SgCfiud!sfRcFi7EN|EOFSjyuQp=eR&RO4>gAk3hv7^u3 z5@el?hWRa8F|c6Oz=lhfEgdlHheoSbtJck8w^sHw&%>yfABPhTa0^AJe_{II+=XGv z_j0`h=KjT;)ab-8XxzSOx#`n~eD;k|#imcsEf^m58#*rc8ZG_X94m0xJUq<7aMN2n zFf=%@nDU@90Ry@tDVWi7u})!nujH3sx-`Fd@w6n7-{_x`TVS_Af#AtL(u#$JV#u3h z%0YW>kvr+s3g6xZMJo&v+sPgxiQgSMaIQ*>?yO)lh|<+qViyoZaJ$FFR3H-5t%40j zlstBx?9!ROs&OQda$fq}GRneqnzjT{ygS>*%N~Hk9fxi-H&>D;SzmMKhRf z5Zwf}k=eU6yC%vcNR$$_PNFQ+ewjs?IZ&;k+qz+CM59*V{zOG_zc*4EMQKN>s(47s zaX5T(=)j$3o$t*)r}T6@)rxO=;uf!1V9u;)bXJ$Uz$Mo)xM>OvbT&r?jTbgEtQUqi zw`#e8E0zzg7?>|P*nXf~vg)RsyR$^$V3aw^E>Lx0o8*IAoR&YsLq0VQR~z2I(5itI?%OZ<`|sS~(1Jy)2G(3NUhc)x#vb95D^*t_llf04R z3O{ej<3kA9uL$-8!PI7UDADk_B6UI>BZ92BY6yxmA0T9a&}3G5&_{P%O!I)>U?NZ4Qsc zraC3>6sMHI^4Tz@@h`kO<$HCwdL1?|Qf#k|g_@T4xTR%^h*7sKmZKzX3*6OiH@TXb z#4Z+tkYJ}o#&(feVso#lVs)c1>i2hT+)}D-?eY9#iAx7_BW_x!=$=$~Cf>_)!4V^| zOJk)SttTR^HpJ47*3)T6U1G-oyzo4!Wp)TOXDfYzTV!NcVk5K}qNyF=l0xveq z=2K5G#xxWPeuev z=UQ@|mAD=R#cP~Jn<5EwvhBLgwOu-=Bw2eNVl-KHeP@0}_$VmORPc}{vvylXRK42H z(e-X~7*82S?rb0&JLq?c-`U8@qExB1ni2PmMXbnCAr*>#l`0zoty(H=3w>+t`=YKu z?G3KW4>ET}Z>Ahr^F-rN1UbSEKLJj>ZBny@9TzV${-!(M_gq_{|@Xz^c0l8abSwDcm!3l=;) zf3g|7C4gJW1U@ZJSeNkJfO|rYHj3`eqMqJW>$+3a*v*+1qkottb;c5l33mFnlWA;T zJH~+>FAbQm*#|^#Dsxv>TlPf9E`ma@rs^nYys+JDs_ks*ou({BnhMXDieb0|VSGDf zsmz`lF^sW@u>PkiF9`ZyzXFO_1!dVlJUh&Gb)0xzI3C(X&A6kV%U)|xWd_nVCl zMTEhjsM=x@hg+Ru)5+~Yw$2`$W=Z8XRkxXAp?WTgcK7El+CFm86k%s5| z)QRJX;V~^$+v^gK%`DLbx9Ugu62F1*Xoq;DRsAF2nNGVt-E0Wq2|U-!`;ZSZLDwlmC-s;tMSp=_M4F%oFN8fi6ACHSyf zW9sVENhJrNJo_H47kDJwUd-}(^=kI!`N3j-4JQ|D$ohkagR{>)_uN@$&pNkjg|E}d z{L%&$&o69^Hu9^g{a)AdWvlXw^q7Z4c^wA!d%UBao1Zm1KYOk>>+Jryv(K2tqgx2` zEBq}bW$x&db$-^_`B~?Zq<_|&GiH&pOIz~%s(PW);E83GrTZE^#pM)o1v5*%SYl{B zkC&wix{wDB)p8%x>iHzAjJ8;vR+`p0K}HD#i<2E3 zu6g5ZjNwAX8XnCNk;$iAh?h2vv8ZbSXJSoW`1(2_>rbX_l#nlvdpN*u8n(!M;=Msj zSnkU`7*#;T#l$r&o#>5EJUH$rtrsL8s??%;443M|tx|Jh7bo@kU{NGX3Y{rb>m><_ z=8Z4E_}-l?PxVNb{~a)`*>Vmg%* zH`u!)aYhdlA8)48238M>QTM^@!E~EAr&(4H-2ByzRZnF0P#up~u-)n*7O$aH%k_NB z=)n}<(dwar{&Rw1%pMr}P{SQ8j6w~IYcl;Ow1JSG_r#_vn#tT;t8a z%#K2j<0*p6I&)gD^7ZtlVr?W)8BsGvT6>C#UG6?UT`sC4L0N52rA=}u%J>5VauWX< zlL`|LH>p0)c!FXLCy2SVg^{qxG?8sx!5rR3Vt~r{)cuhbBc^M~*kNuE;aC`GGz#14 zH1WZ^+(OA&Fxbkij)odUr}>WQgw>JQSg>Yb#j3%TD+iWx3v-IM*xynwa6LHjplaR8 zYNNf~?R>$lSK_@hQ%p>%cHzc0k?D&LSf|f4HMmRSn#{#cDutwHHv{R&9)DznTQ-y1 zNQuQYpLQ+Vo>5PA6LT;l0wvpVVozvHU)^n%bltR~#p@6j4V_*@#1%452V)bv=n687 zs>jb=T_bm<<)I;`TSfqEPq|Jr%1}#cz+}mT)Mibw)u~M91TLiVh zq@Cr!n*l%1FoZ0085{7`Ud;}KojZ{kY}Mg<7>UiWX4$q~Kf42)S(?SU`mlyRuXjt8 z8Oz*oXidt5$YR(|5TOlCT*95WG%bQ2ywZAwg3C(CupjS*lS^-$i*7{BsCzYwU)g0w zN~QbetO9nIrlat6A`~w!YJ}Yv6VcKDdqUp6$=K6$LGSL=U)rk?D(EDmPp7KC0%=9X zbn0r8u@>mLJH~96VNU@a(7fN`xx3lRGK`zUD$V|OcNVU(c-Z|)bI@CG$Anp^wWklR zO4U7MI|~-JJ!T$*9Xm5?k(N294BNRDLO$4HH>(;!vRmHK#uoEI%QO7Zi?CS=j7E~3 zIlFsxD5V4OD;Z&vU9$5?l`+s})jWf&b9-2MzET-w6ft?rcTCW(Bt4oJc%+k9G-cJZ zy)%SkzErV8ouOelZf1zM3esK-^1%+nSXrT2nL5ZhvHtdi;V-F$bfykkk~!UVVo}pc z`{bwv%x)Jl+2u^$HXVwyiQ3!eFB5xvs%W$e8n>-iTLTTZw_woH#)^GGXxPPB!LXUq z=*ikx7VDf56h*dnf42Rpv=#O#+RV=2Mpa zoc+bd%fBE=VkU6R*}__}#Rlb>wFf5v8D*p>W3y(oeT~m+iDFbIyCKo4#?~=dC8@_C zm-ulY{NLj$C=R`drt~IU9sW(v(NPG^p*`b?$l+v+|g3~~hm8>;+H%&6P8x5X>H77G# zxg&=iQtv@Z({r%*2-o7KpF4HR(!Hz%vF;w5-4deTO|nUPRg$@cs%K0)yDKzGZ-tZ5 zPjgJCnDWJKG@tOyPgb&|pf z2!F6CJV%W3-l#it9Xlnc+#({rRG?cJbEoLY&Aqc#RrCghE@KXzOpXziWeQ6l-_Xa7 z>}-q^PG+iD{Zr?!an8)O71ucB>;f1*lQ%UEWdI*E+fj>m-dg1o!tFv~VC5)XZn8O$Ln<@ni)SuMZu6($efGDKo?5b|Ko6#4HXqp#D{)Za*2F zW4JxM(@QgAw-*qkGD}6tPu(XRb0$w~4!PSF#^K`ZzobN#wPUQ=V9flLoHRpL#OX$g z1aH5>i;=K*hr9*ry7(->$$v!`gIxKVks>6Hm@y`g>FD_OfKelHAYH76$IoT1O}Rdx zd4e0A9=g9hnGY-=86wmp?AQ}tr$oaOtz?wlmnMIn5+dLPQ z!`i|J#*tiEx>3$V1gl_|i>+0>i;D|J0Cz3n^$zhN){#N`?FqO>@DG$hb$;rW+2 zyCr~5Jg!Z+EhimnH?!@glatfMr;P9siLsy5vLwTRGPrDTmDQi%<4=;cto0~NQbB8m z9h0rr*>+5H(=WCUuPj+&L2q9V>G;rSSz^izjzwrx*>GuO=P!Ba<~^{v+*5KV<~=6o zZxe<_n0uPYSz{)S3U&U;`WZcEnGhT&&SQT@jW|=xK=h8+$}Awf+mQ3_28*asILAl)GmqBYU@eij|@p zAo_k{95d1C)yZJJ*fZy9$>8{in8+p`kLfM|WzmH~9;5?s4Ms}|7@l8{BX#i=Qx2C#b*h!r|Oh^G9AfBGN#7^#^LmZYPt{(36l4Yj;rWeG?jvh zveP|NR?>KtDRB`~9OK5w;oz(HmzjnP0>xFsE`tKH1SAVV~N#G!C?t1;Xv z`!g|4v0q&n7emAnnOVnK;u@}E=dScEE&f=~*oS}v?$FUTgHcyq=oo`sIzIuZO|WKG zvDo6qpB^%b*>{oV7|`&@IBG0)D<;U8-o_7*dAXQ8zlj~kq((O_+|hu6H9OcLMm;Q}W5h;0S^Q=Ms{!KtB&G^OpM0NYI)$|bwlC6brddS6 zo3-4^#7NO*9K3)r1}i9IN1kf4z(zO_ogsCG!fm83+)3F^sA@m+KsZrLUc_|_uE>&B zsu!EB_`7MEmrX;M`weG9>?rky6>0a`l;MR}&e`K6`JQ%5N#|SMMoJlhEutv#jxf5(6 zyyP2Sdezdn&KWH=PobA2x#e#UXv#A-%l4*;F)=w(yJ;ttB@LYY>`fySqv4umt5yu8 zndF4eW2u03bx;-4{oB>Y>t!|OhGxB%UJ*Ybk1wrRvZAH2WmEjod6sFjMvE#l5!ON} zNw|7SA~nCY&0M?rvajbL$-KCWgcxMfr_t18M?Lrqo`*}fBfICc$dd&H@A;zKJJD;Q z&sM^|ho`{7G8+eTfomUMTFG+w+lZD%kr+FZ2h>bcsx5y@UPjS&D;xGoGe4R2R-7z8 zHEXTFfM~A6CS7sz=Y_2ObUbyZiQTqsauLvZVQMF1^9Yp1PqdA5Qxf(8ZZGENSoQ|r zc4KC&D810inrHv|yTy~5S;uMI>5a3qj>j17bPvEi8EHF1>jX`3_!FAJcCxfK@4B6- zwcpv+I(k;BXXt5@Yx6A1ns;C@v4O!Yvi(GE{O<-*e)EofgPWz5uuk{fU=NPv-OABl zIq+M{YXz7?G{s}&q;ZtbSnu6k8C#QOj3vqltX>Vf*x(xDYxCAV6d~mr+v~Q_EOTn_ zzsmF)JLEmGy-tf5%WRf{p*63mSIqXBGq8BYnEEy6BTy2h1R0uF%eLCQK24?#5NURG!kamM$?RWzcs`THE*q#IDJ^($t2s@iwrm$Q>hXbrgrVM zL3v@79jSU)O*1|J1;*KtkWHrzt+P|%9n7<72sagljJy)_?3f?}`)q_6H_(nz1STIH z{vJd2C=p329FFu6T40B(QTR{OhD2**GG%ryE|U(aCT`cI2bS8AskWiiUs6jhr`&on z5y&do8g5VQ3KsW;T3x3#+GiDmg_B(mIb&}7bSagMxi(=!wrd2o_)f%GujSSdB~9L;bx62OjfIljEo89!(TN2n%6&GORvKD6 z?=Wi(GqE#)8WV7nL3Vt4-9p_s73!KSOOk|V367S**lfC(;ENnfl3b;L*`%6gptJBjRpbl2jp`jIYcApTHTU`C$jMu7FBc}rxh z$K5Kz>qQIf9)W{}l#vt$J~5jJcg~!$qteFIyC9+~@aIc)pQ>;S&D+xl5y3m8P?3#M z`86%7N3lVy49!iLZ3YQQ{{yAY6evxwaY~-52U)t%ASXINP()XbErq%9OuyV}GcG~; zf$4da#=bSwT!Q%9C|u^wG+o-?Z#q!&;#}A1Cf2C& zzw%;;M|)C2ioUUcQ! zMt@xgxgN{1Usm!it0<6UdQ}tK9mrZeHXpJybCKzAb9NIu)_{l9-A*zejF nY2xQe=wo6e4x3D7_3b5FS-IL6)BXg@hBdmMOzqi*w=wpgIvO-* literal 39811 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 pLgLGQbT\n" "Language-Team: Vincent Renardias \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" msgstr "Avertissement: le groupe %s est inconnu\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" msgstr "Avertissement: trop de groupes\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "Votre mot de passe a expiré." +msgstr "Votre mot de passe a expiré." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "Votre mot de passe est désactivé." +msgstr "Votre mot de passe est désactivé." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "Votre compte a expiré." +msgstr "Votre compte a expiré." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " Contactez l'administrateur système.\n" +msgstr " Contactez l'administrateur système.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" msgstr " Choisissez un nouveau mot de passe.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" msgstr "Votre mot de passe expirera dans %ld jours.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" msgstr "Votre mot de passe expirera demain.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" msgstr "Votre mot de passe expirera aujourd'hui.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" msgstr "Impossible de changer le tty %s" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "Dépassement de l'environnement\n" +msgstr "Dépassement de l'environnement\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" msgstr "Vous ne pouvez pas changer $%s\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" -msgstr "%d %s depuis la dernière connexion. La dernière fut le %s sur %s.\n" +msgstr "%d %s depuis la dernière connexion. La dernière fut le %s sur %s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" -msgstr "échecs" +msgstr "échecs" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" -msgstr "échec" +msgstr "échec" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" msgstr "Trop de connexions.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "Le mot de passe ne décrypte pas le clé secréte pour %s.\n" +msgstr "Le mot de passe ne décrypte pas le clé secréte pour %s.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" msgstr "" -"Impossible de changer la clé secréte de %s : le daemon keyserv fonctionne-t-" +"Impossible de changer la clé secréte de %s: le daemon keyserv fonctionne-t-" "il?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." msgstr "Vous avez des nouveaux messages." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." msgstr "Pas de courier." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." msgstr "Vous avez du courier." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " msgstr "Mauvais mot de passe: %s. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "passwd: échec de pam_start(), erreur %d\n" +msgstr "passwd: échec de pam_start(), erreur %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" msgstr "passwd: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" msgstr "Impossible d'aller dans \"%s\"\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" -msgstr "Pas de répertoire, connexion avec HOME=/" +msgstr "Pas de répertoire, connexion avec HOME=/" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "Exécution du shell %s\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" -msgstr "Impossible d'exécuter %s" +msgstr "Impossible d'exécuter %s" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" -msgstr "Répertoire root \"%s\" non valide\n" +msgstr "Répertoire root \"%s\" non valide\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" -msgstr "Impossible de changer le répertoire racine en \"%s\"\n" +msgstr "Impossible de changer le répertoire racine en \"%s\"\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" -msgstr "échec de malloc(%d)\n" +msgstr "échec de malloc(%d)\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "Mot de passe dialup : " - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" msgstr "Impossible d'allouer l'espace pour l'information sur la conf.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -"erreur de configuration - élément '%s' inconnu (avertissez " +"erreur de configuration - élément '%s' inconnu (avertissez " "l'administrateur)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "erreur - échec de la recherche de '%s'\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s non trouvé\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " msgstr "Mot de passe: " @@ -206,7 +180,7 @@ msgstr "Mot de passe: " msgid "%s's Password: " msgstr "Mot de passe de %s: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "" @@ -215,204 +189,167 @@ msgstr "" msgid "Unknown error %d" msgstr "Erreur %d inconnue" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"Usage: %s [-l] [-m min_jourss] [-M max_jours] [-W avertissement]\n" -"\t[-I inactif] [-E expire] [-d dernier_jour] utilisateur\n" +"Usage: chage [-l] [-m min_jourss] [-M max_jours] [-W avertissement]\n" +" [-I inactif] [-E expire] [-d dernier_jour] utilisateur\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" -"Usage: %s [-l] [-m min_jours] [-M max_jours] [-d dernier_jour] utilisateur\n" - -#: src/chage.c:157 +#: src/chage.c:152 #, fuzzy msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"Entrez la nouvelle valeur ou tapes Entrée pour la valeur par défaut\n" +"Entrez la nouvelle valeur ou tapes Entrée pour la valeur par défaut\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" msgstr "Age minimum du mot de passe" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" msgstr "Age maximum du mot de passe" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" msgstr "Dernier changement de mot de passe (YYYY-MM-DD)" -#: src/chage.c:183 +#: src/chage.c:177 msgid "Password Expiration Warning" msgstr "Avertissement d'expiration de mot de passe" -#: src/chage.c:189 +#: src/chage.c:183 msgid "Password Inactive" -msgstr "Mot de passe désactivé" +msgstr "Mot de passe désactivé" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Date d'expiration du compte (YYYY-MM-DD)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" msgstr "Minimum :\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" msgstr "Maximum :\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" msgstr "Avertissement :\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" -msgstr "Désactivé :\t%ld\n" +msgstr "Désactivé :\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" msgstr "Dernier changement :\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" msgstr "Jamais\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" msgstr "Expiration du mot de passe :\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "Mot de passe désactivé:\t" +msgstr "Mot de passe désactivé:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" msgstr "Expiration du mot de passe:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s : ne pas include \"l\" avec les autres drapeaux\n" +msgstr "%s: ne pas include \"l\" avec les autres drapeaux\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s : permission refusée\n" +msgstr "%s: permission refusée\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, fuzzy, c-format msgid "%s: PAM authentication failed\n" -msgstr "%s : erreur lors de l'ajout de la méthode d'authentification\n" +msgstr "%s: erreur lors de l'ajout de la méthode d'authentification\n" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: impossible de vérouiller de fichier de mots de passe\n" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" msgstr "%s: impossible d'ouvrir le fichier de mots de passe\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" msgstr "%s: utilisateur inconnu: %s\n" -#: src/chage.c:571 +#: src/chage.c:536 #, c-format msgid "%s: can't lock shadow password file" -msgstr "%s: impossible de vérouiller le fichier shadow password" +msgstr "%s: impossible de vérouiller le fichier shadow password" -#: src/chage.c:579 +#: src/chage.c:544 #, c-format msgid "%s: can't open shadow password file" -msgstr "%s : impossible d'ouvrir le fichier shadow password" +msgstr "%s: impossible d'ouvrir le fichier shadow password" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" msgstr "Changement des informations sur l'age pour %s\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s : erreur lors du changement des champs\n" +msgstr "%s: erreur lors du changement des champs\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" -msgstr "%s : impossible de mettre à jour le fichier passwd\n" +msgstr "%s: impossible de mettre à jour le fichier passwd\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s : impossible de mettre à jour le fichier shadow password\n" +msgstr "%s: impossible de mettre à jour le fichier shadow password\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" -msgstr "Erreur durant la mise à jour de l'entrée du mot de passe DBM.\n" +msgstr "Erreur durant la mise à jour de l'entrée du mot de passe DBM.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "%s : impossible de re-écrire le fichier shadow password\n" +msgstr "%s: impossible de re-écrire le fichier shadow password\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s : impossible de re-écrire le fichier password\n" +msgstr "%s: impossible de re-écrire le fichier password\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" -msgstr "%s: impossible de dévérouiller le fichier\n" +msgstr "%s: impossible de dévérouiller le fichier\n" -#: src/chfn.c:83 +#: src/chfn.c:84 #, c-format msgid "" "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n" @@ -421,282 +358,254 @@ msgstr "" "Usage: %s [-f nom_complet] [-r no_bureau] [-w tel_bureau]\n" "\t[-h tel_perso] [-o autre] [utilisateur]\n" -#: src/chfn.c:88 +#: src/chfn.c:89 #, c-format msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n" msgstr "Usage: %s [-f nom_complet] [-w no_bureau] [-h tel_bureau]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" -msgstr "Entrez la nouvelle valeur ou tapez Entrée pour le défaut\n" +msgstr "Entrez la nouvelle valeur ou tapez Entrée pour le défaut\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" msgstr "Nom complet" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\tNom complet : %s\n" +msgstr "\tNom complet: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" msgstr "No de bureau" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" -msgstr "\tNo de bureau : %s\n" +msgstr "\tNo de bureau: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" -msgstr "Téléphone travail" +msgstr "Téléphone travail" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" -msgstr "\tTéléphone travail : %s\n" +msgstr "\tTéléphone travail: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" -msgstr "Téléphone perso" +msgstr "Téléphone perso" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" -msgstr "\tTéléphone perso : %s\n" +msgstr "\tTéléphone perso: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" msgstr "Autre" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "%s: Permission refusée.\n" +msgstr "%s: Permission refusée.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" msgstr "%s: Utilisateur %s inconnu\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" -msgstr "%s: Impossible de déterminer votre nom d'utilisateur.\n" +msgstr "%s: Impossible de déterminer votre nom d'utilisateur.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, c-format msgid "%s: cannot change user `%s' on NIS client.\n" msgstr "%s: impossible de changer l'utilisateur `%' sur le client NIS.\n" -#: src/chfn.c:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, c-format msgid "%s: `%s' is the NIS master for this client.\n" -msgstr "%s: `%s' est le maître NIS pour ce client.\n" +msgstr "%s: `%s' est le maître NIS pour ce client.\n" -#: src/chfn.c:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" msgstr "Changement de l'information utilisateur pour %s\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s : nom non valide : \"%s\"\n" +msgstr "%s: nom non valide: \"%s\"\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "%s : no de bureau non valide : \"%s\"\n" +msgstr "%s: no de bureau non valide: \"%s\"\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "%s : téléphone du bureau non valide : \"%s\"\n" +msgstr "%s: téléphone du bureau non valide: \"%s\"\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s : téléphone perso non valide : \"%s\"\n" +msgstr "%s: téléphone perso non valide: \"%s\"\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s : \"%s\" contient des caractères non valide\n" +msgstr "%s: \"%s\" contient des caractères non valide\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" msgstr "%s: champs trop longs\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" msgstr "Impossible de changer l'ID en root.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" msgstr "" -"Impossible de vérouiller le fichier de mots de passe; essayez plus tard.\n" +"Impossible de vérouiller le fichier de mots de passe; essayez plus tard.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" msgstr "Impossible d'ouvrir le fichier de mots de passe.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: %s non trouvé dans /etc/passwd\n" +msgstr "%s: %s non trouvé dans /etc/passwd\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" -msgstr "Erreur durant la mise à jour du mot de passe.\n" +msgstr "Erreur durant la mise à jour du mot de passe.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" msgstr "Impossible de valider le changement de mot de passe.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" -msgstr "Impossible de dévérouiller le fichier de mots de passe.\n" +msgstr "Impossible de dévérouiller le fichier de mots de passe.\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 #, c-format -msgid "usage: %s [-e]\n" -msgstr "usage: %s [-e]\n" +msgid "Usage: %s [-e]\n" +msgstr "Usage: %s [-e]\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: impossible de vérouiller de fichier de mots de passe\n" + +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: impossible de vérouiller le fichier shadow\n" +msgstr "%s: impossible de vérouiller le fichier shadow\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" msgstr "%s: impossible d'ouvrir le fichier shadow\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" msgstr "%s: ligne %d: ligne trop longue\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" msgstr "%s: ligne %d: nouveau mot de passe manquant\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" msgstr "%s: ligne %d: utilisateur %s inconnu\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: ligne %d: impossible de mettre le mot de passe à jour\n" +msgstr "%s: ligne %d: impossible de mettre le mot de passe à jour\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: erreur détectée; changements ignorés\n" +msgstr "%s: erreur détectée; changements ignorés\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: erreur lors de la mise à jour du fichier shadow\n" +msgstr "%s: erreur lors de la mise à jour du fichier shadow\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: erreur lors de la mise à jour du fichier de mots de passe\n" +msgstr "%s: erreur lors de la mise à jour du fichier de mots de passe\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" msgstr "Usage: %s [-s shell] [nom]\n" -#: src/chsh.c:89 +#: src/chsh.c:90 #, fuzzy msgid "Enter the new value, or press return for the default\n" -msgstr "Entrez la nouvelle valeur ou tapez Entrée pour le défaut\n" +msgstr "Entrez la nouvelle valeur ou tapez Entrée pour le défaut\n" -#: src/chsh.c:90 +#: src/chsh.c:91 msgid "Login Shell" msgstr "Shell de login" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" msgstr "Vous ne pouvez pas changer le shell de %s.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" msgstr "Changement du shell de login pour %s\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: Entrée non valide : %s\n" +msgstr "%s: Entrée non valide: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" msgstr "%s n'est pas un shell valide.\n" -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "Usage: %s [-(a|d)] shell\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "Mot de passe shell : " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "Confirmez le mot de passe shell : " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s : Les mots de passe ne correspondent pas, essayez encore.\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: impossible de créer %s" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s : impossible d'ouvrir %s" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s : Shell %s non trouvé.\n" - #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "Usage : expiry {-f|-c}\n" +msgstr "Usage: expiry {-f|-c}\n" #: src/expiry.c:113 #, c-format msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: AVERTISSEMENT! Devrait être set-UID root!\n" +msgstr "%s: AVERTISSEMENT! Devrait être set-UID root!\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s : utilisateur inconnu\n" +msgstr "%s: utilisateur inconnu\n" #: src/faillog.c:77 #, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" -msgstr "usage: %s [-a|-u utilisateur] [-m max] [-r] [-t jours] [-l sec_ver]\n" +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "Usage: %s [-a|-u utilisateur] [-m max] [-r] [-t jours] [-l sec_ver]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format @@ -705,7 +614,7 @@ msgstr "Utilisateur %s inconnu\n" #: src/faillog.c:212 msgid "Username Failures Maximum Latest\n" -msgstr "Utilisateur Échecs Maximum Dernier\n" +msgstr "Utilisateur Échecs Maximum Dernier\n" #: src/faillog.c:229 #, c-format @@ -724,8 +633,8 @@ msgstr " [%lds verrou]" #: src/gpasswd.c:78 #, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "usage: %s [-r|-R] groupe\n" +msgid "Usage: %s [-r|-R] group\n" +msgstr "Usage: %s [-r|-R] groupe\n" #: src/gpasswd.c:79 #, c-format @@ -750,25 +659,25 @@ msgstr " %s [-M utilisateur,...] groupe\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s : utilisateur %s inconnu\n" +msgstr "%s: utilisateur %s inconnu\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "Permission refusée.\n" +msgstr "Permission refusée.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s : mots de passe shadow nécessaires pour -A\n" +msgstr "%s: mots de passe shadow nécessaires pour -A\n" #: src/gpasswd.c:294 msgid "Who are you?\n" -msgstr "Qui êtes vous?\n" +msgstr "Qui êtes vous?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "groupe inconnu : %s\n" +msgstr "groupe inconnu: %s\n" #: src/gpasswd.c:422 #, c-format @@ -783,19 +692,13 @@ msgstr "Retrait de l'utilisateur %s du groupe %s\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s : membre %s inconnu\n" +msgstr "%s: membre %s inconnu\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" -msgstr "%s : N'est pas un tty\n" +msgstr "%s: N'est pas un tty\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" @@ -803,203 +706,197 @@ msgstr "Changement du mot de passe pour le group %s\n" #: src/gpasswd.c:525 msgid "New Password: " -msgstr "Nouveau mot de passe : " +msgstr "Nouveau mot de passe: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "Nouveau mot de passe (à nouveau) : " +msgstr "Nouveau mot de passe (à nouveau): " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "Ils ne sont pas identiques; essayez à nouveau" +msgstr "Ils ne sont pas identiques; essayez à nouveau" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: Essayez à nouveau plus tard\n" +msgstr "%s: Essayez à nouveau plus tard\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s : impossible d'obtenir le verrou\n" +msgstr "%s: impossible d'obtenir le verrou\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s : impossible d'obtenir le verrou sur shadow\n" +msgstr "%s: impossible d'obtenir le verrou sur shadow\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s : impossible d'ouvrir le fichier\n" +msgstr "%s: impossible d'ouvrir le fichier\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s : impossible de mettre à jour l'entrée\n" +msgstr "%s: impossible de mettre à jour l'entrée\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s : impossible de mettre à jour l'entrée shadow\n" +msgstr "%s: impossible de mettre à jour l'entrée shadow\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s : impossible de re-écrire le fichier\n" +msgstr "%s: impossible de re-écrire le fichier\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s : impossible de re-écrire le fichier shadow\n" +msgstr "%s: impossible de re-écrire le fichier shadow\n" #: src/gpasswd.c:630 #, c-format msgid "%s: can't unlock file\n" -msgstr "%s : impossible de dévérouiller le fichier\n" +msgstr "%s: impossible de dévérouiller le fichier\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s : impossible de mettre à jours les fichiers DBM\n" +msgstr "%s: impossible de mettre à jours les fichiers DBM\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s : impossible de mettre à jours les fichiers DBM shadow\n" +msgstr "%s: impossible de mettre à jours les fichiers DBM shadow\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "usage: groupadd [-g gid [-o]] groupe\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "Usage: groupadd [-g gid [-o]] [-f] groupe\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s : erreur durant l'addition du nouveau groupe\n" +msgstr "%s: erreur durant l'addition du nouveau groupe\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s : impossible d'ajouter une nouvelle entrée pour le groupe dbm\n" +msgstr "%s: impossible d'ajouter une nouvelle entrée pour le groupe dbm\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" -msgstr "%s : le nom %s n'est pas unique\n" +msgstr "%s: le nom %s n'est pas unique\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" -msgstr "%s : l'uid %u n'est pas unique\n" +msgstr "%s: l'uid %u n'est pas unique\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s : impossible d'obtenir un gid unique\n" +msgstr "%s: impossible d'obtenir un gid unique\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "%s : %s n'est pas un nom de groupe valide\n" +msgstr "%s: %s n'est pas un nom de groupe valide\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s : groupe %s non valide\n" +msgstr "%s: groupe %s non valide\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" -msgstr "%s : -O requiert NAME=VALEUR\n" +msgstr "%s: -O requiert NAME=VALEUR\n" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s : impossible de re-écrire le fichier group\n" +msgstr "%s: impossible de re-écrire le fichier group\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s : impossible de re-écrire le fichier shadow group\n" +msgstr "%s: impossible de re-écrire le fichier shadow group\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" -msgstr "%s : impossible de vérouiller le fichier group\n" +msgstr "%s: impossible de vérouiller le fichier group\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" -msgstr "%s : impossible d'ouvrir le fichier group\n" +msgstr "%s: impossible d'ouvrir le fichier group\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s : impossible de vérouiller le fichier group\n" +msgstr "%s: impossible de vérouiller le fichier group\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s : impossible d'ouvrir le fichier shadow group\n" +msgstr "%s: impossible d'ouvrir le fichier shadow group\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" -msgstr "%s : le groupe %s existe\n" +msgstr "%s: le groupe %s existe\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "usage: groupdel groupe\n" +#: src/groupdel.c:88 +msgid "Usage: groupdel group\n" +msgstr "Usage: groupdel groupe\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" -msgstr "%s : erreur lors de retrait de l'entrée du groupe\n" +msgstr "%s: erreur lors de retrait de l'entrée du groupe\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" -msgstr "%s : erreur lors du retrait de l'entrée dbm du groupe\n" +msgstr "%s: erreur lors du retrait de l'entrée dbm du groupe\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s : erreur lors du retrait de l'entrée shadow du groupe\n" +msgstr "%s: erreur lors du retrait de l'entrée shadow du groupe\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" -msgstr "%s : erreur lors du retrait de l'entrée dbm shadow du groupe\n" +msgstr "%s: erreur lors du retrait de l'entrée dbm shadow du groupe\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "%s : impossible d'enlever l'utilisateur de son groupe primaire.\n" +msgstr "%s: impossible d'enlever l'utilisateur de son groupe primaire.\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" -msgstr "%s : le groupe %s n'existe pas\n" +msgstr "%s: le groupe %s n'existe pas\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" -msgstr "%s : le groupe %s est un groupe NIS\n" +msgstr "%s: le groupe %s est un groupe NIS\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s : %s est le maître NIS\n" +msgstr "%s: %s est le maître NIS\n" #: src/groupmems.c:95 msgid "Member already exists\n" @@ -1010,7 +907,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1027,7 +924,7 @@ msgstr "" #: src/groupmems.c:215 msgid "Unable to lock group file\n" -msgstr "Impossible de vérouiller le fichier group\n" +msgstr "Impossible de vérouiller le fichier group\n" #: src/groupmems.c:220 msgid "Unable to open group file\n" @@ -1037,29 +934,29 @@ msgstr "Impossible d'ouvrir le fichier group\n" msgid "Cannot close group file\n" msgstr "Impossible d'ouvrir le fichier group\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "usage : groupmod [-g gid [-o]] [-n nom] groupe\n" +#: src/groupmod.c:104 +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "Usage: groupmod [-g gid [-o]] [-n nom] groupe\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, c-format msgid "%s: %s not found in /etc/group\n" -msgstr "%s : %s non trouvé dans /etc/group\n" +msgstr "%s: %s non trouvé dans /etc/group\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s : impossible d'ajouter une nouvelle entrée dbm shadow group\n" +msgstr "%s: impossible d'ajouter une nouvelle entrée dbm shadow group\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" msgstr "%s: %u n'est pas un gid unique\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s : %s n'est pas un nom unique\n" +msgstr "%s: %s n'est pas un nom unique\n" #: src/groups.c:59 #, c-format @@ -1088,21 +985,17 @@ msgstr "" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, c-format msgid "%s: cannot lock file %s\n" -msgstr "%s : impossible de vérouiller le fichier %s\n" +msgstr "%s: impossible de vérouiller le fichier %s\n" #: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s : impossible d'ouvrir le fichier %s\n" +msgstr "%s: impossible d'ouvrir le fichier %s\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "entrée dans le fichier group non valide\n" +msgstr "entrée dans le fichier group non valide\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 @@ -1111,13 +1004,9 @@ msgstr "entr msgid "delete line `%s'? " msgstr "effacer la ligne `%s'? " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" -msgstr "entrée de groupe dupliquée\n" +msgstr "entrée de groupe dupliquée\n" #: src/grpck.c:391 #, c-format @@ -1127,37 +1016,29 @@ msgstr "nom de groupe `%s' non valide\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "groupe %s : pas d'utilisateur %s\n" +msgstr "groupe %s: pas d'utilisateur %s\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " msgstr "effacer le membre `%s'? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "entrée non valide dans le fichier shadow group\n" +msgstr "entrée non valide dans le fichier shadow group\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" -msgstr "entrée dupliquée dans le fichier shadow group\n" +msgstr "entrée dupliquée dans le fichier shadow group\n" #: src/grpck.c:537 msgid "no matching group file entry\n" -msgstr "aucune entrée dans le fichier group correspondante\n" +msgstr "aucune entrée dans le fichier group correspondante\n" #: src/grpck.c:558 #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "groupe shadow %s : aucun administrateur %s\n" +msgstr "groupe shadow %s: aucun administrateur %s\n" #: src/grpck.c:560 #, c-format @@ -1167,228 +1048,215 @@ msgstr "effacer le membre administrateur `%s' ?" #: src/grpck.c:588 #, c-format msgid "shadow group %s: no user %s\n" -msgstr "groupe shadow %s : aucun utilisateur %s\n" +msgstr "groupe shadow %s: aucun utilisateur %s\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format msgid "%s: cannot update file %s\n" -msgstr "%s : impossible de mettre à jour le fichier %s\n" +msgstr "%s: impossible de mettre à jour le fichier %s\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s : les fichiers ont été mis à jour; exécutez mkpasswd\n" +msgstr "%s: les fichiers ont été mis à jour; exécutez mkpasswd\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 -#, c-format +#, fuzzy, c-format msgid "%s: no changes\n" -msgstr "" +msgstr "%s: erreur lors du changement des champs\n" #: src/grpck.c:651 src/pwck.c:616 -#, c-format +#, fuzzy, c-format msgid "%s: the files have been updated\n" -msgstr "" +msgstr "%s: les fichiers ont été mis à jour; exécutez mkpasswd\n" #: src/grpconv.c:60 src/grpunconv.c:56 -#, c-format +#, fuzzy, c-format msgid "%s: can't lock group file\n" -msgstr "" +msgstr "%s: impossible de dévérouiller le fichier\n" #: src/grpconv.c:65 src/grpunconv.c:61 -#, c-format +#, fuzzy, c-format msgid "%s: can't open group file\n" -msgstr "" +msgstr "%s: impossible d'ouvrir le fichier group\n" #: src/grpconv.c:70 src/grpunconv.c:66 -#, c-format +#, fuzzy, c-format msgid "%s: can't lock shadow group file\n" -msgstr "" +msgstr "%s: impossible de vérouiller le fichier shadow\n" #: src/grpconv.c:76 src/grpunconv.c:72 -#, c-format +#, fuzzy, c-format msgid "%s: can't open shadow group file\n" -msgstr "" +msgstr "%s: impossible d'ouvrir le fichier shadow group\n" #: src/grpconv.c:94 -#, c-format +#, fuzzy, c-format msgid "%s: can't remove shadow group %s\n" -msgstr "" +msgstr "%s: impossible d'enlever l'entrée shadow pour %s\n" -#: src/grpconv.c:138 src/pwconv.c:153 -#, c-format +#: src/grpconv.c:133 src/pwconv.c:154 +#, fuzzy, c-format msgid "%s: can't update shadow entry for %s\n" -msgstr "" +msgstr "%s: impossible de mettre à jour l'entrée shadow\n" -#: src/grpconv.c:148 src/grpunconv.c:91 -#, c-format +#: src/grpconv.c:143 src/grpunconv.c:91 +#, fuzzy, c-format msgid "%s: can't update entry for group %s\n" -msgstr "" +msgstr "%s: impossible de mettre à jour l'entrée %s\n" -#: src/grpconv.c:155 src/grpunconv.c:99 -#, c-format +#: src/grpconv.c:150 src/grpunconv.c:99 +#, fuzzy, c-format msgid "%s: can't update shadow group file\n" -msgstr "" +msgstr "%s: impossible de mettre à jour le fichier shadow\n" -#: src/grpconv.c:160 src/grpunconv.c:105 -#, c-format +#: src/grpconv.c:155 src/grpunconv.c:105 +#, fuzzy, c-format msgid "%s: can't update group file\n" -msgstr "" - -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "" +msgstr "%s: impossible de mettre à jour le fichier passwd\n" #: src/grpunconv.c:110 -#, c-format +#, fuzzy, c-format msgid "%s: can't delete shadow group file\n" -msgstr "" +msgstr "%s: impossible de re-écrire le fichier shadow group\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "Usage : id [-a]\n" +msgid "Usage: id [-a]\n" +msgstr "Usage: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "Usage : id\n" +msgid "Usage: id\n" +msgstr "Usage: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" msgstr " groupes=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 msgid "Username Port From Latest\n" -msgstr "Utilisateur Port Venant de Dernière\n" +msgstr "Utilisateur Port Venant de Dernière\n" #: src/lastlog.c:183 msgid "Username Port Latest\n" -msgstr "Utilisateur Port Dernière\n" +msgstr "Utilisateur Port Dernière\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" -msgstr "**Jamais connecté**" +msgstr "**Jamais connecté**" -#: src/login.c:185 +#: src/login.c:175 #, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "Usage : %s [-p] [nom]\n" +msgid "Usage: %s [-p] [name]\n" +msgstr "Usage: %s [-p] [nom]\n" -#: src/login.c:188 +#: src/login.c:178 #, c-format msgid " %s [-p] [-h host] [-f name]\n" -msgstr " %s [-p] [-h hôte] [-f nom]\n" +msgstr " %s [-p] [-h hôte] [-f nom]\n" -#: src/login.c:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r hôte\n" +msgstr " %s [-p] -r hôte\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" msgstr "Heure de connexion non valide\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" "\n" -"Système fermé pour maintenance\n" +"Système fermé pour maintenance\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[Disconnexion court-circuitée -- login root authorisé.]\n" +"[Disconnexion court-circuitée -- login root authorisé.]\n" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" "\n" -"Tentative de connexion: délai de %s secondes dépassé.\n" +"Tentative de connexion: délai de %d secondes dépassé.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" -msgstr " sur `%.100s' à partir de `%.200s'" +msgstr " sur `%.100s' à partir de `%.200s'" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" msgstr " sur `%.100s'" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" "%s login: " msgstr "" "\n" -"% login: " +"%s login: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " msgstr "login: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" msgstr "Login incorrect" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" -msgstr "Avertissement: login réactivé après une désactivation temporaire.\n" +msgstr "Avertissement: login réactivé après une désactivation temporaire.\n" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" -msgstr "Dernière connexion : le %s sur %s" +msgstr "Dernière connexion: le %s sur %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" -msgstr "Dernière connexion : le %.19s sur %s" +msgstr "Dernière connexion: le %.19s sur %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" -msgstr " à partir de %.*s" +msgstr " à partir de %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" -msgstr "Démarrage de rad_login\n" +msgstr "Démarrage de rad_login\n" #: src/mkpasswd.c:47 #, c-format msgid "%s: no DBM database on system - no action performed\n" -msgstr "%s : pas de base de données DBM sur le système - aucune action prise\n" +msgstr "%s: pas de base de données DBM sur le système - aucune action prise\n" #: src/mkpasswd.c:232 src/mkpasswd.c:237 #, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "%s : impossible d'écraser le fichier %s\n" +msgstr "%s: impossible d'écraser le fichier %s\n" #: src/mkpasswd.c:252 #, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "%s : impossible d'ouvrir les fichiers DBM pour %s\n" +msgstr "%s: impossible d'ouvrir les fichiers DBM pour %s\n" #: src/mkpasswd.c:287 #, c-format @@ -1402,7 +1270,7 @@ msgstr " champs trop longs\n" #: src/mkpasswd.c:315 #, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "%s : erreur lors l'analyse de la ligne \"%s\"\n" +msgstr "%s: erreur lors l'analyse de la ligne \"%s\"\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " @@ -1414,19 +1282,19 @@ msgid "\n" msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 -#, c-format +#, fuzzy, c-format msgid "%s: error adding record for " -msgstr "" +msgstr "%s: erreur lors de l'ajout de la nouvelle entrée\n" #: src/mkpasswd.c:378 #, c-format msgid "added %d entries, longest was %d\n" -msgstr "%d entrées ajoutées, la plus longue fut %d\n" +msgstr "%d entrées ajoutées, la plus longue fut %d\n" #: src/mkpasswd.c:392 #, c-format msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n" -msgstr "Usage : %s [-vf ] [-p|g|sp|sg] fichier\n" +msgstr "Usage: %s [-vf] [-p|g|sp|sg] fichier\n" #: src/mkpasswd.c:395 #, c-format @@ -1436,235 +1304,202 @@ msgstr "Usage: %s [-vf] [-p|g|sp] fichier\n" #: src/mkpasswd.c:398 #, c-format msgid "Usage: %s [-vf] [-p|g] file\n" -msgstr "Usage : %s [-vf] [-p|g] fichier\n" +msgstr "Usage: %s [-vf] [-p|g] fichier\n" #: src/newgrp.c:61 -msgid "usage: newgrp [-] [group]\n" +msgid "Usage: newgrp [-] [group]\n" msgstr "Usage: newgrp [-] [groupe]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" +msgid "Usage: sg group [[-c] command]\n" msgstr "Usage: sg groupe [[-c] commande]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" msgstr "uid inconnue: %u\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" msgstr "gid inconnu: %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" -msgstr "Désolé ;-)\n" +msgstr "Désolé.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" msgstr "trop de groupes\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "Usage: %s [entrée]\n" +msgstr "Usage: %s [entrée]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s : impossible de vérouiller /etc/passwd.\n" +msgstr "%s: impossible de vérouiller /etc/passwd.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s : impossible de vérouiller les fichiers, essayez plus tard\n" +msgstr "%s: impossible de vérouiller les fichiers, essayez plus tard\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s : impossible d'ouvrir les fichiers\n" +msgstr "%s: impossible d'ouvrir les fichiers\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: ligne %d: ligne non valide\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s : ligne %d : ligne non valide\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s : ligne %d : impossible de créer le GID\n" +msgstr "%s: ligne %d: impossible de créer le GID\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s : ligne %d : impossible de créer le GID\n" +msgstr "%s: ligne %d: impossible de créer le GID\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s : ligne %d : impossible de trouver l'utilisateur %s\n" +msgstr "%s: ligne %d: impossible de trouver l'utilisateur %s\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s : ligne %d : impossible de mettre le mot de passe à jour\n" +msgstr "%s: ligne %d: impossible de mettre le mot de passe à jour\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s : ligne %d : échec de mkdir\n" +msgstr "%s: ligne %d: échec de mkdir\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s : ligne %d : échec de chown\n" +msgstr "%s: ligne %d: échec de chown\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s : ligne %d : impossible de mettre l'entrée à jour\n" +msgstr "%s: ligne %d: impossible de mettre l'entrée à jour\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s : erreur lors de la mise à jour des fichiers\n" +msgstr "%s: erreur lors de la mise à jour des fichiers\n" -#: src/passwd.c:174 +#: src/passwd.c:155 #, c-format -msgid "usage: %s [-f|-s] [name]\n" +msgid "Usage: %s [-f|-s] [name]\n" msgstr "Usage: %s [-f|-s] [nom]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, c-format msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" msgstr " %s [-x max] [-n min] [-w avert] [-i inact] nom\n" -#: src/passwd.c:180 +#: src/passwd.c:161 #, c-format msgid " %s {-l|-u|-d|-S|-e} name\n" msgstr " %s {-l|-u|-d|-S|-e} nom\n" -#: src/passwd.c:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "" -"L'utilisateur %s a une clé TCFS, son ancien mot de passe est nécessaire.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "Vous pouvez utiliser l'option -t pour forcer le changement.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "Ancien mot de passe : " +msgstr "Ancien mot de passe: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" msgstr "Mot de passe incorrect pour `%s'\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "Avertissement : l'utilisateur %s a une clé TCFS.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" "Entrez le nouveau mot de passe (minimum de %d, maximum de %d\n" -"caractères). Utilisez une combinaison de lettres en majuscule/minuscule\n" +"caractères). Utilisez une combinaison de lettres en majuscule/minuscule\n" "et de nombres.\n" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "Nouveau mot de passe : " +msgstr "Nouveau mot de passe: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" msgstr "Essaye encore...\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" "\n" -"Avertissement : mot de passe simpliste (tapez le à nouveau pour l'utiliser\n" -"quand même).\n" +"Avertissement: mot de passe simpliste (tapez le à nouveau pour l'utiliser\n" +"quand même).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" msgstr "Ils ne sont pas identique; essaye encore...\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "Le mot de passe pour %s ne peut être changé.\n" +msgstr "Le mot de passe pour %s ne peut être changé.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "Désolé, le mot de passe pour %s ne peux pas encore être changé.\n" +msgstr "Désolé, le mot de passe pour %s ne peux pas encore être changé.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s : plus de mémoire\n" +msgstr "%s: plus de mémoire\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "" -"Impossible de vérouiller la base de données de clés TCFS; essayez à\n" -"nouveau plus tard\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "Impossible d'ouvrir la base de clés TCFS.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "Erreur lors de la mise à jour de la base de clés TCFS.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "Impossible de valider les changements TCFS.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" -msgstr "%s : Impossible d'exécuter %s" +msgstr "%s: Impossible d'exécuter %s" -#: src/passwd.c:1077 -#, c-format +#: src/passwd.c:815 +#, fuzzy, c-format msgid "%s: repository %s not supported\n" -msgstr "" +msgstr "utilisateur %s: le répertoire %s n'existe pas\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s : Permission refusée\n" +msgstr "%s: Permission refusée\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" msgstr "Vous ne pouvez pas changer le mot de passe de %s.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" msgstr "Changement du mot de passe de %s\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "Le mot de passe pour %s est inchangé.\n" +msgstr "Le mot de passe pour %s est inchangé.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 msgid "Password changed.\n" -msgstr "Mot de passe changé.\n" +msgstr "Mot de passe changé.\n" #: src/pwck.c:87 #, c-format @@ -1676,30 +1511,19 @@ msgstr "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" msgstr "Usage: %s [-q] [-r] [-s] [passwd]\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "entrée non valide dans le fichier password\n" +msgstr "entrée non valide dans le fichier password\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "entrée dupliquée dans password\n" +msgstr "entrée dupliquée dans password\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" msgstr "nom d'utilisateur '%s' non valide\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" @@ -1708,116 +1532,95 @@ msgstr "utilisateur %s: aucun groupe %u\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "utilisateur %s : le répertoire %s n'existe pas\n" +msgstr "utilisateur %s: le répertoire %s n'existe pas\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "utilisateur %s : le programme %s n'existe pas\n" +msgstr "utilisateur %s: le programme %s n'existe pas\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "entrée shadow password non valide\n" +msgstr "entrée shadow password non valide\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "entrée shadow password dupliquée\n" +msgstr "entrée shadow password dupliquée\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" -msgstr "aucune entrée correspondante dans le fichier password\n" +msgstr "aucune entrée correspondante dans le fichier password\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" msgstr "" -"utilisateur %s : date du dernier changement de mot de passe dans le futur\n" +"utilisateur %s: date du dernier changement de mot de passe dans le futur\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: src/pwconv.c:85 src/pwunconv.c:79 #, c-format msgid "%s: can't lock passwd file\n" -msgstr "%s : impossible de vérouiller le fichier passwd\n" +msgstr "%s: impossible de vérouiller le fichier passwd\n" -#: src/pwconv.c:89 src/pwunconv.c:98 +#: src/pwconv.c:90 src/pwunconv.c:84 #, c-format msgid "%s: can't open passwd file\n" -msgstr "%s : impossible d'ouvrir le fichier passwd\n" +msgstr "%s: impossible d'ouvrir le fichier passwd\n" -#: src/pwconv.c:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s : impossible d'enlever l'entrée shadow pour %s\n" +msgstr "%s: impossible d'enlever l'entrée shadow pour %s\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s : impossible de mettre à jour le mot de passe de %s\n" +msgstr "%s: impossible de mettre à jour le mot de passe de %s\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s : impossible de mettre à jour le fichier shadow\n" +msgstr "%s: impossible de mettre à jour le fichier shadow\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s : impossible de mettre à jour le fichier passwd\n" +msgstr "%s: impossible de mettre à jour le fichier passwd\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s : Les mots de passe shadow ne sont pas configurés.\n" - -#: src/pwunconv.c:160 +#: src/pwunconv.c:124 #, c-format msgid "%s: can't update entry for user %s\n" -msgstr "%s : impossible de mettre à jour l'entrée %s\n" +msgstr "%s: impossible de mettre à jour l'entrée %s\n" -#: src/pwunconv.c:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s : impossible d'effacer le fichier shadow\n" +msgstr "%s: impossible d'effacer le fichier shadow\n" #: src/su.c:133 msgid "Sorry." -msgstr "Désolé ;-)" +msgstr "Désolé." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s : doit être lancé à partir d'un terminal\n" +msgstr "%s: doit être lancé à partir d'un terminal\n" #: src/su.c:306 #, c-format msgid "%s: pam_start: error %d\n" -msgstr "%s : pam_start : erreur %d\n" +msgstr "%s: pam_start: erreur %d\n" #: src/su.c:336 #, c-format msgid "Unknown id: %s\n" -msgstr "ID inconnue : %s\n" +msgstr "ID inconnue: %s\n" #: src/su.c:373 src/su.c:390 #, fuzzy, c-format msgid "You are not authorized to su %s\n" -msgstr "Vous n'êtes pas authorisés " +msgstr "Vous n'êtes pas authorisés " -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" msgstr "(Entrez votre propre mot de passe.)" @@ -1829,608 +1632,661 @@ msgid "" "(Ignored)\n" msgstr "" "%s: %s\n" -"(Ignoré)\n" +"(Ignoré)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" msgstr "Pas de shell\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" -msgstr "Accès à su à partir de ce compte REFUSÉ.\n" +msgstr "Accès à su à partir de ce compte REFUSÉ.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "Authentification par mot de passe court-circuitée.\n" +msgstr "Authentification par mot de passe court-circuitée.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" msgstr "Entrez VOTRE mot de passe comme identification.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" msgstr "Pas de fichier de mot de passe\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "Pas d'entrée pour le mot de passe de 'root'\n" +msgstr "Pas d'entrée pour le mot de passe de 'root'\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" "\n" -"Tapez control-d pour procéder au démarrage normal,\n" -"(ou donnez le mot de passe de root pour la maintenance) : " +"Tapez control-d pour procéder au démarrage normal,\n" +"(ou donnez le mot de passe de root pour la maintenance): " -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" -msgstr "Entrée du système en mode maintenance\n" +msgstr "Entrée du système en mode maintenance\n" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" -msgstr "%s : reconstruction de la base de données des groupes\n" +msgstr "%s: reconstruction de la base de données des groupes\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "%s : reconstruction de la base de données des groupes shadow\n" +msgstr "%s: reconstruction de la base de données des groupes shadow\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "%s : argument numérique `%s' non valide\n" +msgstr "%s: argument numérique `%s' non valide\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" -msgstr "%s : gid %s inconnu\n" +msgstr "%s: gid %s inconnu\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" -msgstr "%s : groupe %s inconnu\n" +msgstr "%s: groupe %s inconnu\n" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "group=%s,%u rép_base=%s skel=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "shell=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "inactif=%ld expire=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" msgstr "GROUP=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" msgstr "HOME=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" msgstr "INACTIVE=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" msgstr "EXPIRE=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" msgstr "SHELL=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "SKEL=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" -msgstr "%s : impossible de créer un nouveau fichier de défauts\n" +msgstr "%s: impossible de créer un nouveau fichier de défauts\n" -#: src/useradd.c:503 +#: src/useradd.c:467 #, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: impossible de créer un nouveau fichier de défauts\n" +msgstr "%s: impossible de créer un nouveau fichier de défauts\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" -msgstr "%s : rename : %s" +msgstr "%s: rename: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" -msgstr "%s : le groupe `%s' est un groupe NIS.\n" +msgstr "%s: le groupe `%s' est un groupe NIS.\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" -msgstr "%s : trop de groupes spécifiés (max %d).\n" +msgstr "%s: trop de groupes spécifiés (max %d).\n" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "Usage : %s\t[-u uid [-o]] [-g groupe] [-G groupe,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Usage: useradd [-u uid [-o]] [-g groupe] [-G groupe,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t[-d home] [-s shell] [-c commentaire] [-m [-k template]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "" +" [-d home] [-s shell] [-c commentaire] [-m [-k template]]\n" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " -msgstr "[-f inactif] [-e expire ] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f inactif] [-e expire]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A program] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g groupe] [-b base] [-s shell]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p mot-de-passe] nom\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s\t-D [-g groupe] [-b base] [-s shell]\n" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t[-f inactif] [-e expire ]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" -msgstr "%s : erreur lors du vérouillage du fichier de groupe\n" +msgstr "%s: erreur lors du vérouillage du fichier de groupe\n" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" -msgstr "%s : erreur lors d'ouverture du fichier de groupe\n" +msgstr "%s: erreur lors d'ouverture du fichier de groupe\n" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s : erreur lors du vérouillage du fichier shadow group\n" +msgstr "%s: erreur lors du vérouillage du fichier shadow group\n" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s : erreur lors de l'ouverture du fichier shadow group\n" +msgstr "%s: erreur lors de l'ouverture du fichier shadow group\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" msgstr "%s: l'uid %u n'est pas unique\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" -msgstr "%s : impossible d'obtenir un uid unique\n" +msgstr "%s: impossible d'obtenir un uid unique\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s : champs `%s' non valide\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s : répertoire de base non valide `%s'\n" +msgstr "%s: répertoire de base non valide `%s'\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s : commentaire `%s' non valide\n" +msgstr "%s: commentaire `%s' non valide\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s : répertoire personnel `%s' non valide\n" +msgstr "%s: répertoire personnel `%s' non valide\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s : date `%s' non valide\n" +msgstr "%s: date `%s' non valide\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "%s : mots de passe shadow nécessaires pour -e\n" +msgstr "%s: mots de passe shadow nécessaires pour -e\n" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "%s : mots de passe shadow nécessaires pour -f\n" +msgstr "%s: mots de passe shadow nécessaires pour -f\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: champs `%s' non valide\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s : shell `%s' non valide\n" +msgstr "%s: shell `%s' non valide\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" msgstr "%s: nom d'utilisateur `%s' non valide\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" -msgstr "%s : impossible de reécrire le fichier de mots de passe\n" +msgstr "%s: impossible de reécrire le fichier de mots de passe\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "%s : impossible de reécrire le fichier shadow\n" +msgstr "%s: impossible de reécrire le fichier shadow\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" -msgstr "%s : impossible de vérouiller le fichier de mots de passe\n" +msgstr "%s: impossible de vérouiller le fichier de mots de passe\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" -msgstr "%s : impossible d'ouvrir le fichier de mots de passe\n" +msgstr "%s: impossible d'ouvrir le fichier de mots de passe\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "%s : impossible de vérouiller le fichier de mots de passe\n" +msgstr "%s: impossible de vérouiller le fichier de mots de passe\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s : impossible d'ouvrir le fichier shadow\n" +msgstr "%s: impossible d'ouvrir le fichier shadow\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s : erreur lors de l'ajout de la méthode d'authentification\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" -msgstr "%s : erreur lors de l'ajout de la nouvelle entrée\n" +msgstr "%s: erreur lors de l'ajout de la nouvelle entrée\n" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" -msgstr "%s : erreur lors de la mise à jour de l'entrée dbm\n" +msgstr "%s: erreur lors de la mise à jour de l'entrée dbm\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s : erreur lors de l'ajout de la nouvelle entrée shadow\n" +msgstr "%s: erreur lors de l'ajout de la nouvelle entrée shadow\n" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" -msgstr "%s : erreur lors de la mise à jour de l'entrée shadow passwd dbm\n" +msgstr "%s: erreur lors de la mise à jour de l'entrée shadow passwd dbm\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" -msgstr "%s : impossible de créer le répertoire %s\n" +msgstr "%s: impossible de créer le répertoire %s\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" -msgstr "%s : l'utilisateur %s existe\n" +msgstr "%s: l'utilisateur %s existe\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" -msgstr "" -"%s : avertissement : CREATE_HOME non supporté, utilisez -m à la place.\n" +msgstr "%s: avertissement: CREATE_HOME non supporté, utilisez -m à la place.\n" -#: src/userdel.c:129 +#: src/userdel.c:124 #, c-format -msgid "usage: %s [-r] name\n" -msgstr "Usage : %s [-r] nom\n" +msgid "Usage: %s [-r] name\n" +msgstr "Usage: %s [-r] nom\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s : erreur lors de la mise à jour de l'entrée group\n" +msgstr "%s: erreur lors de la mise à jour de l'entrée group\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" -msgstr "%s : impossible de mettre à jour l'entrée dbm group\n" +msgstr "%s: impossible de mettre à jour l'entrée dbm group\n" -#: src/userdel.c:219 +#: src/userdel.c:214 #, c-format msgid "%s: cannot remove dbm group entry\n" -msgstr "%s: impossible de mettre à jour l'entrée dbm group\n" +msgstr "%s: impossible de mettre à jour l'entrée dbm group\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s : impossible de reécrire le fichier de clés TCFS\n" +msgid "%s: cannot open group file\n" +msgstr "%s: impossible d'ouvrir le fichier group\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s : impossible de vérouiller le fichier de clés TCFS\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s : impossible d'ouvrir le fichier de clés TCFS\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: impossible d'ouvrir le fichier shadow group\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s : impossible d'ouvrir le fichier group\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s : impossible d'ouvrir le fichier shadow group\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s : erreur lors de l'effacement de l'authentification\n" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s : erreur lors de la suppression de l'entrée dans /etc/passwd\n" +msgstr "%s: erreur lors de la suppression de l'entrée dans /etc/passwd\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s : erreur lors de la suppression de l'entrée dans /etc/shadow\n" +msgstr "%s: erreur lors de la suppression de l'entrée dans /etc/shadow\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s : erreur lors de l'effacement de l'entrée TCFS\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s : erreur lors de l'effacement de l'entrée dbm du mot de passe\n" +msgstr "%s: erreur lors de l'effacement de l'entrée dbm du mot de passe\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "%s : erreur lors de l'effacement de l'entrée shadow passwd dbm\n" +msgstr "%s: erreur lors de l'effacement de l'entrée shadow passwd dbm\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s : l'utilisateur %s est connecté\n" +msgstr "%s: l'utilisateur %s est connecté\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s : avertissement : %s n'appartient pas à %s, non enlevé\n" +msgstr "%s: avertissement: %s n'appartient pas à %s, non enlevé\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " -msgstr "%s : impossible d'enlever " +msgstr "%s: impossible d'enlever " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" -msgstr "%s : l'utilisateur %s n'existe pas\n" +msgstr "%s: l'utilisateur %s n'existe pas\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" -msgstr "%s : le compte %s est un compte NIS\n" +msgstr "%s: le compte %s est un compte NIS\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, c-format msgid "%s: %s not owned by %s, not removing\n" -msgstr "%s : %s n'appartient pas à %s, non enlevé\n" +msgstr "%s: %s n'appartient pas à %s, non enlevé\n" -#: src/userdel.c:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" msgstr "" -"%s : répertoire %s non enlevé (cela enléverait le répertoire personnel de %" +"%s: répertoire %s non enlevé (cela enléverait le répertoire personnel de %" "s)\n" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s : erreur lors de l'effacement du répertoire %s\n" +msgstr "%s: erreur lors de l'effacement du répertoire %s\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Usage: %s\t[-u uid [-o]] [-g groupe] [-G groupe,...] \n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" msgstr "\t\t[-d home [-m]] [-s shell] [-c commentaire] [-l nouveau_nom]\n" -#: src/usermod.c:332 -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DÉFAUT|programme},... ] " +#: src/usermod.c:313 +#, fuzzy +msgid "[-f inactive] [-e expire] " +msgstr "[-f inactif] [-e expire] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" msgstr "[-p mot-de-passe] [-L|-U] nom\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" -msgstr "%s : plus de mémoire pour update_group\n" +msgstr "%s: plus de mémoire pour update_group\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" -msgstr "%s : plus de mémoire pour update_gshadow\n" +msgstr "%s: plus de mémoire pour update_gshadow\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" -msgstr "%s : aucun drapeau donné\n" +msgstr "%s: aucun drapeau donné\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s : mots de passe shadow nécessaires pour -e ou -f\n" +msgstr "%s: mots de passe shadow nécessaires pour -e ou -f\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s : l'uid %lu n'est pas unique\n" +msgstr "%s: l'uid %lu n'est pas unique\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s : erreur lors de l'effacement de la méthode d'authentification\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s : erreur lors du changement de la méthode d'authentification\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s : erreur lors du changement de l'entrée dans /etc/passwd\n" +msgstr "%s: erreur lors du changement de l'entrée dans /etc/passwd\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s : erreur lors de l'effacement du mot de passe\n" +msgstr "%s: erreur lors de l'effacement du mot de passe\n" -#: src/usermod.c:1451 -#, c-format +#: src/usermod.c:1131 +#, fuzzy, c-format msgid "%s: error adding password dbm entry\n" -msgstr "" +msgstr "%s: erreur lors de la mise à jour de l'entrée dbm\n" -#: src/usermod.c:1459 -#, c-format +#: src/usermod.c:1139 +#, fuzzy, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "" +msgstr "%s: erreur lors de l'effacement du mot de passe\n" -#: src/usermod.c:1478 -#, c-format +#: src/usermod.c:1158 +#, fuzzy, c-format msgid "%s: error removing shadow password entry\n" -msgstr "" +msgstr "%s: erreur lors de l'effacement du mot de passe\n" -#: src/usermod.c:1495 -#, c-format +#: src/usermod.c:1175 +#, fuzzy, c-format msgid "%s: error removing shadow passwd dbm entry\n" -msgstr "" +msgstr "%s: erreur lors de l'effacement de l'entrée shadow passwd dbm\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s : le répertoire %s existe\n" +msgstr "%s: le répertoire %s existe\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" -msgstr "%s : impossible de créer %s\n" +msgstr "%s: impossible de créer %s\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s : impossible de changer le propriètaire de %s\n" +msgstr "%s: impossible de changer le propriètaire de %s\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" -msgstr "%s : impossible de renommer le répertoire %s en %s\n" +msgstr "%s: impossible de renommer le répertoire %s en %s\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" -msgstr "%s : avertissement : %s n'appartient pas à %s\n" +msgstr "%s: avertissement: %s n'appartient pas à %s\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "échec du changement de propriètaire de la mailbox" +msgstr "échec du changement de propriètaire de la mailbox" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" -msgstr "échec du renommage de la mailbox" +msgstr "échec du renommage de la mailbox" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s : %s est inchangé\n" +"%s: %s est inchangé\n" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" -msgstr "Impossible de vérouiller le fichier" +msgstr "Impossible de vérouiller le fichier" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" msgstr "Impossible de faire une sauvegarde" -#: src/vipw.c:206 +#: src/vipw.c:200 #, c-format msgid "%s: can't restore %s: %s (your changes are in %s)\n" -msgstr "%s : impossible de restaurer %s : %s (vos changements sont dans %s)\n" +msgstr "%s: impossible de restaurer %s: %s (vos changements sont dans %s)\n" -#: src/vipw.c:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" "`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n" msgstr "" "Usage :\n" -"`vipw' édite /etc/passwd `vipw -s' édite /etc/shadow\n" -"`vigr' édite /etc/group `vigr -s' édite /etc/gshadow\n" +"`vipw' édite /etc/passwd `vipw -s' édite /etc/shadow\n" +"`vigr' édite /etc/group `vigr -s' édite /etc/gshadow\n" + +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: impossible de mettre à jour l'entrée %s\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "" +#~ "L'utilisateur %s a une clé TCFS, son ancien mot de passe est nécessaire.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "Vous pouvez utiliser l'option -t pour forcer le changement.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "Avertissement: l'utilisateur %s a une clé TCFS.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "" +#~ "Impossible de vérouiller la base de données de clés TCFS; essayez à\n" +#~ "nouveau plus tard\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Impossible d'ouvrir la base de clés TCFS.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Erreur lors de la mise à jour de la base de clés TCFS.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Impossible de valider les changements TCFS.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: impossible de reécrire le fichier de clés TCFS\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: impossible de vérouiller le fichier de clés TCFS\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: impossible d'ouvrir le fichier de clés TCFS\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: erreur lors de l'effacement de l'entrée TCFS\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f inactif] [-e expire] " + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: erreur lors de l'effacement de l'authentification\n" + +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DÉFAUT|programme},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: erreur lors de l'effacement de la méthode d'authentification\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: erreur lors de l'ajout de la méthode d'authentification\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: erreur lors du changement de la méthode d'authentification\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A program] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p mot-de-passe] nom\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "erreur - échec de la recherche de '%s'\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s non trouvé\n" + +#, fuzzy +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: impossible de re-écrire le fichier shadow group\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: Les mots de passe shadow ne sont pas configurés.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "Usage: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "Exécution du shell %s\n" + +#~ msgid "Dialup Password: " +#~ msgstr "Mot de passe dialup: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "" +#~ "Usage: %s [-l] [-m min_jours] [-M max_jours] [-d dernier_jour] " +#~ "utilisateur\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "Usage: %s [-(a|d)] shell\n" + +#~ msgid "Shell password: " +#~ msgstr "Mot de passe shell: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "Confirmez le mot de passe shell: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: Les mots de passe ne correspondent pas, essayez encore.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: impossible de créer %s" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: impossible d'ouvrir %s" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: Shell %s non trouvé.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "group=%s,%u rép_base=%s skel=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "shell=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "inactif=%ld expire=%s" #~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s : le gid %ld n'est pas unique\n" +#~ msgstr "%s: le gid %ld n'est pas unique\n" #, fuzzy #~ msgid "unknown gid: %u\n" -#~ msgstr "gid inconnu : %d\n" +#~ msgstr "gid inconnu: %d\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s : l'uid %d n'est pas unique\n" +#~ msgstr "%s: l'uid %d n'est pas unique\n" #~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "utilisateur %s : mauvais UID (%d)\n" +#~ msgstr "utilisateur %s: mauvais UID (%d)\n" #~ msgid "%s: no aging information present\n" -#~ msgstr "%s : aucune information sur l'age\n" +#~ msgstr "%s: aucune information sur l'age\n" #~ msgid "group %s: bad GID (%d)\n" -#~ msgstr "groupe %s : mauvais GID (%d)\n" +#~ msgstr "groupe %s: mauvais GID (%d)\n" #~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s : permission refusée (shell).\n" +#~ msgstr "%s: permission refusée (shell).\n" diff --git a/po/insert-header.sin b/po/insert-header.sin new file mode 100644 index 00000000..b26de01f --- /dev/null +++ b/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ja.gmo b/po/ja.gmo index 6e99a833fdc808caedfdc90906d98f1c2afff823..0d1563d485193f8fb3df9fa582e42f6e9518a0c4 100644 GIT binary patch literal 33570 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 Q)*4+Bv2QZ7Hj3Z>2Ug|;i~s-t literal 31680 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\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8-bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" -msgstr "·Ù¹ð: ÉÔÌÀ¤Ê¥°¥ë¡¼¥× %s¤Ç¤¹\n" +msgstr "警告: 䏿˜Žãªã‚°ãƒ«ãƒ¼ãƒ— %sã§ã™\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" -msgstr "·Ù¹ð: ¥°¥ë¡¼¥×¤¬Â¿¤¹¤®¤Þ¤¹\n" +msgstr "警告: グループãŒå¤šã™ãŽã¾ã™\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï´ü¸Â¤¬ÀÚ¤ì¤Þ¤·¤¿." +msgstr "ã‚ãªãŸã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯æœŸé™ãŒåˆ‡ã‚Œã¾ã—ãŸ." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤Ïinactive¤Ç¤¹." +msgstr "ã‚ãªãŸã®ãƒ‘スワードã¯inactiveã§ã™." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "¤¢¤Ê¤¿¤Î¥í¥°¥¤¥ó¤Ï´ü¸Â¤¬ÀÚ¤ì¤Þ¤·¤¿." +msgstr "ã‚ãªãŸã®ãƒ­ã‚°ã‚¤ãƒ³ã¯æœŸé™ãŒåˆ‡ã‚Œã¾ã—ãŸ." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " ¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ÈÁêÃ̤·¤Æ¤¯¤À¤µ¤¤.\n" +msgstr " システム管ç†è€…ã¨ç›¸è«‡ã—ã¦ãã ã•ã„.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " ¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤.\n" +msgstr " æ–°ã—ã„ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’é¸æŠžã—ã¦ãã ã•ã„.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï%ldÆüÃæ¤Ë´ü¸Â¤¬ÀÚ¤ì¤Þ¤¹.\n" +msgstr "ã‚ãªãŸã®ãƒ‘スワードã¯%ldæ—¥ä¸­ã«æœŸé™ãŒåˆ‡ã‚Œã¾ã™.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" -msgstr "¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤ÏÌÀÆü¤Ë´ü¸Â¤¬ÀÚ¤ì¤Þ¤¹.\n" +msgstr "ã‚ãªãŸã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯æ˜Žæ—¥ã«æœŸé™ãŒåˆ‡ã‚Œã¾ã™.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" -msgstr "¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤ÏËÜÆü´ü¸ÂÀÚ¤ì¤Ç¤¹.\n" +msgstr "ã‚ãªãŸã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯æœ¬æ—¥æœŸé™åˆ‡ã‚Œã§ã™.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" -msgstr "TTY %s¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó" +msgstr "TTY %sを変更ã§ãã¾ã›ã‚“" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "´Ä¶­¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ç¤¹\n" +msgstr "環境オーãƒãƒ¼ãƒ•ローã§ã™\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" -msgstr "$%s¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó\n" +msgstr "$%sを変更ã§ãã¾ã›ã‚“\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" -msgstr "ºÇ¸å¤Î¥í¥°¥¤¥ó¤«¤é %d %s. ºÇ¸å¤Î¥í¥°¥¤¥ó¤Ï %s, ¥Þ¥·¥ó %s.\n" +msgstr "最後ã®ãƒ­ã‚°ã‚¤ãƒ³ã‹ã‚‰ %d %s. 最後ã®ãƒ­ã‚°ã‚¤ãƒ³ã¯ %s, マシン %s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" -msgstr "¼ºÇÔ" +msgstr "失敗" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" -msgstr "¼ºÇÔ" +msgstr "失敗" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" -msgstr "¥í¥°¥¤¥ó¤¬Â¿¤¹¤®¤Þ¤¹.\n" +msgstr "ログインãŒå¤šã™ãŽã¾ã™.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¤Ï%s¤ÎÈëÌ©¸°¤ò°Å¹æÉü¸µ¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "パスワードã¯%sã®ç§˜å¯†éµã‚’æš—å·å¾©å…ƒã§ãã¾ã›ã‚“.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" -msgstr "%s¤ÎÈëÌ©¸°¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: keyserv¥Ç¡¼¥â¥ó¤¬µ¯Æ°¤·¤Æ¤Þ¤¹¤«?\n" +msgstr "%sã®ç§˜å¯†éµã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ: keyservデーモンãŒèµ·å‹•ã—ã¦ã¾ã™ã‹?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." -msgstr "¿·¤·¤¤¥á¡¼¥ë¤¬Íè¤Æ¤¤¤Þ¤¹." +msgstr "æ–°ã—ã„ãƒ¡ãƒ¼ãƒ«ãŒæ¥ã¦ã„ã¾ã™." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." -msgstr "¥á¡¼¥ë¤Ï¤¢¤ê¤Þ¤»¤ó." +msgstr "メールã¯ã‚りã¾ã›ã‚“." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." -msgstr "¥á¡¼¥ë¤¬¤¢¤ê¤Þ¤¹." +msgstr "メールãŒã‚りã¾ã™." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " -msgstr "ÉÔÀµ¤Ê¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹: %s." +msgstr "䏿­£ãªãƒ‘スワードã§ã™: %s." -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "" +msgstr "passwd: pam_start: エラー %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É: %s\n" +msgstr "パスワード: %s\n" -#: libmisc/setupenv.c:211 -#, c-format -msgid "Unable to cd to \"%s\"\n" -msgstr "\"%s\"¤Ø¥Ç¥£¥ì¥¯¥È¥êÊѹ¹¤Ç¤­¤Þ¤»¤ó\n" - -#: libmisc/setupenv.c:219 -msgid "No directory, logging in with HOME=/" -msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó. HOME=/ ¤È¤·¤Æ¥í¥°¥¤¥ó¤·¤Þ¤¹" - -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "¥·¥§¥ë%s¤Î¼Â¹ÔÃæ\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 -#, c-format -msgid "Cannot execute %s" -msgstr "%s¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó" - -#: libmisc/sub.c:61 -#, c-format -msgid "Invalid root directory \"%s\"\n" -msgstr "ÉÔÀµ¤Ê¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê \"%s\" ¤Ç¤¹ \n" - -#: libmisc/sub.c:73 -#, c-format -msgid "Can't change root directory to \"%s\"\n" -msgstr "¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò \"%s\"¤ØÊѹ¹¤Ç¤­¤Þ¤»¤ó\n" - -#: libmisc/xmalloc.c:28 -#, c-format -msgid "malloc(%d) failed\n" -msgstr "malloc(%d) ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿\n" - -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "¥À¥¤¥¢¥ë¥¢¥Ã¥×¥Ñ¥¹¥ï¡¼¥É: " - -#: lib/getdef.c:276 -msgid "Could not allocate space for config info.\n" -msgstr "ÀßÄê¾ðÊóÍѤζõ¤­ÍÆÎ̤¬³ÎÊݤǤ­¤Þ¤»¤ó¤Ç¤·¤¿.\n" - -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "ÀßÄꥨ¥é¡¼ - ÉÔÌÀ¤Ê¥¢¥¤¥Æ¥à '%s'¤Ç¤¹ (notify administrator)\n" - -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" msgstr "" -#: lib/getdef.c:425 +#: libmisc/setupenv.c:208 #, c-format -msgid "%s not found\n" -msgstr "%s¤Ï¸«ÉÕ¤«¤ê¤Þ¤»¤ó\n" +msgid "Unable to cd to \"%s\"\n" +msgstr "\"%s\"ã¸ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›´ã§ãã¾ã›ã‚“\n" -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: libmisc/setupenv.c:216 +msgid "No directory, logging in with HOME=/" +msgstr "ディレクトリãŒã‚りã¾ã›ã‚“. HOME=/ ã¨ã—ã¦ãƒ­ã‚°ã‚¤ãƒ³ã—ã¾ã™" + +#: libmisc/shell.c:119 +#, c-format +msgid "Cannot execute %s" +msgstr "%sを実行ã§ãã¾ã›ã‚“" + +#: libmisc/sub.c:55 +#, c-format +msgid "Invalid root directory \"%s\"\n" +msgstr "䏿­£ãªãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª \"%s\" ã§ã™ \n" + +#: libmisc/sub.c:67 +#, c-format +msgid "Can't change root directory to \"%s\"\n" +msgstr "ルートディレクトリを \"%s\"ã¸å¤‰æ›´ã§ãã¾ã›ã‚“\n" + +#: libmisc/xmalloc.c:24 +#, c-format +msgid "malloc(%d) failed\n" +msgstr "malloc(%d) ã«å¤±æ•—ã—ã¾ã—ãŸ\n" + +#: lib/getdef.c:274 +msgid "Could not allocate space for config info.\n" +msgstr "設定情報用ã®ç©ºã容é‡ãŒç¢ºä¿ã§ãã¾ã›ã‚“ã§ã—ãŸ.\n" + +#: lib/getdef.c:328 +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "設定エラー - 䏿˜Žãªã‚¢ã‚¤ãƒ†ãƒ  '%s'ã§ã™ (notify administrator)\n" + +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " -msgstr "¥Ñ¥¹¥ï¡¼¥É: " +msgstr "パスワード: " #: lib/pwauth.c:56 #, c-format msgid "%s's Password: " -msgstr "%s¤Î¥Ñ¥¹¥ï¡¼¥É: " +msgstr "%sã®ãƒ‘スワード: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "" #: lib/strerror.c:20 #, c-format msgid "Unknown error %d" -msgstr "ÉÔÌÀ¤Ê¥¨¥é¡¼ %d" +msgstr "䏿˜Žãªã‚¨ãƒ©ãƒ¼ %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"»ÈÍÑË¡: %s [-l] [-m ºÇ¾®Æü¿ô] [-M ºÇÂçÆü¿ô] [-W ·Ù¹ð]\n" -"\t[-I ̵¸ú] [-E ´ü¸ÂÀÚ¤ì] [-d ºÇ¸åÆü] ¥æ¡¼¥¶\n" +"使用法: chage [-l] [-m æœ€å°æ—¥æ•°] [-M 最大日数] [-W 警告]\n" +" [-I 無効] [-E 期é™åˆ‡ã‚Œ] [-d 最後日] ユーザ\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "»ÈÍÑË¡: %s [-l] [-m ºÇ¾®Æü¿ô] [-M ºÇÂçÆü¿ô] [-d ºÇ¸åÆü] ¥æ¡¼¥¶\n" - -#: src/chage.c:157 +#: src/chage.c:152 #, fuzzy msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"¿·¤·¤¤ÃͤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤, ɸ½àÀßÄêÃͤòÍøÍѤ¹¤ë¤Ë¤Ï¥ê¥¿¡¼¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ" -"¤¤.\n" +"æ–°ã—ã„値を入力ã—ã¦ãã ã•ã„, 標準設定値を利用ã™ã‚‹ã«ã¯ãƒªã‚¿ãƒ¼ãƒ³ã‚’押ã—ã¦ãã ã•" +"ã„.\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" -msgstr "ºÇ¾®¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹ÉÔ²ÄǽÆü¿ô" +msgstr "最å°ãƒ‘スワード変更ä¸å¯èƒ½æ—¥æ•°" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" -msgstr "ºÇÂç¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹²ÄǽÆü¿ô" +msgstr "最大パスワード変更å¯èƒ½æ—¥æ•°" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "ºÇ¸å¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹ÆüÉÕ (YYYY-MM-DD)" +msgstr "最後パスワード変更日付 (YYYY-MM-DD)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "パスワード期é™åˆ‡ã‚Œè­¦å‘Šæ—¥æ•°" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "¥Ñ¥¹¥ï¡¼¥É´ü¸ÂÀÚ¤ì·Ù¹ðÆü¿ô" - -#: src/chage.c:189 msgid "Password Inactive" -msgstr "¥Ñ¥¹¥ï¡¼¥É̵¸úÆü¿ô" +msgstr "パスワード無効日数" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "¥¢¥«¥¦¥ó¥È´ü¸ÂÀÚ¤ìÆüÉÕ (YYYY-MM-DD)" +msgstr "アカウント期é™åˆ‡ã‚Œæ—¥ä»˜ (YYYY-MM-DD)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" -msgstr "ºÇ¾®:\t%ld\n" +msgstr "最å°:\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" -msgstr "ºÇÂç:\t%ld\n" +msgstr "最大:\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" -msgstr "·Ù¹ð:\t%ld\n" +msgstr "警告:\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" -msgstr "̵¸ú:\t%ld\n" +msgstr "無効:\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" -msgstr "ºÇ¶á¤ÎÊѹ¹:\t\t" +msgstr "最近ã®å¤‰æ›´:\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" -msgstr "¤Ê¤·:\n" +msgstr "ãªã—:\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "¥Ñ¥¹¥ï¡¼¥É´ü¸Â:\t" +msgstr "パスワード期é™:\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "¥Ñ¥¹¥ï¡¼¥É̵¸ú:\t" +msgstr "パスワード無効:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "¥¢¥«¥¦¥ó¥È´ü¸ÂÀÚ¤ì:\t" +msgstr "アカウント期é™åˆ‡ã‚Œ:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s: ¾¤Î¥Õ¥é¥°¤Î¤¿¤á \"l\" ¥ª¥×¥·¥ç¥ó¤Ï´Þ¤Þ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: ä»–ã®ãƒ•ラグã®ãŸã‚ \"l\" オプションã¯å«ã¾ã›ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s: ¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó\n" +msgstr "%s: 権é™ãŒã‚りã¾ã›ã‚“\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, fuzzy, c-format msgid "%s: PAM authentication failed\n" -msgstr "¥Ð¥¤¥Ð¥¹¤Ë¤è¤Ã¤Æ¥Ñ¥¹¥ï¡¼¥É¤òǧ¾Ú¤·¤Þ¤¹.\n" +msgstr "ãƒã‚¤ãƒã‚¹ã«ã‚ˆã£ã¦ãƒ‘スワードをèªè¨¼ã—ã¾ã™.\n" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤¬³«¤±¤Þ¤»¤ó\n" +msgstr "%s: パスワードファイルãŒé–‹ã‘ã¾ã›ã‚“\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" -msgstr "%s: ÉÔÌÀ¤Ê¥æ¡¼¥¶¤Ç¤¹: %s\n" +msgstr "%s: 䏿˜Žãªãƒ¦ãƒ¼ã‚¶ã§ã™: %s\n" -#: src/chage.c:571 +#: src/chage.c:536 #, fuzzy, c-format msgid "%s: can't lock shadow password file" -msgstr "¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "シャドウ・パスワード・ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/chage.c:579 +#: src/chage.c:544 #, fuzzy, c-format msgid "%s: can't open shadow password file" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・パスワード・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" -msgstr "%s¤Î´ü¸Â¾ðÊó¤òÊѹ¹Ãæ\n" +msgstr "%sã®æœŸé™æƒ…報を変更中\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s: ¹àÌÜÊѹ¹¤Ç¥¨¥é¡¼¤¬µ¯¤³¤ê¤Þ¤·¤¿\n" +msgstr "%s: 項目変更ã§ã‚¨ãƒ©ãƒ¼ãŒèµ·ã“りã¾ã—ãŸ\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤·¤Þ¤»¤ó\n" +msgstr "%s: パスワード・ファイルを更新ã—ã¾ã›ã‚“\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤·¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・パスワード・ファイルを更新ã—ã¾ã›ã‚“\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 +#, fuzzy msgid "Error updating the DBM password entry.\n" -msgstr "" +msgstr "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰å…¥åŠ›ã®æ›´æ–°ã®ã‚¨ãƒ©ãƒ¼ã§ã™.\n" -#: src/chage.c:823 -#, c-format +#: src/chage.c:693 +#, fuzzy, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "" +msgstr "%s: シャドウ・パスワード・ファイルを削除ã§ãã¾ã›ã‚“\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: パスワード・ファイルを上書ãã§ãã¾ã›ã‚“\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/chfn.c:83 +#: 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 "" -"»ÈÍÑË¡: %s [-f ¥Õ¥ë¥Í¡¼¥à] [-r ¥ë¡¼¥àNo] [-w ¿¦¾ìTEL]\n" -"\t[-h ¼«ÂðTEL] [-o ¤½¤Î¾] [¥æ¡¼¥¶]\n" +"使用法: %s [-f フルãƒãƒ¼ãƒ ] [-r ルームNo] [-w è·å ´TEL]\n" +"\t[-h 自宅TEL] [-o ãã®ä»–] [ユーザ]\n" -#: src/chfn.c:88 +#: 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 ¥ë¡¼¥àNo] [-w ¿¦¾ìTEL] [-h ¼«ÂðTEL]\n" +msgstr "使用法: %s [-f フルãƒãƒ¼ãƒ ] [-r ルームNo] [-w è·å ´TEL] [-h 自宅TEL]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" msgstr "" -"¿·¤·¤¤ÃͤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤, ɸ½àÀßÄêÃͤòÍøÍѤ¹¤ë¤Ë¤Ï ¥ê¥¿¡¼¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ" -"¤¤.\n" +"æ–°ã—ã„値を入力ã—ã¦ãã ã•ã„, 標準設定値を利用ã™ã‚‹ã«ã¯ リターンを押ã—ã¦ãã ã•" +"ã„.\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" -msgstr "¥Õ¥ë¥Í¡¼¥à" +msgstr "フルãƒãƒ¼ãƒ " -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\t¥Õ¥ë¥Í¡¼¥à: %s\n" +msgstr "\tフルãƒãƒ¼ãƒ : %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" -msgstr "Éô²°ÈÖ¹æ" +msgstr "部屋番å·" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" -msgstr "\tÉô²°ÈÖ¹æ: %s\n" +msgstr "\t部屋番å·: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" -msgstr "¿¦¾ìÅÅÏÃÈÖ¹æ" +msgstr "è·å ´é›»è©±ç•ªå·" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" -msgstr "\t¿¦¾ìÅÅÏÃÈÖ¹æ: %s\n" +msgstr "\tè·å ´é›»è©±ç•ªå·: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" -msgstr "¼«ÂðÅÅÏÃÈÖ¹æ" +msgstr "自宅電話番å·" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" -msgstr "\t¼«ÂðÅÅÏÃÈÖ¹æ: %s\n" +msgstr "\t自宅電話番å·: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" -msgstr "¤½¤Î¾" +msgstr "ãã®ä»–" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "%s: ¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó.\n" +msgstr "%s: 権é™ãŒã‚りã¾ã›ã‚“.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" -msgstr "%s: ÉÔÌÀ¤Ê¥æ¡¼¥¶ %s\n" +msgstr "%s: 䏿˜Žãªãƒ¦ãƒ¼ã‚¶ %s\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" -msgstr "%s: ¤¢¤Ê¤¿¤Î¥æ¡¼¥¶Ì¾¤òȽÄê¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "%s: ã‚ãªãŸã®ãƒ¦ãƒ¼ã‚¶åを判定ã§ãã¾ã›ã‚“.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, c-format msgid "%s: cannot change user `%s' on NIS client.\n" -msgstr "%s: NIS¥¯¥é¥¤¥¢¥ó¥È¾å¤Ç¥æ¡¼¥¶`%s'¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "%s: NISクライアント上ã§ãƒ¦ãƒ¼ã‚¶`%s'ã¯å¤‰æ›´ã§ãã¾ã›ã‚“.\n" -#: src/chfn.c:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, 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:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" -msgstr "%s¤Î¥æ¡¼¥¶¾ðÊóÊѹ¹Ãæ\n" +msgstr "%sã®ãƒ¦ãƒ¼ã‚¶æƒ…報変更中\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s: ¥æ¡¼¥¶Ì¾¤¬ÉÔÀµ¤Ç¤¹: \"%s\"\n" +msgstr "%s: ユーザåãŒä¸æ­£ã§ã™: \"%s\"\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "%s: Éô²°Èֹ椬ÉÔÀµ¤Ç¤¹: \"%s\"\n" +msgstr "%s: 部屋番å·ãŒä¸æ­£ã§ã™: \"%s\"\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "%s: ¿¦¾ìÅÅÏÃÈֹ椬ÉÔÀµ¤Ç¤¹: \"%s\"\n" +msgstr "%s: è·å ´é›»è©±ç•ªå·ãŒä¸æ­£ã§ã™: \"%s\"\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s: ¼«ÂðÅÅÏÃÈֹ椬ÉÔÀµ¤Ç¤¹: \"%s\"\n" +msgstr "%s: 自宅電話番å·ãŒä¸æ­£ã§ã™: \"%s\"\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s: \"%s\" ¤ÏÉÔÀµ¤Êʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹\n" +msgstr "%s: \"%s\" ã¯ä¸æ­£ãªæ–‡å­—ã‚’å«ã‚“ã§ã„ã¾ã™\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" -msgstr "%s: ÆþÎÏÆâÍÆ¤¬Ä¹²á¤®¤Þ¤¹\n" +msgstr "%s: 入力内容ãŒé•·éŽãŽã¾ã™\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" -msgstr "ID¤òroot¤ØÊѹ¹¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "IDã‚’rootã¸å¤‰æ›´ã§ãã¾ã›ã‚“.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó; ¸å¤Ç¤â¤¦°ìÅٻ¤Æ¤¯¤À¤µ¤¤.\n" +msgstr "パスワード・ファイルをロックã§ãã¾ã›ã‚“; 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó.\n" +msgstr "パスワード・ファイルを開ã‘ã¾ã›ã‚“.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: %s¤Ï /etc/passwdÃæ¤Ë¸«ÉÕ¤«¤ê¤Þ¤»¤ó\n" +msgstr "%s: %s㯠/etc/passwd中ã«è¦‹ä»˜ã‹ã‚Šã¾ã›ã‚“\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" -msgstr "¥Ñ¥¹¥ï¡¼¥ÉÆþÎϤι¹¿·¤Î¥¨¥é¡¼¤Ç¤¹.\n" +msgstr "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰å…¥åŠ›ã®æ›´æ–°ã®ã‚¨ãƒ©ãƒ¼ã§ã™.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ò³ÎÄê(commit)¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "パスワード・ファイルã®å¤‰æ›´ã‚’確定(commit)ã§ãã¾ã›ã‚“.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯²ò½ü¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "パスワード・ファイルをロック解除ã§ãã¾ã›ã‚“.\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 #, c-format -msgid "usage: %s [-e]\n" -msgstr "»ÈÍÑË¡: %s [-e]\n" +msgid "Usage: %s [-e]\n" +msgstr "使用法: %s [-e]\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: パスワードファイルをロックã§ãã¾ã›ã‚“\n" + +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" -msgstr "%s: %d ¹Ô: 1¹Ô¤¬Ä¹²á¤®¤Þ¤¹\n" +msgstr "%s: %d 行: 1行ãŒé•·éŽãŽã¾ã™\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" -msgstr "%s: %d ¹Ô: ¿·µ¬¥Ñ¥¹¥ï¡¼¥É¤¬¤¢¤ê¤Þ¤»¤ó\n" +msgstr "%s: %d 行: æ–°è¦ãƒ‘スワードãŒã‚りã¾ã›ã‚“\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" -msgstr "%s: %d ¹Ô: ÉÔÌÀ¤Ê¥æ¡¼¥¶ %s ¤Ç¤¹\n" +msgstr "%s: %d 行: 䏿˜Žãªãƒ¦ãƒ¼ã‚¶ %s ã§ã™\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: %d ¹Ô: ¥Ñ¥¹¥ï¡¼¥ÉÆþÎϤò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %d 行: パスワード入力を更新ã§ãã¾ã›ã‚“\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: ¥¨¥é¡¼¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿, Êѹ¹¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤·¤¿\n" +msgstr "%s: ã‚¨ãƒ©ãƒ¼ãŒæ¤œå‡ºã•れã¾ã—ãŸ, 変更ã¯ç„¡åйã«ãªã‚Šã¾ã—ãŸ\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Õ¥¡¥¤¥ë¤Î¹¹¿·¤Ë¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: ã‚·ãƒ£ãƒ‰ã‚¦ãƒ»ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°ã«ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤Î¹¹¿·¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãƒ»ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "»ÈÍÑË¡: %s [-s ¥·¥§¥ë] [¥æ¡¼¥¶Ì¾]\n" +msgstr "使用法: %s [-s シェル] [ユーザå]\n" -#: src/chsh.c:89 +#: src/chsh.c:90 #, fuzzy msgid "Enter the new value, or press return for the default\n" msgstr "" -"¿·¤·¤¤ÃͤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤, ɸ½àÀßÄêÃͤòÍøÍѤ¹¤ë¤Ë¤Ï ¥ê¥¿¡¼¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ" -"¤¤.\n" +"æ–°ã—ã„値を入力ã—ã¦ãã ã•ã„, 標準設定値を利用ã™ã‚‹ã«ã¯ リターンを押ã—ã¦ãã ã•" +"ã„.\n" -#: src/chsh.c:90 +#: src/chsh.c:91 msgid "Login Shell" -msgstr "¥í¥°¥¤¥ó¡¦¥·¥§¥ë" +msgstr "ログイン・シェル" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" -msgstr "¤¢¤Ê¤¿¤¬ %s¤Î¥·¥§¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "ã‚ãªãŸãŒ %sã®ã‚·ã‚§ãƒ«ã‚’変更ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" -msgstr "%s¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹Ãæ\n" +msgstr "%sã®ãƒ­ã‚°ã‚¤ãƒ³ã‚·ã‚§ãƒ«ã‚’変更中\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: ÉÔÀµ¤ÊÆþÎÏ: %s\n" +msgstr "%s: 䏿­£ãªå…¥åŠ›: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "%s¤ÏÉÔÀµ¤Ê¥·¥§¥ë¤Ç¤¹.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "»ÈÍÑË¡: %s [-(a|d)] ¥·¥§¥ë\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "¥·¥§¥ë¥Ñ¥¹¥ï¡¼¥É: " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "¥·¥§¥ë¥Ñ¥¹¥ï¡¼¥É¤ÎºÆÆþÎÏ: " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¤¬°ìÃפ·¤Þ¤»¤ó, ¤â¤¦°ìÅÙ¤ª´ê¤¤¤·¤Þ¤¹.\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: %s¤òºîÀ®¤Ç¤­¤Þ¤»¤ó" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s: %s¤ò³«¤±¤Þ¤»¤ó" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s: ¥·¥§¥ë %s¤¬¸«ÉÕ¤«¤ê¤Þ¤»¤ó.\n" +msgstr "%sã¯ä¸æ­£ãªã‚·ã‚§ãƒ«ã§ã™.\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "»ÈÍÑË¡: expiry {-f|-c}\n" +msgstr "使用法: expiry {-f|-c}\n" #: src/expiry.c:113 #, c-format msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: ·Ù¹ð! set-UID root¤µ¤ì¤Æ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó!\n" +msgstr "%s: 警告! set-UID rootã•れã¦ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“!\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s: ÉÔÌÀ¤Ê¥æ¡¼¥¶¤Ç¤¹\n" +msgstr "%s: 䏿˜Žãªãƒ¦ãƒ¼ã‚¶ã§ã™\n" #: src/faillog.c:77 #, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" -msgstr "»ÈÍÑË¡: %s [-a|-u ¥æ¡¼¥¶] [-m ºÇÂç] [-r] [-t Æü¿ô] [-l ¥í¥Ã¥¯ÉÃ]\n" +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "使用法: %s [-a|-u ユーザ] [-m 最大] [-r] [-t 日数] [-l ロック秒]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format msgid "Unknown User: %s\n" -msgstr "ÉÔÌÀ¤Ê¥æ¡¼¥¶¤Ç¤¹: %s\n" +msgstr "䏿˜Žãªãƒ¦ãƒ¼ã‚¶ã§ã™: %s\n" #: src/faillog.c:212 msgid "Username Failures Maximum Latest\n" -msgstr "¥æ¡¼¥¶Ì¾ ¼ºÇÔ ºÇÂç ºÇ¶á\n" +msgstr "ユーザå 失敗 最大 最近\n" #: src/faillog.c:229 -#, c-format +#, fuzzy, c-format msgid " %s on %s" -msgstr "" +msgstr "最近ã®ãƒ­ã‚°ã‚¤ãƒ³: %s on %s" #: src/faillog.c:233 #, c-format @@ -722,282 +633,272 @@ msgstr "" #: src/gpasswd.c:78 #, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "»ÈÍÑË¡: %s [-r|-R] ¥°¥ë¡¼¥×\n" +msgid "Usage: %s [-r|-R] group\n" +msgstr "使用法: %s [-r|-R] グループ\n" #: src/gpasswd.c:79 #, c-format msgid " %s [-a user] group\n" -msgstr "" +msgstr " %s [-d ユーザ] グループ\n" #: src/gpasswd.c:80 #, c-format msgid " %s [-d user] group\n" -msgstr " %s [-d ¥æ¡¼¥¶] ¥°¥ë¡¼¥×\n" +msgstr " %s [-d ユーザ] グループ\n" #: src/gpasswd.c:83 #, c-format msgid " %s [-A user,...] [-M user,...] group\n" -msgstr " %s [-A ¥æ¡¼¥¶,...] [-M ¥æ¡¼¥¶,...] ¥°¥ë¡¼¥×\n" +msgstr " %s [-A ユーザ,...] [-M ユーザ,...] グループ\n" #: src/gpasswd.c:85 #, c-format msgid " %s [-M user,...] group\n" -msgstr " %s [-M ¥æ¡¼¥¶,...] ¥°¥ë¡¼¥×\n" +msgstr " %s [-M ユーザ,...] グループ\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s: ÉÔÌÀ¤Ê¥æ¡¼¥¶ %s ¤Ç¤¹\n" +msgstr "%s: 䏿˜Žãªãƒ¦ãƒ¼ã‚¶ %s ã§ã™\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "¥¢¥¯¥»¥¹¸¢¤¬µñÈݤµ¤ì¤Þ¤·¤¿.\n" +msgstr "ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒæ‹’å¦ã•れã¾ã—ãŸ.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Ñ¥¹¥ï¡¼¥É¤¬ -A¤ËÂФ·¤ÆÉ¬ÍפǤ¹\n" +msgstr "%s: シャドウ・グループ・パスワード㌠-Aã«å¯¾ã—ã¦å¿…è¦ã§ã™\n" #: src/gpasswd.c:294 msgid "Who are you?\n" -msgstr "¤¢¤Ê¤¿¤Ïï?\n" +msgstr "ã‚ãªãŸã¯èª°?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "ÉÔÌÀ¤Ê¥°¥ë¡¼¥×¤Ç¤¹: %s\n" +msgstr "䏿˜Žãªã‚°ãƒ«ãƒ¼ãƒ—ã§ã™: %s\n" #: src/gpasswd.c:422 #, c-format msgid "Adding user %s to group %s\n" -msgstr "¥æ¡¼¥¶ %s ¤ò¥°¥ë¡¼¥× %s ¤«¤éÄɲÃ\n" +msgstr "ユーザ %s をグループ %s ã‹ã‚‰è¿½åŠ \n" #: src/gpasswd.c:440 #, c-format msgid "Removing user %s from group %s\n" -msgstr "¥æ¡¼¥¶ %s ¤ò¥°¥ë¡¼¥× %s ¤«¤éºï½ü\n" +msgstr "ユーザ %s をグループ %s ã‹ã‚‰å‰Šé™¤\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s: ÉÔÌÀ¤ÊÈÖ¹æ %s¤Ç¤¹\n" +msgstr "%s: 䏿˜Žãªç•ªå· %sã§ã™\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" -msgstr "%s: TTY¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n" +msgstr "%s: TTYã§ã¯ã‚りã¾ã›ã‚“\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" -msgstr "%s¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹\n" +msgstr "%sグループã®ãƒ‘スワードを変更\n" #: src/gpasswd.c:525 msgid "New Password: " -msgstr "¿·µ¬¥Ñ¥¹¥ï¡¼¥É: " +msgstr "æ–°è¦ãƒ‘スワード: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "¿·µ¬¥Ñ¥¹¥ï¡¼¥ÉºÆÆþÎÏ: " +msgstr "æ–°è¦ãƒ‘スワードå†å…¥åŠ›: " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "°ìÃפ·¤Þ¤»¤ó; ¤â¤¦°ìÅÙ¤ª´ê¤¤¤·¤Þ¤¹" +msgstr "一致ã—ã¾ã›ã‚“; ã‚‚ã†ä¸€åº¦ãŠé¡˜ã„ã—ã¾ã™" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: ¸å¤Ç¤â¤¦°ìÅÙ¤ª´ê¤¤¤·¤Þ¤¹\n" +msgstr "%s: 後ã§ã‚‚ã†ä¸€åº¦ãŠé¡˜ã„ã—ã¾ã™\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s: ¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: ロックã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s: ¥·¥ã¥É¥¦¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウをロックã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "%s: ファイルを開ã‘ã¾ã›ã‚“\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s: ¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: エントリを更新ã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・エントリを更新ã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: ファイルを上書ãã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・ファイルを上書ãã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:630 #, c-format msgid "%s: can't unlock file\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: ファイルをロックã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s: DBM ¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: DBM ファイルを更新ã§ãã¾ã›ã‚“\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s: DBM ¥·¥ã¥É¥¦¡¦¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: DBM シャドウ・ファイルを更新ã§ãã¾ã›ã‚“\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "»ÈÍÑË¡: groupadd [-g ¥°¥ë¡¼¥×ID [-o]] ¥°¥ë¡¼¥×\n" +#: src/groupadd.c:102 +#, fuzzy +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "使用法: groupadd [-g グループID [-o]] グループ\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s: ¿·µ¬¥°¥ë¡¼¥×¥¨¥ó¥È¥ê¤ØÄɲäΥ¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: æ–°è¦ã‚°ãƒ«ãƒ¼ãƒ—エントリã¸è¿½åŠ ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s: ¿·µ¬DBM¥°¥ë¡¼¥×¡¦¥¨¥ó¥È¥ê¤ØÄɲäǤ­¤Þ¤»¤ó\n" +msgstr "%s: æ–°è¦DBMグループ・エントリã¸è¿½åŠ ã§ãã¾ã›ã‚“\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" -msgstr "s: ̾Á° %s ¤Ï½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "%s: åå‰ %s ã¯é‡è¤‡ã—ã¦ã„ã¾ã™\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" -msgstr "%s: ¥æ¡¼¥¶ID %u ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "%s: ユーザID %u ãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s: °ì°Õ¤Î¥°¥ë¡¼¥×ID¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: 一æ„ã®ã‚°ãƒ«ãƒ¼ãƒ—IDã‚’å–å¾—ã§ãã¾ã›ã‚“\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "" +msgstr "%s: %s ã¯åå‰ãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s: ¥°¥ë¡¼¥× %s ¤ÏÉÔŬÀڤǤ¹\n" +msgstr "%s: グループ %s ã¯ä¸é©åˆ‡ã§ã™\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" msgstr "" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 -#, fuzzy, c-format +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 +#, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s: ¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "%s: グループ・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 -#, fuzzy, c-format +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 +#, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤¬³«¤±¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・グループ・ファイルãŒé–‹ã‘ã¾ã›ã‚“\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, fuzzy, c-format msgid "%s: unable to lock group file\n" -msgstr "%s: ¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: グループ・ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, fuzzy, c-format msgid "%s: unable to open group file\n" -msgstr "%s: ¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "%s: グループファイルを開ã‘ã¾ã›ã‚“\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, fuzzy, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・グループ・ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, fuzzy, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤¬³«¤±¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・グループ・ファイルãŒé–‹ã‘ã¾ã›ã‚“\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, fuzzy, c-format msgid "%s: group %s exists\n" -msgstr "%s: ¥æ¡¼¥¶ %s ¤Ï¸ºß¤·¤Þ¤¹\n" +msgstr "%s: ユーザ %s ã¯å­˜åœ¨ã—ã¾ã™\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "»ÈÍÑË¡: groupdel ¥°¥ë¡¼¥×\n" +#: src/groupdel.c:88 +#, fuzzy +msgid "Usage: groupdel group\n" +msgstr "使用法: groupdel グループ\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 -#, c-format +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 +#, fuzzy, c-format msgid "%s: error removing group entry\n" -msgstr "" +msgstr "%s: ã‚°ãƒ«ãƒ¼ãƒ—ãƒ»ã‚¨ãƒ³ãƒˆãƒªã®æ›´æ–°ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/groupdel.c:122 src/groupmod.c:204 -#, c-format +#: src/groupdel.c:119 src/groupmod.c:205 +#, fuzzy, c-format msgid "%s: error removing group dbm entry\n" -msgstr "" +msgstr "%s: パスワードDBMエントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/groupdel.c:137 -#, c-format +#: src/groupdel.c:135 +#, fuzzy, c-format msgid "%s: error removing shadow group entry\n" -msgstr "" +msgstr "%s: シャドウ・パスワード・エントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/groupdel.c:150 src/groupmod.c:254 -#, c-format +#: src/groupdel.c:149 src/groupmod.c:255 +#, fuzzy, c-format msgid "%s: error removing shadow group dbm entry\n" -msgstr "" +msgstr "%s: シャドウパスワード DBMエントリ ã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 -#, c-format +#: src/groupdel.c:255 +#, fuzzy, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "" +msgstr "%s: DBMグループ・エントリを更新ã§ãã¾ã›ã‚“\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" -msgstr "%s: %s¥°¥ë¡¼¥× ¤Ï¸ºß¤·¤Þ¤»¤ó\n" +msgstr "%s: %sグループ ã¯å­˜åœ¨ã—ã¾ã›ã‚“\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" -msgstr "%s: %s¥°¥ë¡¼¥×¤Ï NIS ¤Î¥°¥ë¡¼¥×¤Ç¤¹\n" +msgstr "%s: %sグループ㯠NIS ã®ã‚°ãƒ«ãƒ¼ãƒ—ã§ã™\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s: %s ¤Ï NIS ¥Þ¥¹¥¿¡¼¤Ç¤¹\n" +msgstr "%s: %s 㯠NIS マスターã§ã™\n" #: src/groupmems.c:95 msgid "Member already exists\n" @@ -1008,7 +909,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1026,56 +927,56 @@ msgstr "" #: src/groupmems.c:215 #, fuzzy msgid "Unable to lock group file\n" -msgstr "¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "グループ・ファイルをロックã§ãã¾ã›ã‚“\n" #: src/groupmems.c:220 #, fuzzy msgid "Unable to open group file\n" -msgstr "¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "グループファイルを開ã‘ã¾ã›ã‚“\n" #: src/groupmems.c:240 #, fuzzy msgid "Cannot close group file\n" -msgstr "¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "グループ・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "»ÈÍÑË¡: groupmod [-g ¥°¥ë¡¼¥×ID [-o]] [-n ̾Á°] ¥°¥ë¡¼¥×\n" +#: src/groupmod.c:104 +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "使用法: groupmod [-g グループID [-o]] [-n åå‰] グループ\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, c-format msgid "%s: %s not found in /etc/group\n" -msgstr "%s: /etc/group¤Ë %s ¤¬¸«ÉÕ¤«¤ê¤Þ¤»¤ó\n" +msgstr "%s: /etc/groupã« %s ãŒè¦‹ä»˜ã‹ã‚Šã¾ã›ã‚“\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s: ¿·µ¬DBM¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥¨¥ó¥È¥ê¤òÄɲäǤ­¤Þ¤»¤ó\n" +msgstr "%s: æ–°è¦DBMシャドウ・グループ・エントリを追加ã§ãã¾ã›ã‚“\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" -msgstr "%s: %u ¤Ï¥°¥ë¡¼¥×ID¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "%s: %u ã¯ã‚°ãƒ«ãƒ¼ãƒ—IDãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s: %s ¤Ï̾Á°¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "%s: %s ã¯åå‰ãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" #: src/groups.c:59 #, c-format msgid "unknown user %s\n" -msgstr "ÉÔÌÀ¤Ê¥æ¡¼¥¶¤Ç¤¹ %s\n" +msgstr "䏿˜Žãªãƒ¦ãƒ¼ã‚¶ã§ã™ %s\n" #: src/grpck.c:87 #, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" -msgstr "»ÈÍÑË¡: %s [-r] [-s] [¥°¥ë¡¼¥× [¥°¥ë¡¼¥×¥·¥ã¥É¥¦]]\n" +msgstr "使用法: %s [-r] [-s] [グループ [グループシャドウ]]\n" #: src/grpck.c:90 #, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "»ÈÍÑË¡: %s [-r] [-s] [¥°¥ë¡¼¥×]\n" +msgstr "使用法: %s [-r] [-s] [グループ]\n" #: src/grpck.c:108 src/pwck.c:108 msgid "No" @@ -1089,288 +990,257 @@ msgstr "" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, c-format msgid "%s: cannot lock file %s\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë %s ¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: ファイル %s をロックã§ãã¾ã›ã‚“\n" #: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "%s: ファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "ÉÔÀµ¤Ê¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤Ç¤¹\n" +msgstr "䏿­£ãªã‚°ãƒ«ãƒ¼ãƒ—・ファイルã®ã‚¨ãƒ³ãƒˆãƒªã§ã™\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 #: src/pwck.c:543 #, c-format msgid "delete line `%s'? " -msgstr "`%s'¹Ô¤òºï½ü¤·¤Þ¤¹¤«? " +msgstr "`%s'行を削除ã—ã¾ã™ã‹? " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" -msgstr "¥°¥ë¡¼¥×¥¨¥ó¥È¥ê¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "グループエントリãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" #: src/grpck.c:391 #, c-format msgid "invalid group name `%s'\n" -msgstr "ÉÔÀµ¤Ê¥°¥ë¡¼¥×̾ `%s' ¤Ç¤¹\n" +msgstr "䏿­£ãªã‚°ãƒ«ãƒ¼ãƒ—å `%s' ã§ã™\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "¥°¥ë¡¼¥× %s: ¥æ¡¼¥¶ %s ¤Ï¤¤¤Þ¤»¤ó\n" +msgstr "グループ %s: ユーザ %s ã¯ã„ã¾ã›ã‚“\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " -msgstr "¥á¥ó¥Ð¡¼ `%s' ¤òºï½ü¤·¤Þ¤¹¤«? " +msgstr "メンãƒãƒ¼ `%s' を削除ã—ã¾ã™ã‹? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¡¦¥¨¥ó¥È¥ê¤¬ÉÔÀµ¤Ç¤¹\n" +msgstr "シャドウ・グループ・ファイル・エントリãŒä¸æ­£ã§ã™\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" -msgstr "¥°¥ë¡¼¥×¥¨¥ó¥È¥ê¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "グループエントリãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" #: src/grpck.c:537 msgid "no matching group file entry\n" -msgstr "¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤È°ìÃפ·¤Þ¤»¤ó\n" +msgstr "グループファイルエントリã¨ä¸€è‡´ã—ã¾ã›ã‚“\n" #: src/grpck.c:558 -#, c-format +#, fuzzy, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "" +msgstr "グループ %s: ユーザ %s ã¯ã„ã¾ã›ã‚“\n" #: src/grpck.c:560 -#, c-format +#, fuzzy, c-format msgid "delete administrative member `%s'? " -msgstr "" +msgstr "メンãƒãƒ¼ `%s' を削除ã—ã¾ã™ã‹? " #: src/grpck.c:588 -#, c-format +#, fuzzy, c-format msgid "shadow group %s: no user %s\n" -msgstr "" +msgstr "グループ %s: ユーザ %s ã¯ã„ã¾ã›ã‚“\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 -#, c-format +#, fuzzy, c-format msgid "%s: cannot update file %s\n" -msgstr "" +msgstr "%s: ファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“\n" #: src/grpck.c:647 src/pwck.c:612 -#, c-format +#, fuzzy, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "" +msgstr "%s: ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ›´æ–°ã•れã¾ã—ãŸ\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format msgid "%s: no changes\n" -msgstr "%s: Êѹ¹¤Ï¤¢¤ê¤Þ¤»¤ó\n" +msgstr "%s: 変更ã¯ã‚りã¾ã›ã‚“\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format msgid "%s: the files have been updated\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: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・グループ・ファイルをロックã§ãã¾ã›ã‚“\n" #: src/grpconv.c:76 src/grpunconv.c:72 #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤¬³«¤±¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・グループ・ファイルãŒé–‹ã‘ã¾ã›ã‚“\n" #: src/grpconv.c:94 #, c-format msgid "%s: can't remove shadow group %s\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥× %s ¤òºï½ü¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・グループ %s を削除ã§ãã¾ã›ã‚“\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" -msgstr "%s: %s ¤Î¥·¥ã¥É¥¦¡¦¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %s ã®ã‚·ãƒ£ãƒ‰ã‚¦ãƒ»ã‚¨ãƒ³ãƒˆãƒªã‚’æ›´æ–°ã§ãã¾ã›ã‚“\n" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" -msgstr "%s: ¥°¥ë¡¼¥× %s ¤Î¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: グループ %s ã®ã‚¨ãƒ³ãƒˆãƒªã‚’æ›´æ–°ã§ãã¾ã›ã‚“\n" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・グループ・ファイルを更新ã§ãã¾ã›ã‚“\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" -msgstr "%s: ¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" - -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥µ¥Ý¡¼¥ÈÍѤËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó\n" +msgstr "%s: グループ・ファイルを更新ã§ãã¾ã›ã‚“\n" #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: ¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: グループ・ファイルを削除ã§ãã¾ã›ã‚“\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "»ÈÍÑË¡: id [-a]\n" +msgid "Usage: id [-a]\n" +msgstr "使用法: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "»ÈÍÑË¡: id\n" +msgid "Usage: id\n" +msgstr "使用法: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" -msgstr " ¥°¥ë¡¼¥×=" +msgstr " グループ=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 msgid "Username Port From Latest\n" -msgstr "¥æ¡¼¥¶Ì¾ ¥Ý¡¼¥È ¾ì½ê ºÇ¶á¤Î¥í¥°¥¤¥ó\n" +msgstr "ユーザå ãƒãƒ¼ãƒˆ 場所 最近ã®ãƒ­ã‚°ã‚¤ãƒ³\n" #: src/lastlog.c:183 msgid "Username Port Latest\n" -msgstr "¥æ¡¼¥¶Ì¾ ¥Ý¡¼¥È ºÇ¶á¤Î¥í¥°¥¤¥ó\n" +msgstr "ユーザå ãƒãƒ¼ãƒˆ 最近ã®ãƒ­ã‚°ã‚¤ãƒ³\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" -msgstr "**°ìÅÙ¤â¥í¥°¥¤¥ó¤Ï¤¢¤ê¤Þ¤»¤ó**" +msgstr "**一度もログインã¯ã‚りã¾ã›ã‚“**" -#: src/login.c:185 +#: src/login.c:175 #, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "»ÈÍÑË¡: %s [-p] [¥æ¡¼¥¶Ì¾]\n" +msgid "Usage: %s [-p] [name]\n" +msgstr "使用法: %s [-p] [ユーザå]\n" -#: src/login.c:188 +#: src/login.c:178 #, 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:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r ¥Û¥¹¥È\n" +msgstr " %s [-p] -r ホスト\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" -msgstr "¥í¥°¥¤¥ó»þ´Ö¤¬ÉÔÀµ¤Ç¤¹\n" +msgstr "ログイン時間ãŒä¸æ­£ã§ã™\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" "\n" -"¥·¥¹¥Æ¥à¤Ï¥á¥ó¥Æ¥Ê¥ó¥¹¥ë¡¼¥Á¥ó¤ËÂФ·¤ÆÊĤ¸¤Þ¤·¤¿\n" +"システムã¯ãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ãƒ«ãƒ¼ãƒãƒ³ã«å¯¾ã—ã¦é–‰ã˜ã¾ã—ãŸ\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" -"\n" -"%sÉøå¤Î¥í¥°¥¤¥ó¡¦¥¿¥¤¥àÀ©¸Â¤Ç¤¹.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" msgstr "" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" msgstr "" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" "%s login: " msgstr "" "\n" -"%s ¥í¥°¥¤¥ó: " +"%s ログイン: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " -msgstr "¥í¥°¥¤¥ó: " +msgstr "ログイン: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" -msgstr "¥í¥°¥¤¥ó¤¬°ã¤¤¤Þ¤¹" +msgstr "ログインãŒé•ã„ã¾ã™" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" -msgstr "ºÇ¶á¤Î¥í¥°¥¤¥ó: %s on %s" +msgstr "最近ã®ãƒ­ã‚°ã‚¤ãƒ³: %s on %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" -msgstr "ºÇ¶á¤Î¥í¥°¥¤¥ó: %.19s on %s" +msgstr "最近ã®ãƒ­ã‚°ã‚¤ãƒ³: %.19s on %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" -msgstr " ¾ì½ê %.*s" +msgstr " 場所 %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" msgstr "" @@ -1380,14 +1250,14 @@ msgid "%s: no DBM database on system - no action performed\n" msgstr "" #: src/mkpasswd.c:232 src/mkpasswd.c:237 -#, c-format +#, fuzzy, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "" +msgstr "%s: ファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“\n" #: src/mkpasswd.c:252 -#, c-format +#, fuzzy, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "" +msgstr "%s: ファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“\n" #: src/mkpasswd.c:287 #, c-format @@ -1397,12 +1267,12 @@ msgstr "" #: src/mkpasswd.c:288 #, fuzzy msgid " is too long\n" -msgstr " ÆþÎÏÆâÍÆ¤¬Ä¹²á¤®¤Þ¤¹\n" +msgstr " 入力内容ãŒé•·éŽãŽã¾ã™\n" #: src/mkpasswd.c:315 -#, c-format +#, fuzzy, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "" +msgstr "%s: ファイル更新ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " @@ -1414,9 +1284,9 @@ msgid "\n" msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 -#, c-format +#, fuzzy, c-format msgid "%s: error adding record for " -msgstr "" +msgstr "%s: æ–°è¦ã‚°ãƒ«ãƒ¼ãƒ—エントリã¸è¿½åŠ ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" #: src/mkpasswd.c:378 #, c-format @@ -1426,395 +1296,332 @@ msgstr "" #: src/mkpasswd.c:392 #, 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:395 #, 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:398 #, 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 -msgid "usage: newgrp [-] [group]\n" -msgstr "»ÈÍÑË¡: newgrp [-] [¥°¥ë¡¼¥×]\n" +msgid "Usage: newgrp [-] [group]\n" +msgstr "使用法: newgrp [-] [グループ]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" -msgstr "»ÈÍÑË¡: sg ¥°¥ë¡¼¥× [[-c] ¥³¥Þ¥ó¥É]\n" +msgid "Usage: sg group [[-c] command]\n" +msgstr "使用法: sg グループ [[-c] コマンド]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" -msgstr "ÉÔÌÀ¤Ê¥æ¡¼¥¶ID¤Ç¤¹: %u\n" +msgstr "䏿˜Žãªãƒ¦ãƒ¼ã‚¶IDã§ã™: %u\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" -msgstr "ÉÔÌÀ¤Ê¥°¥ë¡¼¥×ID¤Ç¤¹: %lu\n" +msgstr "䏿˜Žãªã‚°ãƒ«ãƒ¼ãƒ—IDã§ã™: %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" -msgstr "¿½¤·Ìõ¤´¤¶¤¤¤Þ¤»¤ó.\n" +msgstr "申ã—訳ã”ã–ã„ã¾ã›ã‚“.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" -msgstr "¥°¥ë¡¼¥×¤¬Â¿¤¹¤®¤Þ¤¹\n" +msgstr "グループãŒå¤šã™ãŽã¾ã™\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "»ÈÍÑË¡: %s [ÆþÎÏ]\n" +msgstr "使用法: %s [入力]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s: /etc/passwd ¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "%s: /etc/passwd をロックã§ãã¾ã›ã‚“.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó, ¸å¤Ç¤â¤¦°ìÅٻ¤Æ¤¯¤À¤µ¤¤\n" +msgstr "%s: ファイルをロックã§ãã¾ã›ã‚“, 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë¤ò³«¤­¤Þ¤¹\n" +msgstr "%s: ファイルを開ãã¾ã™\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: %d行: 䏿­£è¡Œã§ã™\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s: %d¹Ô: ÉÔÀµ¹Ô¤Ç¤¹\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s: %d¹Ô: ¥°¥ë¡¼¥×ID¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %d行: グループIDãŒä½œæˆã§ãã¾ã›ã‚“\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s: %d¹Ô: ¥æ¡¼¥¶ID¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %d行: ユーザIDãŒä½œæˆã§ãã¾ã›ã‚“\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s: %d¹Ô: ¥æ¡¼¥¶ %s ¤¬¸«ÉÕ¤«¤ê¤Þ¤»¤ó\n" +msgstr "%s: %d行: ユーザ %s ãŒè¦‹ä»˜ã‹ã‚Šã¾ã›ã‚“\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s: %d¹Ô: ¥Ñ¥¹¥ï¡¼¥É¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %d行: パスワードを更新ã§ãã¾ã›ã‚“\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s: %d¹Ô: mkdir ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿\n" +msgstr "%s: %d行: mkdir ã«å¤±æ•—ã—ã¾ã—ãŸ\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s: %d¹Ô: chown ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿\n" +msgstr "%s: %d行: chown ã«å¤±æ•—ã—ã¾ã—ãŸ\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s: %d¹Ô: ¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %d行: エントリを更新ã§ãã¾ã›ã‚“\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s: ¥Õ¥¡¥¤¥ë¹¹¿·¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: ファイル更新ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/passwd.c:174 +#: src/passwd.c:155 #, c-format -msgid "usage: %s [-f|-s] [name]\n" -msgstr "»ÈÍÑË¡: %s [-f|-s] [¥æ¡¼¥¶Ì¾]\n" +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "使用法: %s [-f|-s] [ユーザå]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, 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:180 +#: src/passwd.c:161 #, 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:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "" -"¥æ¡¼¥¶ %s ¤Ï TCFS¥­¡¼¤ò¤â¤Ã¤Æ¤¤¤Þ¤¹, ¤½¤Î¥æ¡¼¥¶¤Îµì¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "¶¯À©Åª¤ËÊѹ¹¤ò¹Ô¤¦¤Ë¤Ï, ¥ª¥×¥·¥ç¥ó -t ¤¬É¬ÍפǤ¹\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "¸Å¤¤¥Ñ¥¹¥ï¡¼¥É: " +msgstr "å¤ã„パスワード: " -#: src/passwd.c:301 -#, c-format +#: src/passwd.c:225 +#, fuzzy, c-format msgid "Incorrect password for `%s'\n" -msgstr "" +msgstr "%sã®ãƒ‘スワードã®å¤‰æ›´\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É: " +msgstr "æ–°ã—ã„パスワード: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" -msgstr "¤â¤¦°ìÅÙ¤ª´ê¤¤¤·¤Þ¤¹.\n" +msgstr "ã‚‚ã†ä¸€åº¦ãŠé¡˜ã„ã—ã¾ã™.\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" "\n" -"·Ù¹ð: ÀȤ¤¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹ (¤É¤¦¤·¤Æ¤â»È¤¦¾ì¹ç, ¤â¤¦°ìÅÙ¤³¤ì¤òÆþÎϤ·¤Æ¤¯¤À¤µ" -"¤¤).\n" +"警告: 脆ã„パスワードã§ã™ (ã©ã†ã—ã¦ã‚‚使ã†å ´åˆ, ã‚‚ã†ä¸€åº¦ã“れを入力ã—ã¦ãã ã•" +"ã„).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" -msgstr "°ìÃפ·¤Þ¤»¤ó: ¤â¤¦°ìÅÙ¤ª´ê¤¤¤·¤Þ¤¹.\n" +msgstr "一致ã—ã¾ã›ã‚“: ã‚‚ã†ä¸€åº¦ãŠé¡˜ã„ã—ã¾ã™.\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "%s ¤Î¥Ñ¥¹¥ï¡¼¥É¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "%s ã®ãƒ‘スワードã¯å¤‰æ›´ã§ãã¾ã›ã‚“.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "¿½¤·Ìõ¤¢¤ê¤Þ¤»¤ó¤¬, %s ¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¤Þ¤ÀÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "申ã—訳ã‚りã¾ã›ã‚“ãŒ, %s ã®ãƒ‘スワードã¯ã¾ã å¤‰æ›´ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s: ¥á¥â¥ê¤¬¤¿¤ê¤Þ¤»¤ó\n" +msgstr "%s: メモリãŒãŸã‚Šã¾ã›ã‚“\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "TCFS¥­¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó, ¸å¤Ç¤â¤¦°ìÅٻ¤Æ¤¯¤À¤µ¤¤.\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "TCFS¥­¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò³«¤±¤Þ¤»¤ó.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "TCFS¥­¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¹¹¿·¤Î¥¨¥é¡¼¤Ç¤¹.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "TCFSÊѹ¹¤òcommit¤Ç¤­¤Þ¤»¤ó.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" -msgstr "%s: %s¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó" +msgstr "%s: %sを実行ã§ãã¾ã›ã‚“" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" -msgstr "%s: ¥ì¥Ý¥¸¥È¥ê %s ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n" +msgstr "%s: レãƒã‚¸ãƒˆãƒª %s ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s: ¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó\n" +msgstr "%s: 権é™ãŒã‚りã¾ã›ã‚“\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "¤¢¤Ê¤¿¤Ï %s ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó.\n" +msgstr "ã‚ãªãŸã¯ %s ã®ãƒ‘スワードを変更ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" -msgstr "%s¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹\n" +msgstr "%sã®ãƒ‘スワードã®å¤‰æ›´\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "%s¤Î¥Ñ¥¹¥ï¡¼¥É¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó.\n" +msgstr "%sã®ãƒ‘スワードã¯å¤‰æ›´ã•れã¾ã›ã‚“.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 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] [¥Ñ¥¹¥ï¡¼¥É [¥·¥ã¥É¥¦]]\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" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¡¦¥¨¥ó¥È¥ê¤¬ÉÔÀµ¤Ç¤¹\n" +msgstr "パスワード・ファイル・エントリãŒä¸æ­£ã§ã™\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¥¨¥ó¥È¥ê¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "パスワードエントリãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "ÉÔÀµ¤Ê¥æ¡¼¥¶Ì¾'%s' ¤Ç¤¹\n" +msgstr "䏿­£ãªãƒ¦ãƒ¼ã‚¶å'%s' ã§ã™\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" -msgstr "¥æ¡¼¥¶ %s: ¥°¥ë¡¼¥× %u ¤¬¤¢¤ê¤Þ¤»¤ó\n" +msgstr "ユーザ %s: グループ %u ãŒã‚りã¾ã›ã‚“\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "¥æ¡¼¥¶ %s: ¥Ç¥£¥ì¥¯¥È¥ê %s ¤¬Â¸ºß¤·¤Þ¤»¤ó\n" +msgstr "ユーザ %s: ディレクトリ %s ãŒå­˜åœ¨ã—ã¾ã›ã‚“\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "¥æ¡¼¥¶ %s: ¥×¥í¥°¥é¥à %s ¤Ï¸ºß¤·¤Þ¤»¤ó\n" +msgstr "ユーザ %s: プログラム %s ã¯å­˜åœ¨ã—ã¾ã›ã‚“\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "ÉÔÀµ¤Ê¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥¨¥ó¥È¥ê¤Ç¤¹\n" +msgstr "䏿­£ãªã‚·ãƒ£ãƒ‰ã‚¦ãƒ»ãƒ‘スワード・エントリã§ã™\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥¨¥ó¥È¥ê¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "シャドウ・パスワード・エントリãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¡¦¥¨¥ó¥È¥ê¤È°ìÃפ·¤Þ¤»¤ó\n" +msgstr "パスワード・ファイル・エントリã¨ä¸€è‡´ã—ã¾ã›ã‚“\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" -msgstr "¥æ¡¼¥¶ %s: ºÇ¸å¤Î¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤¬Ì¤Íè¤Ë¤¢¤ê¤Þ¤¹\n" +msgstr "ユーザ %s: 最後ã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰å¤‰æ›´ãŒæœªæ¥ã«ã‚りã¾ã™\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: 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:89 src/pwunconv.c:98 +#: 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:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s: %s¤Î¥·¥ã¥É¥¦¡¦¥¨¥ó¥È¥ê¤òºï½ü¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %sã®ã‚·ãƒ£ãƒ‰ã‚¦ãƒ»ã‚¨ãƒ³ãƒˆãƒªã‚’削除ã§ãã¾ã›ã‚“\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s: %s¤Î¥Ñ¥¹¥ï¡¼¥É¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %sã®ãƒ‘スワードエントリを更新ã§ãã¾ã›ã‚“\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s: ¥·¥ã¥É¥¦¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウファイルを更新ã§ãã¾ã›ã‚“\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: パスワードファイルを更新ã§ãã¾ã›ã‚“\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s: ¥·¥ã¥É¥¦¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó.\n" - -#: src/pwunconv.c:160 +#: 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:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: シャドウ・パスワード・ファイルを削除ã§ãã¾ã›ã‚“\n" #: src/su.c:133 msgid "Sorry." -msgstr "¿½¤·Ìõ¤´¤¶¤¤¤Þ¤»¤ó." +msgstr "申ã—訳ã”ã–ã„ã¾ã›ã‚“." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s: üËö¾å¤«¤é¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤\n" +msgstr "%s: 端末上ã‹ã‚‰å®Ÿè¡Œã—ã¦ãã ã•ã„\n" #: src/su.c:306 #, c-format msgid "%s: pam_start: error %d\n" -msgstr "%s: pam_start: ¥¨¥é¡¼ %d\n" +msgstr "%s: pam_start: エラー %d\n" #: src/su.c:336 #, c-format msgid "Unknown id: %s\n" -msgstr "ÉÔÌÀ¤Ê ID¤Ç¤¹: %s\n" +msgstr "䏿˜Žãª IDã§ã™: %s\n" #: src/su.c:373 src/su.c:390 #, c-format msgid "You are not authorized to su %s\n" -msgstr "¤¢¤Ê¤¿¤Ï su %s ¤Ëǧ¾Ú¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n" +msgstr "ã‚ãªãŸã¯ su %s ã«èªè¨¼ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" -msgstr "(¤¢¤Ê¤¿¼«¿È¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤.)" +msgstr "(ã‚ãªãŸè‡ªèº«ã®ãƒ‘スワードを入力ã—ã¦ãã ã•ã„.)" #: src/su.c:419 #, c-format @@ -1823,608 +1630,664 @@ msgid "" "(Ignored)\n" msgstr "" "%s: %s\n" -"(̵¸ú)\n" +"(無効)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" -msgstr "¥·¥§¥ë¤¬¤¢¤ê¤Þ¤»¤ó\n" +msgstr "シェルãŒã‚りã¾ã›ã‚“\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" -msgstr "su¤Ç¤³¤Î¥¢¥«¥¦¥ó¥È¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤òµñÈݤµ¤ì¤Þ¤·¤¿.\n" +msgstr "suã§ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¸ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã‚’æ‹’å¦ã•れã¾ã—ãŸ.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "¥Ð¥¤¥Ð¥¹¤Ë¤è¤Ã¤Æ¥Ñ¥¹¥ï¡¼¥É¤òǧ¾Ú¤·¤Þ¤¹.\n" +msgstr "ãƒã‚¤ãƒã‚¹ã«ã‚ˆã£ã¦ãƒ‘スワードをèªè¨¼ã—ã¾ã™.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" -msgstr "ǧ¾Ú¤È¤·¤Æ, ¤¢¤Ê¤¿½êÍ­¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤.\n" +msgstr "èªè¨¼ã¨ã—ã¦, ã‚ãªãŸæ‰€æœ‰ã®ãƒ‘スワードを入力ã—ã¦ãã ã•ã„.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" -msgstr "¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó\n" +msgstr "パスワードファイルãŒã‚りã¾ã›ã‚“\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "'root'¤Î¥Ñ¥¹¥ï¡¼¥É¥¨¥ó¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó\n" +msgstr "'root'ã®ãƒ‘スワードエントリãŒã‚りã¾ã›ã‚“\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" -msgstr "¥·¥¹¥Æ¥à¥á¥ó¥Æ¥Ê¥ó¥¹¥â¡¼¥É¤ØÆþ¤ê¤Þ¤¹\n" +msgstr "システムメンテナンスモードã¸å…¥ã‚Šã¾ã™\n" -#: src/useradd.c:251 -#, c-format +#: src/useradd.c:234 +#, fuzzy, c-format msgid "%s: rebuild the group database\n" -msgstr "" +msgstr "%s: グループ %s ã¯ä¸é©åˆ‡ã§ã™\n" -#: src/useradd.c:260 -#, c-format +#: src/useradd.c:243 +#, fuzzy, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "" +msgstr "%s: シャドウ・グループ・ファイルãŒé–‹ã‘ã¾ã›ã‚“\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 -#, c-format +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 +#, fuzzy, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "" +msgstr "%s: コメント `%s' ã¯ä¸æ­£ã§ã™\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" -msgstr "%s: ÉÔÌÀ¤Ê¥°¥ë¡¼¥×ID %s\n" +msgstr "%s: 䏿˜Žãªã‚°ãƒ«ãƒ¼ãƒ—ID %s\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" -msgstr "%s: ÉÔÌÀ¤Ê¥°¥ë¡¼¥× %s\n" +msgstr "%s: 䏿˜Žãªã‚°ãƒ«ãƒ¼ãƒ— %s\n" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "¥°¥ë¡¼¥×=%s,%u ¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê=%s ¿÷·¿=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "¥·¥§¥ë=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" msgstr "" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" msgstr "" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" msgstr "" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" msgstr "" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" msgstr "" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "" -#: src/useradd.c:498 -#, c-format +#: src/useradd.c:462 +#, fuzzy, c-format msgid "%s: cannot create new defaults file\n" -msgstr "" +msgstr "%s: グループ・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/useradd.c:503 +#: src/useradd.c:467 #, fuzzy, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: ¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgstr "%s: グループ・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/useradd.c:596 src/useradd.c:608 -#, c-format +#: src/useradd.c:552 src/useradd.c:564 +#, fuzzy, c-format msgid "%s: rename: %s" -msgstr "" +msgstr "%s: %sを作æˆã§ãã¾ã›ã‚“" -#: src/useradd.c:697 src/usermod.c:281 -#, c-format +#: src/useradd.c:657 src/usermod.c:265 +#, fuzzy, c-format msgid "%s: group `%s' is a NIS group.\n" -msgstr "" +msgstr "%s: %sグループ㯠NIS ã®ã‚°ãƒ«ãƒ¼ãƒ—ã§ã™\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "»ÈÍÑË¡: %s\t[-u ¥æ¡¼¥¶ID [-o]] [-g ¥°¥ë¡¼¥×] [-G ¥°¥ë¡¼¥×,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "使用法: useradd [-u ユーザID [-o]] [-g グループ] [-G グループ,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t[-d ¥Û¡¼¥à] [-s ¥·¥§¥ë] [-c ¥³¥á¥ó¥È] [-m [-k ¥Æ¥ó¥×¥ì¡¼¥È]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "" +" [-d ホーム] [-s シェル] [-c コメント]\n" +" [-m [-k テンプレート]]\n" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " -msgstr "[-f ̵¸úÆü¿ô] [-e ´ü¸ÂÀÚ¤ìÆü] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f 無効日数] [-e 期é™åˆ‡ã‚Œæ—¥]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A ¥×¥í¥°¥é¥à] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g グループ] [-b ベース] [-s シェル]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p ¥Ñ¥¹¥ï¡¼¥É] ¥æ¡¼¥¶Ì¾\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s\t-D [-g ¥°¥ë¡¼¥×] [-b ¥Ù¡¼¥¹] [-s ¥·¥§¥ë]\n" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t[-f ̵¸úÆü¿ô] [-e ´ü¸ÂÀÚ¤ìÆü]\n" - -#: src/useradd.c:850 src/usermod.c:480 -#, c-format +#: src/useradd.c:793 src/usermod.c:461 +#, fuzzy, c-format msgid "%s: error locking group file\n" -msgstr "" +msgstr "%s: グループ・ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/useradd.c:855 src/usermod.c:486 -#, c-format +#: src/useradd.c:798 src/usermod.c:467 +#, fuzzy, c-format msgid "%s: error opening group file\n" -msgstr "" +msgstr "%s: グループ・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/useradd.c:862 src/usermod.c:597 -#, c-format +#: src/useradd.c:805 src/usermod.c:578 +#, fuzzy, c-format msgid "%s: error locking shadow group file\n" -msgstr "" +msgstr "%s: シャドウ・グループ・ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/useradd.c:867 src/usermod.c:603 -#, c-format +#: src/useradd.c:810 src/usermod.c:584 +#, fuzzy, c-format msgid "%s: error opening shadow group file\n" -msgstr "" +msgstr "%s: シャドウ・グループ・ファイルãŒé–‹ã‘ã¾ã›ã‚“\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" -msgstr "%s: ¥æ¡¼¥¶ID %u ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "%s: ユーザID %u ãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" -msgstr "%s: °ì°Õ¤Î¥æ¡¼¥¶ID¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: 一æ„ã®ãƒ¦ãƒ¼ã‚¶IDã‚’å–å¾—ã§ãã¾ã›ã‚“\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s: ¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤ÏÉÔÀµ¤Ç¤¹\n" +msgstr "%s: ベースディレクトリ `%s' ã¯ä¸æ­£ã§ã™\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s: ¥³¥á¥ó¥È `%s' ¤ÏÉÔÀµ¤Ç¤¹\n" +msgstr "%s: コメント `%s' ã¯ä¸æ­£ã§ã™\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s: ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤ÏÉÔÀµ¤Ç¤¹\n" +msgstr "%s: ホームディレクトリ `%s' ã¯ä¸æ­£ã§ã™\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s: ÆüÉÕ `%s' ¤ÏÉÔÀµ¤Ç¤¹\n" +msgstr "%s: 日付 `%s' ã¯ä¸æ­£ã§ã™\n" -#: src/useradd.c:1242 -#, c-format +#: src/useradd.c:1102 +#, fuzzy, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "" +msgstr "%s: シャドウ・パスワードã«ã¯ -e ãŠã‚ˆã³ -e ãŒå¿…è¦ã§ã™\n" -#: src/useradd.c:1258 -#, c-format +#: src/useradd.c:1118 +#, fuzzy, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "" +msgstr "%s: シャドウ・パスワードã«ã¯ -e ãŠã‚ˆã³ -e ãŒå¿…è¦ã§ã™\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, fuzzy, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: シェル `%s' ã¯ä¸æ­£ã§ã™\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s: ¥·¥§¥ë `%s' ¤ÏÉÔÀµ¤Ç¤¹\n" +msgstr "%s: シェル `%s' ã¯ä¸æ­£ã§ã™\n" -#: src/useradd.c:1377 -#, c-format +#: src/useradd.c:1237 +#, fuzzy, c-format msgid "%s: invalid user name '%s'\n" -msgstr "" +msgstr "䏿­£ãªãƒ¦ãƒ¼ã‚¶å'%s' ã§ã™\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 -#, c-format +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 +#, fuzzy, c-format msgid "%s: cannot rewrite password file\n" -msgstr "" +msgstr "%s: パスワード・ファイルを上書ãã§ãã¾ã›ã‚“\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 -#, c-format +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 +#, fuzzy, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "" +msgstr "%s: シャドウ・パスワード・ファイルを削除ã§ãã¾ã›ã‚“\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 -#, c-format +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 +#, fuzzy, c-format msgid "%s: unable to lock password file\n" -msgstr "" +msgstr "%s: パスワードファイルをロックã§ãã¾ã›ã‚“\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 -#, c-format +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 +#, fuzzy, c-format msgid "%s: unable to open password file\n" -msgstr "" +msgstr "%s: パスワードファイルãŒé–‹ã‘ã¾ã›ã‚“\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 -#, c-format +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 +#, fuzzy, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "" +msgstr "シャドウ・パスワード・ファイルをロックã§ãã¾ã›ã‚“\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 -#, c-format +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 +#, fuzzy, c-format msgid "%s: cannot open shadow password file\n" -msgstr "" +msgstr "%s: シャドウ・パスワード・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "" - -#: src/useradd.c:1604 -#, c-format +#: src/useradd.c:1435 +#, fuzzy, c-format msgid "%s: error adding new password entry\n" -msgstr "" +msgstr "%s: パスワードDBMエントリ追加ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/useradd.c:1618 -#, c-format +#: src/useradd.c:1449 +#, fuzzy, c-format msgid "%s: error updating password dbm entry\n" -msgstr "" +msgstr "%s: パスワードDBMエントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/useradd.c:1634 src/usermod.c:1471 -#, c-format +#: src/useradd.c:1465 src/usermod.c:1151 +#, fuzzy, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "" +msgstr "%s: シャドウ・パスワード・エントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/useradd.c:1650 src/usermod.c:1488 -#, c-format +#: src/useradd.c:1481 src/usermod.c:1168 +#, fuzzy, c-format msgid "%s: error updating shadow passwd dbm entry\n" -msgstr "" +msgstr "%s: シャドウパスワード DBMエントリ ã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼\n" -#: src/useradd.c:1682 -#, c-format +#: src/useradd.c:1513 +#, fuzzy, c-format msgid "%s: cannot create directory %s\n" -msgstr "" +msgstr "%s: ディレクトリ%sã‚’ %sã¸åå‰å¤‰æ›´ã§ãã¾ã›ã‚“\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" -msgstr "%s: ¥æ¡¼¥¶ %s ¤Ï¸ºß¤·¤Þ¤¹\n" +msgstr "%s: ユーザ %s ã¯å­˜åœ¨ã—ã¾ã™\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, 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" +"%s: グループ %s ã¯å­˜åœ¨ã—ã¾ã™ − ã‚‚ã—ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’ãã®ã‚°ãƒ«ãƒ¼ãƒ—ã¸è¿½åŠ ã™ã‚‹ã«ã¯, -" +"g を利用ã—ã¦ãã ã•ã„.\n" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" msgstr "" -#: src/userdel.c:129 +#: src/userdel.c:124 #, c-format -msgid "usage: %s [-r] name\n" -msgstr "»ÈÍÑË¡: %s [-r] ¥æ¡¼¥¶Ì¾\n" +msgid "Usage: %s [-r] name\n" +msgstr "使用法: %s [-r] ユーザå\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s: ¥°¥ë¡¼¥×¡¦¥¨¥ó¥È¥ê¤Î¹¹¿·¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: ã‚°ãƒ«ãƒ¼ãƒ—ãƒ»ã‚¨ãƒ³ãƒˆãƒªã®æ›´æ–°ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" -msgstr "%s: DBM¥°¥ë¡¼¥×¡¦¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: DBMグループ・エントリを更新ã§ãã¾ã›ã‚“\n" -#: src/userdel.c:219 +#: src/userdel.c:214 #, fuzzy, c-format msgid "%s: cannot remove dbm group entry\n" -msgstr "%s: DBM¥°¥ë¡¼¥×¡¦¥¨¥ó¥È¥ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: DBMグループ・エントリを更新ã§ãã¾ã›ã‚“\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: TCFS¥­¡¼¡¦¥Õ¥¡¥¤¥ë¤òºÆ½ñ¤­¹þ¤ß¤Ç¤­¤Þ¤»¤ó\n" +msgid "%s: cannot open group file\n" +msgstr "%s: グループ・ファイルを開ã‘ã¾ã›ã‚“\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: TCFS¥­¡¼¡¦¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: TCFS¥­¡¼¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: シャドウ・グループ・ファイルãŒé–‹ã‘ã¾ã›ã‚“\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: ¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥°¥ë¡¼¥×¡¦¥Õ¥¡¥¤¥ë¤¬³«¤±¤Þ¤»¤ó\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¡¦¥¨¥ó¥È¥êºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: パスワード・エントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥¨¥ó¥È¥êºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: シャドウ・パスワード・エントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: TCFS¥¨¥ó¥È¥êºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥ÉDBM¥¨¥ó¥È¥êºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: パスワードDBMエントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/userdel.c:533 -#, c-format +#: src/userdel.c:440 +#, fuzzy, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "" +msgstr "%s: シャドウ・パスワード・エントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s: ¥æ¡¼¥¶ %s ¤Ï¸½ºß¥í¥°¥¤¥óÃæ¤Ç¤¹\n" +msgstr "%s: ユーザ %s ã¯ç¾åœ¨ãƒ­ã‚°ã‚¤ãƒ³ä¸­ã§ã™\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s: ·Ù¹ð: %s¤Ï %s ¤Î½êÍ­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó, ºï½ü¤Ï¹Ô¤¤¤Þ¤»¤ó\n" +msgstr "%s: 警告: %s㯠%s ã®æ‰€æœ‰ã§ã¯ã‚りã¾ã›ã‚“, 削除ã¯è¡Œã„ã¾ã›ã‚“\n" -#: src/userdel.c:666 -#, c-format +#: src/userdel.c:600 +#, fuzzy, c-format msgid "%s: warning: can't remove " -msgstr "" +msgstr "%s: 警告: %s ã¯%sã®æ‰€æœ‰ã§ã¯ã‚りã¾ã›ã‚“\n" -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" -msgstr "%s: ¥æ¡¼¥¶ %s ¤Ï¸ºß¤·¤Þ¤»¤ó\n" +msgstr "%s: ユーザ %s ã¯å­˜åœ¨ã—ã¾ã›ã‚“\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" -msgstr "%s: ¥æ¡¼¥¶ %s ¤Ï NIS ¥æ¡¼¥¶¤Ç¤¹\n" +msgstr "%s: ユーザ %s 㯠NIS ユーザã§ã™\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, 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:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" -msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê%s ¤Îºï½ü¤Ï¹Ô¤¤¤Þ¤»¤ó (would remove home of user %s)\n" +msgstr "%s: ディレクトリ%s ã®å‰Šé™¤ã¯è¡Œã„ã¾ã›ã‚“ (would remove home of user %s)\n" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê %s ¤Îºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: ディレクトリ %s ã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, fuzzy, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "使用法: %s\t[-u ユーザID [-o]] [-g グループ] [-G グループ,...] \n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" -msgstr "\t\t[-d ¥Û¡¼¥à [-m]] [-s ¥·¥§¥ë] [-c ¥³¥á¥ó¥È] [-l ¿·µ¬¥æ¡¼¥¶Ì¾]\n" +msgstr "\t\t[-d ホーム [-m]] [-s シェル] [-c コメント] [-l æ–°è¦ãƒ¦ãƒ¼ã‚¶å]\n" -#: src/usermod.c:332 +#: src/usermod.c:313 #, fuzzy -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DEFAULT|¥×¥í¥°¥é¥à},...] " +msgid "[-f inactive] [-e expire] " +msgstr "[-f 無効日数] [-e 期é™åˆ‡ã‚Œæ—¥] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" -msgstr "[-p ¥Ñ¥¹¥ï¡¼¥É] [-L|-U] ¥æ¡¼¥¶Ì¾\n" +msgstr "[-p パスワード] [-L|-U] ユーザå\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" -msgstr "%s: update_group Ãæ¤Ë¥á¥â¥ê¤¬ÉÔ­¤·¤Þ¤·¤¿\n" +msgstr "%s: update_group 中ã«ãƒ¡ãƒ¢ãƒªãŒä¸è¶³ã—ã¾ã—ãŸ\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" -msgstr "%s: update_shdow Ãæ¤Ë¥á¥â¥ê¤¬ÉÔ­¤·¤Þ¤·¤¿\n" +msgstr "%s: update_shdow 中ã«ãƒ¡ãƒ¢ãƒªãŒä¸è¶³ã—ã¾ã—ãŸ\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" -msgstr "%s: ¤Ò¤È¤Ä¤â¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó\n" +msgstr "%s: ã²ã¨ã¤ã‚‚ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï -e ¤ª¤è¤Ó -e ¤¬É¬ÍפǤ¹\n" +msgstr "%s: シャドウ・パスワードã«ã¯ -e ãŠã‚ˆã³ -e ãŒå¿…è¦ã§ã™\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s: ¥æ¡¼¥¶ID %lu ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +msgstr "%s: ユーザID %lu ãŒé‡è¤‡ã—ã¦ã„ã¾ã™\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥Éǧ¾ÚÊýË¡¤Îºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥Éǧ¾ÚÊýË¡¤ÎÊѹ¹¤Î¥¨¥é¡¼¤Ç¤¹\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¡¦¥¨¥ó¥È¥êÊѹ¹¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: パスワード・エントリ変更ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥É¡¦¥¨¥ó¥È¥êºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: パスワード・エントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥ÉDBM¥¨¥ó¥È¥êÄɲäΥ¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: パスワードDBMエントリ追加ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "%s: ¥Ñ¥¹¥ï¡¼¥ÉDBM¥¨¥ó¥È¥êºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: パスワードDBMエントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: ¥·¥ã¥É¥¦¡¦¥Ñ¥¹¥ï¡¼¥É¡¦¥¨¥ó¥È¥êºï½ü¤Î¥¨¥é¡¼¤Ç¤¹\n" +msgstr "%s: シャドウ・パスワード・エントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" -msgstr "%s: ¥·¥ã¥É¥¦¥Ñ¥¹¥ï¡¼¥É DBM¥¨¥ó¥È¥ê ¤Îºï½ü¤Î¥¨¥é¡¼\n" +msgstr "%s: シャドウパスワード DBMエントリ ã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê %s¤Ï¸ºß¤·¤Þ¤¹\n" +msgstr "%s: ディレクトリ %sã¯å­˜åœ¨ã—ã¾ã™\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" -msgstr "%s: %s¤ò ºîÀ®¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %sã‚’ 作æˆã§ãã¾ã›ã‚“\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s: %s¤òchown¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: %sã‚’chownã§ãã¾ã›ã‚“\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" -msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê%s¤ò %s¤ØÌ¾Á°Êѹ¹¤Ç¤­¤Þ¤»¤ó\n" +msgstr "%s: ディレクトリ%sã‚’ %sã¸åå‰å¤‰æ›´ã§ãã¾ã›ã‚“\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" -msgstr "%s: ·Ù¹ð: %s ¤Ï%s¤Î½êÍ­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n" +msgstr "%s: 警告: %s ã¯%sã®æ‰€æœ‰ã§ã¯ã‚りã¾ã›ã‚“\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "mailbox¤Î½êÍ­¼Ô¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgstr "mailboxã®æ‰€æœ‰è€…ã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" -msgstr "mailbox¤Î̾Á°Êѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgstr "mailboxã®åå‰å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s: %s ¤ÎÊѹ¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó\n" +"%s: %s ã®å¤‰æ›´ã¯è¡Œã‚れã¾ã›ã‚“\n" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" -msgstr "¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤Ç¤­¤Þ¤»¤ó" +msgstr "ファイルをロックã§ãã¾ã›ã‚“" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" -msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤Ç¤­¤Þ¤»¤ó" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã§ãã¾ã›ã‚“" -#: src/vipw.c:206 +#: src/vipw.c:200 #, 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:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`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" + +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: ユーザ %s ã®ã‚¨ãƒ³ãƒˆãƒªã‚’æ›´æ–°ã§ãã¾ã›ã‚“\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "" +#~ "ユーザ %s 㯠TCFSキーをもã£ã¦ã„ã¾ã™, ãã®ãƒ¦ãƒ¼ã‚¶ã®æ—§ãƒ‘スワードãŒå¿…è¦ã§ã™.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "強制的ã«å¤‰æ›´ã‚’行ã†ã«ã¯, オプション -t ãŒå¿…è¦ã§ã™\n" + +#, fuzzy +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "%s: ユーザ %s 㯠NIS ユーザã§ã™\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "" +#~ "TCFSキーデータベースをロックã§ãã¾ã›ã‚“, 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„.\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "TCFSキーデータベースを開ã‘ã¾ã›ã‚“.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "TCFSã‚­ãƒ¼ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ›´æ–°ã®ã‚¨ãƒ©ãƒ¼ã§ã™.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "TCFS変更をcommitã§ãã¾ã›ã‚“.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: TCFSã‚­ãƒ¼ãƒ»ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å†æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: TCFSキー・ファイルをロックã§ãã¾ã›ã‚“\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: TCFSキー・ファイルを開ã‘ã¾ã›ã‚“\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: TCFSエントリ削除ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f 無効日数] [-e 期é™åˆ‡ã‚Œæ—¥]" + +#, fuzzy +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: パスワードèªè¨¼æ–¹æ³•ã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" + +#, fuzzy +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|プログラム},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: パスワードèªè¨¼æ–¹æ³•ã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" + +#, fuzzy +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: パスワードèªè¨¼æ–¹æ³•ã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: パスワードèªè¨¼æ–¹æ³•ã®å¤‰æ›´ã®ã‚¨ãƒ©ãƒ¼ã§ã™\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A プログラム] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p パスワード] ユーザå\n" + +#~ msgid "%s not found\n" +#~ msgstr "%sã¯è¦‹ä»˜ã‹ã‚Šã¾ã›ã‚“\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: シャドウ・グループ・サãƒãƒ¼ãƒˆç”¨ã«è¨­å®šã•れã¦ã„ã¾ã›ã‚“\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: シャドウパスワードãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "使用法: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "シェル%sã®å®Ÿè¡Œä¸­\n" + +#~ msgid "Dialup Password: " +#~ msgstr "ダイアルアップパスワード: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "使用法: %s [-l] [-m æœ€å°æ—¥æ•°] [-M 最大日数] [-d 最後日] ユーザ\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "使用法: %s [-(a|d)] シェル\n" + +#~ msgid "Shell password: " +#~ msgstr "シェルパスワード: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "シェルパスワードã®å†å…¥åŠ›: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“, ã‚‚ã†ä¸€åº¦ãŠé¡˜ã„ã—ã¾ã™.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: %sを作æˆã§ãã¾ã›ã‚“" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: %sã‚’é–‹ã‘ã¾ã›ã‚“" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: シェル %sãŒè¦‹ä»˜ã‹ã‚Šã¾ã›ã‚“.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "グループ=%s,%u ベースディレクトリ=%s 雛型=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "シェル=%s " + +#, fuzzy +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "[-f 無効日数] [-e 期é™åˆ‡ã‚Œæ—¥] " + +#, fuzzy +#~ msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#~ msgstr "使用法: %s\t[-u ユーザID [-o]] [-g グループ] [-G グループ,...] \n" #~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s: ¥°¥ë¡¼¥×ID %ld ¤Ï½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +#~ msgstr "%s: グループID %ld ã¯é‡è¤‡ã—ã¦ã„ã¾ã™\n" #, fuzzy #~ msgid "unknown gid: %u\n" -#~ msgstr "ÉÔÌÀ¤Ê¥°¥ë¡¼¥×ID¤Ç¤¹: %d\n" +#~ msgstr "䏿˜Žãªã‚°ãƒ«ãƒ¼ãƒ—IDã§ã™: %d\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s: ¥æ¡¼¥¶ID %d ¤Ï½ÅÊ£¤·¤Æ¤¤¤Þ¤¹\n" +#~ msgstr "%s: ユーザID %d ã¯é‡è¤‡ã—ã¦ã„ã¾ã™\n" #~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "¥æ¡¼¥¶ %s: ÉÔÀµ¤Ê¥æ¡¼¥¶ID¤Ç¤¦¤¹ (%d)\n" +#~ msgstr "ユーザ %s: 䏿­£ãªãƒ¦ãƒ¼ã‚¶IDã§ã†ã™ (%d)\n" #~ msgid "%s: no aging information present\n" -#~ msgstr "$s: ´ü¸Â¾ðÊ󤬤¢¤ê¤Þ¤»¤ó\n" +#~ msgstr "$s: æœŸé™æƒ…å ±ãŒã‚りã¾ã›ã‚“\n" #~ msgid "group %s: bad GID (%d)\n" -#~ msgstr "¥°¥ë¡¼¥× %s: ÉÔÀµ¤Ê¥°¥ë¡¼¥×ID (%d) ¤Ç¤¹\n" +#~ msgstr "グループ %s: 䏿­£ãªã‚°ãƒ«ãƒ¼ãƒ—ID (%d) ã§ã™\n" #~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s: ¸¢¸Â¤¬µñÈݤµ¤ì¤Þ¤·¤¿(¥·¥§¥ë).\n" +#~ msgstr "%s: 権é™ãŒæ‹’å¦ã•れã¾ã—ãŸ(シェル).\n" #~ msgid "[-p passwd] [-n] [-r] name\n" -#~ msgstr "[-p ¥Ñ¥¹¥ï¡¼¥É] [-n] [-r] ¥æ¡¼¥¶Ì¾\n" +#~ msgstr "[-p パスワード] [-n] [-r] ユーザå\n" diff --git a/po/ko.gmo b/po/ko.gmo index d9bad01db218f7a1ae2e5c0a94f7013e8e17d9ef..6c6b0d7ff94fc93405a7841ce9da474778bb1d77 100644 GIT binary patch literal 40633 zcmb`Q37l2Mo$rsvB+@Q%U!xuuLZjRk+-)?9f{Fnoh+7E4rTcc%(%rYcx0^*#Sz1Lv zK?OktrX5glOAt^Y>SXe=yh$dRY;R_=Oq^t5l1bm&lSwl1&C5$>-uG8kXS?^@rqy>p zpX%Q^RsX8`*T4Stul@AfM;)}@O}c^Uf=1ScQN=3_%ZN@ z;1S@j!6U&xy7xoR@VrBKKLtD%90{HYUIC5(o4{G%DsU`V0vo^)5RC_K21kNVgQLK& zf~SJN15W~vJj>!J@Oa*@1qt$Iffs?xK_C1Acpms;uns(YxaX-TCxUo+=Ytf{yVYS1 z6kP#47`z8O41Bh-zjxRVs+|7~ir=&9 zJ@07n)1c^bp!mBBBx`Sr3;!ypa{dq$zyIOza4JRRs0T$q0Tf+3D1ILVPXV{O_b-8{ zg!dCr`TaMjavXEEjdwPvcoRUy%ewdbK*f6+6n}4llJn0%$?cDzGLDk=Lp!oQb3;z+Qcpn;L z`5X?4|LfiRd{AD}WO6SX<^8Hs(az5k&oBu_i@|_7P--kfy@orG@zXgiV0Z`>U z=0fX#5vX`KgU5i&K*iets=Ti_|G#tZKL?ebjE)cZpyi3$>0%r2Qc(5(X;AbXpu$%j0ROdGaSwb zmENPE@_X6&e+N|hCC~?lU25Z<4I(0M0{AiTF7Rk@C3rcw1w0D;Cs67A22{Nq)oAtU zV(>WLr-G7GD=4`?2p$f84)npdK*{}WP z70(}M>vtBY@)y85@ImlF@G(&Oane)90p!8xS_;K(OQ02bKy|=mW2SDYs9+Y0Z4vN2TgNK0cfYR50cm5hwDE(tW z(VgkuF9AQo`!%5Qo$T9b-vw2lhhJmM*#Ij4Mo|2X z2Sq;_{0O)N{3!S!sPxu=s+X;x^8Z^DHGw|36g(CDOHg*3j|pKd*tx_v@e!{t7$=$1&hJyf=bM zw*@=`TnOWRs{FqK$AJgkV%zIAV21ap4(|oU=SvRvfzrdTfs*TY zLFxZbT)20u)w9FE8Ti+Or-Qwq?Avo7rpJ2&JR04 z28rSw^%*-an+IOb`*!dG@E4%UcM_SZTvvihebT7`kjCMOe?2JpxVV91DI06up3N{kH8ypAz8>sX~x7c_KL8bc|h$?yqw%YRE242ehN>KXv6;S#74!jT?O`{kA zwt(XQ5m5B|K$YY7pz^J6v+Ht-r+rTTqe*{H$LZ^*? z6PV$B4LAyX3;YDw@9@aHwPTln3U3C_2OkB`1-}Z4k3WFQ_uMWkzZ@w4t)R;J6Hxr0 zey2?*3yS^`Q2t+Wcu>LeHy*qm|E1t?@SC9I^gB>|j44`sa62e|mx3d~9iZg-m5=WXy*aM(i2XFaHTnF%W2r$8eYQ2ZUV$oBUafZ~5U zcoz5#5Yc+S0gnY|-(~Ze4_?UoR`5jdhu{g|@16glciZ%@0u{atJRjTyP5{3Hjs=ff zZ2OsMpx&Pbj|cw|JO}&@I0-!Y9xI2rp!j|flsrnHqUaPXJlCEy=G=}E&X>wi6{c5oZ`5ik#)4bFG|&wyw0{yI1u{4v-79?f8w1wyJ{uJO^T30_A}F~p1|`?;gOckzU_JOQ zC_Opt5!>!R1AdbC4d9jFKY*u#$FH&SxCm7HyaAN_mxCE_H>mV}21*WfYc2gJK)qi9 zz5&hvF`eG=kD8&7w-Qu3?|>@LF^^d}jRSq&+Z{d(p2hp;z!Bj0!I9wq1*IRuA4k{0 zD?rs}37igoWSzBBGeGfqFDN~F2|N^h2fPmaEvWivT<`2TD8841M}wO|)$=Rh@nAow z`aJLn+io(T^kO!6IruCn{(cTB-@`W8b~F~ekoUX6^T1aez61KaAHUJsy-PsR-3v|y z_kb6HAAZv6_hk-01D=5YLQwVeD0l|A6I6YCAG{3w6L=|j=~Gr8iw^Gs#phB`@_!MO z9DV?*Uj77%k5NzCbmoAc;QcSagTb$XCxhPxMOOmHf~Rk?dNvc(dmg+Vd=XSR-UU^k zna!5ZY2Zn`-wjHxPq_ClftT_APoVfeaf_wD5tRR8@BmQ1|H6F=w+N4)$;18jf{53f zivPzzvi90|Ms>XDpnhvW=|LBG0B)`G|3CQsHEt#DQ2bC+ZyQcO$w9we7QFunE`?^i zi!1L#cs?I@JI^PB-vV#M-QZ~2c>X>v_g6?A6-8}!u`Af(2`-TPY zR>J4vq)R6{zYg#k_k05={W=MnJ>aXjPx5>(*aSWVPQ*Qr3x2=kVS;-pLbDvFpX`Z# z|6;-Xy_vt~;Eu(;h5K*Z70}NIM}jj!*_DsrI&o*=)=xPQY<#`WOzyMyrEU>@wneFPW(J;BRT+y(ew@4{NZ%W-O7mA`4C!CedF^vv&Z z3mzuM>%-lNE8@1};=ke0ACJdZaa-a6JbwX~!ySTK;?n&P&)vAc!KrQcouhXLH@ag%WWid%@A>1e;rGbYhH&b?0rKklAa;D0aA*WsS# z`DolJJl_WfzrW|<6ZqW&zJdELZY=I@{Jsg!!X3`DeqFe8d2Vp;ZyI0rNE`<6?>t-v z&6D6r+!)*~E)I{TU%W#P{O-q1H&6D@HI8l=uctWwI{f~E=cC-aU^wo>xLa^1;DX<3 zXwQu0wTysyvG>V5H{y3H?&2U4I3NE%f?va3<@{T~S8(U!nw;NdaL>bdUc>X9;90nP za0_^U$AzE6`)r z0QI|(=WB8L-3H!=Tg3C}xHE81;q*HQS0L;e^Jd2x(|A4@zYD-ez~gaKaCh;36Ye(L zk8%3_1oxlj37v=LFx=U=(YP!wPgpCc--X~Y_R);*mh;@KuwlbyWSafC`Hq}FBhxW+ zCVz{5ac-`?U5`zEQ@*1k*V(O?cE2;XU{+_gBR8|o8+J`kd%Hh{mqvehk@xGA#MHU@ z&cI_@KHuR_>FJo0D>#x{@`ZVElDgqVzdhgD*4gNLJd4V2EBZa1O>?uIt-0npuWpip z{qDAoT(h6=>GrcN-MNB4yxA}2n)02^#Rh0@TvY7Nb@)x~`65&;`GQ}7w5>DecVyc- zyK|k{&ZZo6(-(E+C{Jg1A>U4!yYqfmA>WiE&Vsh?xqfH9(2;HTi{05mcTd--x_T07 zZJVDXwS2eVl`R$*>}^q{=X3d|MILI&)3k{+vb147M^Eo41jXpKWi?FUU1FAbdah3u&7Iw82RM##yYG+1foR}|+YG`N>(d5`$D^l-D z67MHCYhuszQ(`vP4(gieX9{R+u{)U={xdRjO@N+Se5a{#?iZpG3l-YwceHitVS&GZ zYSUAjE&fasFP`+>nfAq*p2eBw#hDuyXL9!>2_%keGnF--G+J$0l-wMDPPS+y8MG&* zi460d{N?fLxp@@U&#G00+JY_+f{s!Ve)rs*?^G?@48Lu~?n1UZUl7rZ;qA?|o?J`! z%?~-0_|>i!`b9v1Y5k^Q>*IE=V@%6t;B_c*~1&gj2>Mak$ACD2|CXN(aK=A z*hcH|+q1=P+g2NVf0AAnWQ$>GV8}MzY$rmTpKWiWfy#!MfDuK1s%t$obhYy{h8NE; zEs^#>lW%X&wbJrv^#zKZD_~BnHK?nf*h;g^HIEE@R1zdcgUtFiA5%tGC6NuW6g{17 zclP9}0wvce6K_NpFdT(2X~k*D_jEQ>2LIe#chk8}F;tpxo zt~+zn#PP@M>;n|#P zM{Fo$wmHARwh6zbt(`7G?AeG(n#kB!khSL23YzA{qsq^vofhPDFsx;ppCY-Co}m71 zh|;jyXSFL)W)mphQ7$U8x&~rt*oIMAP?Lg9xk?C8nCa*$%5FkkK~qy5RKWSJTxV5= zp{G+7%f0bU=iUU>;64gV`xSo+vCPm^2b2l9Xg4QKgB)r5_Qgr$zuN38h!MOTejHlul|A zHIy=*Mw(i>a3_FT1&s%%s75l8O7%;I4qDVfYuR*K40JSHX`a*J3~7?(N*b4-&9s`- zDyQu(W~&FF^HIlKY3-G4lQr$lbdOD_xjNXeCS&1-yIf1Qr@gzFY>6TYm9#Q;+_w0nD#o7L=`4V znOn#(+^Jr3-VEg!A-DH5=lnC;&#+U;JR{74-_o9Kb%eP>f!QR}1O|ep0adk#DvD4j zv1U_6R9WI$v|(Z@dMzRvRxrW!)Q8yIOdA#3Ep0ib9Jb9>1ck|0C2hu4iXD=qa!^fH zJEeG;n~fzJ8m-EfLfMTu$u*DC?1ME2W+QgS5ih5VgUV2;##RbJXbl~;L~6galL$fw zO`5UI5gCQ?H?!*ElXHDsS8N)>uYk|^)sEG0;* zsBtq@nizq%^3>U#!VfEq9X@nsskAy}vy_q&%?xNwKRlvJBCJ)i23g6gu^q#k zgITW|Q(Zf8yk$8(n5lYdu+dGH3AL;+7(vhms%fNJEp05gB!=d3E=1w-36e?A&@2YD zWND~w;UY{Ws2_P$uwZDSg)y~?Fq&Bmq3y?4=PIIi%tKrJ)J%KQRzf=5`bVLMsjyb* zvMk7IIVan0Q#N%;yK_rK@iy6+H?t@dJ!{$tBW1TVn4yLGTDQfkD_3Cso5gaMUOwp7 z!gn($G3(l$fuBZmc8x05`rx8|LB6NG*#_q97D2uxs46#&)S5h=9V8GaLBdOOPFsJo zViut$iM4W;v94^#EVCFNj6{aJQc=jXm8wE+PEQ;BYIV;x@IY8Ly?A({H>o7E4cRT8 z6>?qqVw;FUZC7&F*p6G;U+S`1e5?0!LJT!OY1l~YfbVofSPON+_03@J%R zC7I00v6W&5A!fV7leWv>bZ-9KEIS=@axBu=>T;zUgkY>MJ?@xi_zcKdWbVjzx+w#T z$6dLmHmq>7U(doj`!?F_P{u5J`NP{&dmj^&9@3ee!_10#hMBI}N{)KOo@8(!KT|-L zYmy>Sb!q9OPTHbuOz@!D7>b(N*u_%Q54+JtU^bE+RNzZ1qlfT=Nmk%3;~A7MW&Jfy z7Onm|i<{cT2VwCZKJW`W_*kxXT}4)_si(lqu)BSc_6pd+qxoCTw8_Fq$}CLDrpK1a z_e+qrjvl6W^|T4&rcao4-3^l`BwObwzpFi`5e1C;nGQH%u|M1F^e>Dbtb<_ybG}zU z!R*zUl{2j_2bJ3}(mVU?DLLlOQNg%sJg%uJSJc*uU+mG}?zveuCYqYqMCkU%Pna@s z!g%t7%6LrBep=Sp>G4_>tG|t3X7c3B`0*o?M7d()FmIflEe3)o`A93S$~K3*Nv3Sd zcvrhsaZO|FzF{<$A+jA-KqT?Ig%{S~3DN#0Yz9HvMomn0f&g}c*~AP)VwzRZy+qMt zdk-$2X{)j$iI`(6*RP`_Orxoa5QV$7##9PT;xuB9@?zet26J@~qG(w|)7GiJ(pHFe zjjPD)zN;O5r4l4^iE8I+({D=7+Ous^T^GBu?4l_Vc6nRcT2aTAyowZ(vMB-wth%tX zUEq0Mj=dV1l=$VDHa6dH&eG3z%I>N$UE!i@GsFm4Cd{TNua4|IEPA$SUQd@d;nt}W zr%kwACA1o@RO2HX>@)j|9X%cD&4)7`##~3Qs%Ez}H?nSO)U2{P9x#XTi&1I~4!Y=^ zP5-35Y6`0c$nFcn9G0Nzw(KBR+xAI5*vsq5jq;IC7u#P&f5MdM6Q&t?iPL7gp!fbF zxmeN)cT!+-bS%K1oNuPvonY2yOwT7e<*8-9uzs;=g+*ezny!i_JQ(3!JMD&>rd~e0 zr_PgkGSZJuNpRI}+||=3-i&`cz2`)?_1-wly|NagmClF+!TKkyk)bfjV_h1?TpH|JC;UTCb4KGv?e}_< z%rgsOmV0lqQ=>4qaoj9&p022qo#G`)tfwO}mbcEE!pd_%#ZIzbyP}QdDS2;7J{rM} zGL~Ak$q>|xcuXanDh;HW;M&CwAf=oQ)p>}M5kFf=H-VF>hgQzfa1Nu_% z0?z!HoxjC)dlg~EyocmL%|}Fm51l|rmF*#u&h9p>i3a+?84+|cB%zV&)J)tfoWM6@ zR2FryQ5hN+w|X6;rX*>*y{^5JIStzMj5pjeB`m(rF@Pj*q&O{?vE*?RL-Nytc}CEw znORU|IHyHNhP)fEn=omTX)`x|YJz(}sTQ&EN$cziwAb2Y?c&PbvbpS};4jLlQ@c@7 z8XWMd!#&aoj%>^_`d#NuA4+m0l}3ks4o@ptl0}TDto7|~nj7on6unlMVg>_e!<6h} zxWUfzP2sq;$(&oVtvcpwYTjorpDrXuT{TROqEroSZ*nu%o9JomFfs74D^bInN!SiA z+gLzQS8`J^+nQ^vn?1j+YrzOV*WAXIi#a!8YNy#9yzx!ApJ96^Mq&rWirZR91Xyi| z#ceHA#%*d)irl!9mm~tMyMmFH|X-d zS*+(#I>})tTd4PvCaFY8CKI?*SrqiA$R8(`8J2yW!HQ>=Mq5D=reuXQ!wI4?r6gHJ z8o_BKe}?9{6@l|x#B0~$)|qbB6lX9DTwLU=m9>er!WS3Ql4$Gf>gkTMq^UAg*CDPMnI1DWMK8=z$k=(VYweiWo_tfpT)`~YBzW@usVof`uSpF1 zbVRL+Fr>IfOF;2oN|bBpsd{uE$Pao_PG8xCUEkum$ly)A9vvQM4%ne%w%qKFOzPxc zzM$Pa83h(#Fe_mkErG?R?Xi$x@)+6ZTjsLb#9;z@0tTSbkxuWne2)n*<6e5Je4*_w zvS)(92ecwdshE&ikQ+_N*R*Ot%3U+vqbY?AbXy4p3$3Fe?? z=uH-(cUVDHA&G^STA`KE?eeYE)M=blaZY}rS)wR-QLx+ccEKiqmKk8t3z|ry)?;N* zjM4|I&o)#>Gg!Y)hM0JckRs^+7hH+@7;mdJ_fIk|B9iC|D@uG}GkQ#B%mx1FiyJQ(bIxea2t$~emYd(E zG$Xn(nbGHEMxXDGxv+8crRR*k6gtffGt&#%&LSs5^Nb;{Tflr|lz$_CGuKnn%jUP` zImX$2Wswp!H0M4^l+M;3#sHb=xok(H|0zzdaf0}=dHE~b+ZytP)=$<=o;Z0zRH88r zqw91ynzo(MX?_;4a|^rA4ytOCmaP)RHS?CNL@0`HM#Xk~wX3 z%=YHPz>_Qd(zc9;KUzU!@pX-rVaC ztlwDb+g5shk2&{kZ(x|*w%lLpdzR30?_Pw=wTu4O_m=t|49ZBl#0iUkLK-@DgGUIXhlA#X7Sz?WZ6mcU-;DEB>De&Au`Sni_+miVQY_CTw;iwRH{ zJS^{}?WS$wFdXAN^v-?;Y9)a@PVZI#+;fW4m^AcVL0D8ay! zn-C2OEM3p}@YcU~XOutcscRrsF6Aw2qq`s#UaH8g`$E1=yvddE(ulGV(M&&$08KZw zLhcd4Fq4739YVX4@~+%V>vZ0lq=nw47w$(yExv8JYQu(Vpeqc3^ z3w*0LJhoNH$HuqOtFDOzfkC~=j%$*Uu{T9*!7L|p)O3+@YF%oB1Wq?%_dQ>xhn7}; zYEMFAjlTEx4J_XrHYJ)k)Ilru`}ZutydkmjlUR@COG~Tvh;-GX&w{!)6#Q?_GhS`~CY!-CCug-Zd$0UqOp6ZGXr#gV*<#H}AD3rS#g8f!>{r zY6qTLZDpWLP3jG(W_7I1OVmGNTB$sqDA(|!v7WCjk)7&WK?7D3iINe8l8##dOs~cq zT4*VgVh}Shy-Kiu?-Hab!4IsVXV@VVvAZwPXzkV(Gno3I{qKlwvM7!6roMrvh`GtB zIoe=M()!-gswV>(iV=!r=%W&t-e*u^9mA1?Xb8PK*?-k#myuzy1Kv!!(QOx>-lN>R z$uI5P)W7Q`rC+PVv23Z@V{1N%*s+*VKNTyD>WRLJib4(|egaF6&2!yb5N8w}^v=@e zH^r9B=_@;HC)`sZCdNF*mT%ohkExE37B*5m^Hw3^=*o?6T9fGp$y0LYYEF6MtL6JQ zN+1Iy^whe6^{y+mf(#9kvnjIUQsPxKNR&d>e8U4_*J-rU)~b5kRoe!hcqom|C?QQC z(7&L!v4aYUQfq!;c{Vy;`W~fk?|*HzQFXH2yt-z9{HF~Qx3KkqErpCn~B1yHheM|W@G;6uL_cO4ux4Z>4 zqxCJ_qdMNar~JfT47Xur^%5~a53lKoN|{jUP?eL?wD*G2q-nWSQ!<<|PS{peGp?Wy zt)=wkr*^t_iEY68z#Wy!cUgP7*W56VnmTr6vRm&g+F7zBbf#>hR2ynq>4YDO;B0;jpVvf#;tZ} z6PPa9$G&I#cRptLGactpRMAPrnMvE>){Ylg)7`K3zxom;e_+{5Rb?|BU43cQzVfO* znR+{s#hfso*67L=AU@qO!zA=2Re1u5Y6sz8zF(*jhcl)qF++TbabD zC25ZG95a<(XC~9^TQF#kuUk_6`ybYZWnvmMu*MpuaAeCu49RCXYrv5L?_Aga#U<$qWwVRK67=acnXX|A zqIl$!K3W~5GNRZudh{sn`_I3o^%+{nn5^3&jtb%niKb$-*!0XE=GqnO7P_;l6+srT z`rlw^#?tn)d+pU#wWDxpON%n4?Q5C2yCxo*l9=KQ$($wx`992XjVc*(N{RecH$#pY z8!c(A_LE*~#O&*|M(B35}!{5VC+2EF@aFCOUw`+&*;}5E|u}p3?=gw^2Q2NF;5PW5Y}DpUf_(wT#>P!C|$o2j8zxzy~Q6QzqWB#k0@(QkduY26*;z`FlaI8 z5R(ZyKFrK^upKWg%GX*g)qQIkZ`F2Ex`onsD%NcWdrw0mPV7y%7U9yomE6|wm2H`Uy*7;K^&OCo81VTD|LfNGoHrTeJkiAmXIRU9@7#z*J_ayw%Xt z?qHYu_LkQ(aY}9vs{*%R=G@$vC%3g$!{CMIHZZ+zfvAPhl!$n z@+bC`o_NC?EZDW&9Ah$j%!7@KV`J#`oQX>wRdT)G);HOsFK_QP6GXf3T(vorsD_{q ztF>+K#~LZLW+S-5)|zrMZ+UukdHV{E;w%rlEq9ip^!&Qg3p*I~``Rgg<`u_ltijH5 z{hbcR4VgF?_?uZ@YOL@8D|XvVM>wY9GOx7*@A{SM+BD63l{rvmRQKh0&m0X9-)DTI zb{GQoW_q`A)K5Dyp6MF;mV`%T>}W%hUK^-$#YqfXxXie4B5XG2tGKIdwdn^Y0{JF( zc~se)ISUS3u-*RDIyROnT2qu`WmaL_{@ri#jf4-7(0=3I8(TI}bKUZ&oAkQ{Rpz2G z6-;kX!AN*;+OgqR7VOCscU&Yoyk+afT2(g2S*UqLw%2LBOcUpds*fMmm(6K6v^Mrx zhFF7)PRy8ZH5kh{xY_#uGw^jQUV|SOuw{&3-!4AlIVaL!OBkwp*>eRi472 zixPA=7329Dob4x4{9sP%S&y(ME5}J)QG#BMuz)L7whb*kzpb>ZH$8qhLUCp<89xl& zPvqz{Q#{5{COnKDB|AIV`Vni#-X?y9P{J-;0em_yULVVo0)Y z4<};TXV(TqvBzvfm@XKe7_r#7yg#sE1^r7fZrZ#W{`+_L(j5lMuvrJxblRDL$eW4J zb2vI1%DrqV%C-*Gv8p;$n$qL1Xk~cYqjg@H6XY+vQChnx(ZxyI^}P;vYCS$&k~lOQ z692&>Z#2`;DL!{xT-z+c8LZgiXX!N+u(a~oX!xlznseBRg9*s7>HtH$UIJ4Zj0x$7 z&AMvZ)Wc{&Fv?CIW8A#jOG#Cxtkx-~vHoBuyJClxYowcgY6%u=(AVO_6v{MUccdX6 z-;CAlinFO^?cZ+LS?b#tj*F-s?o;gEBg+1rub}zi2*%mM7^zipb0#^q>zjI*IHq)l zFEjocj5Rabi!oy^cW~O6<2pOJl<{Q1WX*~-=XLh=mUb?YXdmn|6>U;Yi_#c;s)PY< z>4lfnI-T`&(FYPKbE2_{+uY~Y6a3&f3Er=O});?oR~MuD<-XHc2b!l;9#n4_mT0U z(MKC&_T*KmcdL#pFWV?{?RMQwI=V};(cEs?uuk(!O;q=V=WU0S4$5Uucg63em~W>H zEMp@tmS962tc8~W>}?;0g*$XtM%IRn|0njyI#wNFHyiMeu#4iZ)=*bESH@h+EU!^_ z@nNot6yF$;wY6)p@uh>x25FPDW1MJ-qB1R;4sp>d&PX`JWvOQhsxri&Y3+#;SKmp54u?AT)7Wn~81J zy)^X;$~EXzU@5+17`qB#ER(+T68XhVgzGPoAAE^OEwgk|vCqDwga#jf3Ci}+M$bOF zD-1g5T_GILwX_5?)^NHYCwtd8YtV6Bz|q<6F5cwgQMkepwV}!Yo&I0Jq}_{mzec=_ zFE+2HsoFbb@!JH32$VOj;FcjtMH?Cvn4!zS@+Ha6&YCDYaxq+T(}>Bj9TFxL3TMfc#`aw%&jBW$FqK} zE0w|hr}z-FyzFI-Yc=+Wmhn9lB>B0V^48w+1J8t7I?9YwwFG7l3ddP8^~Zp6`_lMm za&08KU|t~EB$I8Z@~HE|uj^3b^bcln1ff*-EpC#O!ja~mLFK2iQ9Ei|AR@4jZWpT>&Z?W6{ znED_gD*La${q#x=*ERGGk!VA;t?58-qs_Is>`WOrbX}iTXW{Z#~7k{mT2m zo0qWp$Bg&MFp3sW#bMfzMs_zUO!aD7&_QZM6I8HrXCxUVXa?Q;If)Vk~Sjtx4QagIdcr`c}Yh`@Id5NT@-vwb5Gf9cz4-N*bz?F5O&O=9bHm zMcn*W7l>WXm25A)hbX0Gd&sCViauf$&xwEOX}@G;O)>R~uy3dMu7wyyw>vB5(^^tj^o6U%vN}(#9|f$`G^tDszU)`VB-J23PGqRi_Y<#A`6Bt}rdz-b*{zvvlMx`O8|XUAl2+xKvbi zKEs(48`)ftF{W1oOvGxBQkxq))iJGEX0c1wIT+2Fz3!lyYs_V4JhAqI6{woy20N&> ztM;QJ4n|C0W%MJRCLuDHt`%`QeI#sKqlqZYU-lQPc7C-Z2V#m!Vmm5kr_qPO)Tpe8 zwXUZX38!+E92$MEHASk>#}5$K&I#hhZRBfP?mtM>k4&-~SY#G|Z6nvYjY?6YC7g*g zExW4ahCN0NRSM5GIH4#hl+GLh3dCEjftFZHv05Q9U45{dA8-tt@%`J>tzNRyN6nIE z%Z;6^m=bB!+Ovn$roz}G^^*^AA@EJ5*woaNmA*8%aT1OgV#Nr=V8k3PFve@p*vROf hzcCt=D-qMm%qUr`HCxsbgahk(ZBJd=vSSGR{Xh2R_Zk2I literal 39908 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 z z#y8#nO0O=?6dEfYr$b1GdRv37-Q}HUDrRNd~ovIo~ZPYSSyFM8E?YmX%nUz35rvMh-x$7m~q*NVqgb8Nj%nZ|_Q<>Vp4fFy7obC|Qg>(hItT z5Yx(KvGbWu`$=Ksd{iwR^EvZEw|tJs4`HwisPgt7{cB3-X+T2% z*2S%GP_V60hlT2Bj* zY{v#&AdofZu7eYc*OAa@Zjw|xz^e;qQj&DMZl+QAve>lk$&Rdw(J|KxZqQkh4yKaU zwsUVJG#D#+sW_$dR}6+JHB)fkgYW6Vl)l#7rL)~U6lzq#;}#18REWA@eUM91FsGmH zCe70s$L##r53w6|<#l9ir|M1Yv&i&K&%_%NHD$A|Y-*i5(o57eac*aB44KxcbGOMn z6Yo`VMi?Tos{y5LNJk>9dW6z8r1R4@xWtYDc;QZ3MSNb}s2P5jwXE5gdas`QllF=x zgu1erYMGf#xjSv_C(UeaoKeP=PhE*?NyrCX$}?v*d}_t?R$h`{MC2P_y>v9y9x!T zY#Z7B<5CQR5EJR#h342LsrKLkod%;+y6I{dWDUpqQ-(RZY-5qRwH%kkiGt0 zS1ksaVf*9VFi|L$Zzu9o&ECi9}%{@%lmV#s(6l`~Be&Gd$zFX8eS+#!f$P+B_G0tu8`)CbHB`cO`7KRjpH3K5t&tbpMWVI7a=YEXI*J zjb3igKAUtIPuG0uEB1;mlWcdW9y*jZJuT*6y0l9mJG@mfkh{@M7uZHX4gF$ltMC=cHyz7GyGtN0+C*Sne9XlBUS6XeeAmCr zY$#K_N)G4D)p^z}cs(yOC(&%Ce!lu@jpR9fB_igZbl7}ly#2G1XpCuINxLja64bv~ zs)z)KAs99jQ$JI(J*+Z@li4Z{959g;Z1x5xDM-WIC)NzKurA@)q9vL@H}~?tgX4h; zznDsQ>q6%Q#(ZlcZ3IqrG+Z&-P$aW-(~PkK^Y3>l_I8;uHnTDg zLiC8j&LaIFHoOT4(F8@bn|UUdow-oE*)wN$W*+5)USphXC2F5rP>`PnI}+zjf>A>m z73N&_U4xluaGBiAzM9Q|#)2us7#~ipX-3%3c(3`8T0AdC&nk)pQ;iLFYDUV#&on5J>oOrG(415jgR?4O} zrm$R8##h@*c?2~>8%d1zbtc}7;WfGSIIUH%sqPw-vq(Lp2vpn|8^$FKpY`o+*b;H) zvP3Zr8&)^`P&cX+D`rYM^<}nFswUP|UC165$A>j63v}bPTn7}ISKG%4> z`8c*}^l?>Vj`hYITQlZ_qet^V1j4GRi7T6wI7c_8%8+_vj;|Sg($S+&f=)XmRnyY( zWQJS$DHcxW%w<(x>0Q9TRbQY=r(D^T;wpXH85t^6U6(kGB*}($7EV>u67iNA?_BQv zGF3TcPU?*2rs`C>;k2?z6DLi`u|B4HbeUepVBxFutcv5R#8qv_@OG>zd9vB%V`K8v zM0;)3oOF&*EY&B{RTJ2o(bcjV@5I?nOe5{fwpI6dUGFUEU9q8ifx3iy;MRYyI!LXT z{nx;TrLPY?FJH5_^!=IHC%f;amHo7S(iwUcN1{j?^|0d4+j`$!)!Em(>Op0j@VdJf zzM?#pw>1PK20!w$AFg_^XX~opx{#jNypV73gY3pU3O#FEvU=eLESmqSZSf;s??auh zbqx(}@s>Tl?AiY8;x&uc@$QSM!t%#gJvuPor11Kecm6i}q&Ki;$;(|&h=gfO*}`=L zTL-sfhrGc%df)B7%gf$9^hYTBdsn;&?cg$KhnD>_$TGX8=g--HWxJQGhA8_Y6Nd1+ zwo%!o-q4yQgWYdxPuV?%Q>JT|JTkPVuWw)jFW(kEzogr6n(cuUQTj;{`oj3Qi=W{Y#?|G; z!85vOU&*cdZGZ2|1*RS*OiOngW~x%}`JKR|xyoDq+~T*WVv>)(XZe`xsU`Sm@^Xr< zG&akEmvJ_V%uqI_I3E3M$?Ad4LEF*JeG6ACw|atVdcJOSe%QSr`@+Ce-qQCLzdE$0 z|MC9i16dJl*V8x&rRz$Fc4$rKra(#U2`ekN3ZvYQ=bqD% zDErW=0eFyjx;LpGtz7&ED-e|f*P^j}s^v;h=z>`H!&r-_IOx~2x>2@De$mP$_omJp znBVuHsV3PK*ehEuatLjy1qmFrZ-{a{!YKx>@7e4_^xnEtV*(bZ+83iLzndBbld9q0u%DxAw9`E-C9_t&TMnjJeY#0g&(e`W8 zk1!zF)%}lJBeHC(WzQ&tku~}C4-Ne#8f_XpP!_4L9VAqD?R;7W*IH5gdO~3LBOwt~ zTf>KK>vBEIvk3-&vvA$QAv9pwRw-M=>lo|5tE+3^?LY;|dg#Nx-n@1TDuJ@1&`*Z6 zI9km`_YJP6rHmcUu~QaX_C((nW5k`fw9}v}%DNop_58VOBZgbHm;$)KhN!w9S^i4r zQ|?{g(3b4$#H@JW;rFsnE_-L?0+oU7XBg4)1g3L38tQJo*zFs?sNj9&RZ-ntZ_4ib zO=dVl<%&evR8D3_kybvMT|>hUZW;J%D2oW4-)vrpHe8-1&c3|x&%qGnvl7W?7z)>k z^VORgEc+Xo7I5b1S)Ek47I7V-WQtIK^@=j$bVPM5PEhHU(hg}tAk5;4tso+j+-^by zpl!Wk?eA;9ZNzO*ZJR}>IS6s!!M-i(yRLhf2-o}r4;HpZ5EV&fD;*R|J&LAvb0}ZE z@@XPMGkFv#Br1sfEYv_nlztepZ4?@ohcOn*x(bC7<*6i@9UL$R47S#o$&7a1M^!Z> z4AbmJvbLj_qO`HSJqx@0m#xvJblM%s$DaJHK4zBRao)+Zl!>4z9IthZAo;y2}2!g`&bAupRer0 zR{FnaTSvNG^7OOKQ`uozaZ3U{u`p!>6<@x-bNp84@_9Ya|I@cnkLXsqq8;j+GuBRgP6a#Q)ezY3viruy|eP4TFKg8qq#)EXlrif ztmyP<7(QPt?5UnEqHoGNe4YkzkS@*j?ZA%AA zj%F&_RlFokzIkzkrHA!!`;^SJgiK3kUf6?&?f0RE7?v*F`B-`lc4uD?FSzvRlzoDs zwZHov>x}L@?Xy!9(=Lr!7IiP}e9Cs1?CQbydtU4L$Q#bIxW*oiBoKJi?3A!o`GOoi zQINO9IXtO9ATE4miPju>9NWzUzskfL^On!!(DU8z5{HhiL%3aCgX@j4Wv<$@e(6U; z>%)uhfVF_FqFEaI5s?+02Xt&Yw(2`#0xMRGv)3iIZ#7LW z+^f)gSZr8mpEPW|i~=$)`$LG`Nga+Nw5u0NtjVOj;XO|iJ&P%&a*qdY9%- zqkK}cA6v+Xe>7#TMtj=&)xK>Z-J*vcxzp09+Qn&1QN62spDvwEC?!O$s(ADeRow-;&a79J`Y<+s|orFPV{|8MGO zP8j^7<{~Q}b$dp$$eD}ht3A?SK^3wm)R1zv4E~e)SX=6js=8n5euoqL-qnLkENi~5 z&6H_^ui*)7MT(IHw}@)Y6qjQ>n}6gO#0D877;X<##w>hLpto};W?`Xin_A}1%f9aQ zEgHN-yM-}hm;UKa3eCWT;B%r5D@xVaT!Vy54e5UVNt7cCQE(x_oLVtW+_11atg9ty zJO9b+tgs@bY6(%~JR-lq5@f-#UjD%o+HMOAC=6S<(7@y>y!(}&ErltpG4`_w z5`=7Ykhu+0AG72E%`mgSLYmP0FA}KrX=fxBztz9OR5ZArA%kV}DLfzXVinmJ z%;ATxP;^aAVq9vysvdf#XDefu?lKKM!#thN?*<_rSj)Hh(fbEBuUx?1S*D$TWSIx= zTDDp14{zwz&iQ6o%=R<*biOfohi!#5=9ZP0T@!g@ZQ^zPiU()NSZalw`Et$FwRy>! z!S!Xa?E3DlU8{ogZt093Sex5O{X~po@%PYcl+`e($rL^A|tn<^r%9 z?SawVQnOcLhHOoe@^1r>*cYa?364^`3DN1A8IFBh=&V4tKjv@ch6ktO#^U6Xr?C+Z z==g=Fq9=Pr5(igyitzxadA2COs>Z@Zb})-j6tZIE5S$eGtW%sMr}j1%Yz7`!@|Yb@ zpV2L}ZsI$a_OGxbA{rnvKVHhJOAh}2S>9b6U$flxgQ6wctTdOh%Ev^=mCCl;dOMxa zq`(j5nhCSKt)0L1RxL2h6=`eo=zX{6X{7iD+$(jIs75chxkq|s*PY#5lJJZ{l7;vkn$#Pg*V~f{u+v2@tAB1{KOkK=eYtNgE!&I*GdknX_ z4#o3rH}0DIOQXt`zBjZcd$;j0KhTPgbb}8M{lVPjkhB8ZG&LC-ZSy?P}NzvsafO# z5@t2G8^ADQ`w&-AE2M_zPO1$IE+aAb53LQ1xg}F$oI|S^ch63JS#Q3b*XP3Y@#vfH z+{L^NSoYAP?`VYo>f818n9y91i_|J+bT=qXM#Ka;*%%eikL`Qb#cEIpG}5Qyf?r;@ zA%qKPYX-70zm?pOS81+81zSiJ$BaTD;gfrb)@;SPUt%Jti(S>Rks6mq`WDPD%}p!K zWe7ut!WP*XHV8Fld@7gkKCYk1PSn#7z>4 zOlZUr_dxq!Hocv`7`mLg^nK6I6H{W=i#Z!;E_0gE!pmJG4W=VY-x$10!;{<8iuK=X zdS~!VoV_eRYq9%8-;1`@D;cc{hC8Xu%E1r(`AFAeVJlAUa>=X1-@K&pAB^ifKnt~k ztEB~HF)=eukY7e|wrp$VZzM=a8006J!#&E0f9NLT$ySQFtAnxsf|i=v4q~Pe-92_a zO{i&^T%LsZosDL5Gd-?@4n#-PvKSXID;EE$d#T+A8inW!ri8i4Uh!#G{%kNZ!zs8I zX;(0z4Jn-~F^uN!PuiKMrIXV3d=xxYr)9#I^r+g(O@kjB$$WdC{*YX7=q;__cc^wXlp`hPxDT8Wv&L7+ong~{6*qM<>#!IZQw%LMbH#Vp4O(RCE z{9xsR5zC)rZOhujwh|NHO*Z^G`^aEKh``J{#3z@c7jDKpI;QM~A|sO7&Sp)lS2Ff* z?bua%b`3_{zT8>4q3@NhRb4MwgQ^LRwQl~!M2w(Kqt&XhN@m}kEwp|=CS-?1RAK&K z4K~sCNlB(x_al3~#rJZ7@^QBeG3PDxb@L|5r!bG)8Erb(`m=z7-R{l@2k&wQ*o?z8 zTke8>o4<=8)(Wbsxst{k_p+zjpN6^cuC7N|Pz)?~BSwsu@U*_0Y6R~Mvb~*8d7Yh> zNK3|o!4XAq6;|5laDp(b)W|uv+RQC9BU^b8+o8-f{lZt+J>j9&mPK8*@Z5|^Sr$ZB z=f|_M)Qk<`<)q{9#1s&lvUsbUUBiTO(fmb=%$t|c+%Z(gCZ;rJT9t{r2 zqrqnP$r?GYw`cIKP{Tz+!&|(?B7E^W$+^5-UBwOduk(qeTM&{C*UHR#r00cx4sv;? zV;1(N6WH}|`1~!PBnOF^&TOwEaq%-kCr`}$V=ATHNZW;Eo;B$WPP7!y1X_>q^*AqB zHW8M4i0^BXd5G`!G4d9!%12{{=W3n5uvI*#$f|yRR3I;tUJ}ix2uVDk>AbH5Rbh68 zq*fRKKQi(x7IIJYUDFJ$mrXY!43%4K`W@1h?WVMIQJ>u!UO>A)?OQP_DBoJG%G@zr zXn7->=|9_q`;d@mWwxK`CE-p|LILuV(e50^TH=VNn1vP_z7j{*n+PE|JM!&%aH^1h zs6kEj+CSINnFK6(+txowRCrJXfk{>P0!r-Jxv>8?0P@eIa(@!QY96zrvrVbyVQJok z&-_IITV)x`7Bf%Pm;0jtx;`RrLBl*}r z44^vX3NUlX&>sef+^~Qd{V@bv>%27jI{`%_LVqcsSY~?HYFI8vtv?*#^Ber-06!r7 zrvp@MsK$AJI-q;glE+*uS6QUJ{yI|z3kz@VvWC~Ywpd4;x4i|udoU$C8le;$sIG7S QjDm?>myth=mM-=G0p)-5>;M1& diff --git a/po/ko.po b/po/ko.po index 1e150d3d..9bad448a 100644 --- a/po/ko.po +++ b/po/ko.po @@ -5,705 +5,615 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" -"POT-Creation-Date: 2002-03-12 12:16+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-01-14 07:41+0100\n" "PO-Revision-Date: 2001-02-03 15:09+0900\n" "Last-Translator: Hwang, Sang-Jin \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=euc-kr\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" -msgstr "°æ°í: ¾Ë ¼ö ¾ø´Â ±×·ì(%s)\n" +msgstr "경고: 알 수 없는 그룹(%s)\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" -msgstr "°æ°í: ±×·ì¼ö°¡ ³Ê¹« ¸¹À½\n" +msgstr "경고: 그룹수가 너무 ë§ŽìŒ\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "ÆÐ½º¿öµå »ç¿ë±âÇÑÀÌ Áö³µ½À´Ï´Ù." +msgstr "패스워드 ì‚¬ìš©ê¸°í•œì´ ì§€ë‚¬ìŠµë‹ˆë‹¤." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "ÆÐ½º¿öµå »ç¿ë±â°£ Ãʰú·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù." +msgstr "패스워드 사용기간 초과로 사용할 수 없습니다." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "·Î±×ÀÎ »ç¿ë±âÇÑÀÌ Áö³µ½À´Ï´Ù" +msgstr "ë¡œê·¸ì¸ ì‚¬ìš©ê¸°í•œì´ ì§€ë‚¬ìŠµë‹ˆë‹¤" -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " ½Ã½ºÅÛ °ü¸®ÀÚ¿Í »ó´ãÇϽʽÿÀ.\n" +msgstr " 시스템 관리ìžì™€ ìƒë‹´í•˜ì‹­ì‹œì˜¤.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " »õ·Î¿î ÆÐ½º¿öµå¸¦ ¼±ÅÃÇϼ¼¿ä.\n" +msgstr " 새로운 패스워드를 ì„ íƒí•˜ì„¸ìš”.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "ÆÐ½º¿öµå »ç¿ë±âÇÑÀÌ %ldÀÏ¿¡ ³¡³³´Ï´Ù.\n" +msgstr "패스워드 ì‚¬ìš©ê¸°í•œì´ %ldì¼ì— ë납니다.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" -msgstr "ÆÐ½º¿öµå »ç¿ë±âÇÑÀÌ ³»ÀÏ ³¡³³´Ï´Ù.\n" +msgstr "패스워드 ì‚¬ìš©ê¸°í•œì´ ë‚´ì¼ ë납니다.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" -msgstr "ÆÐ½º¿öµå »ç¿ë±âÇÑÀÌ ¿À´Ã ³¡³³´Ï´Ù.\n" +msgstr "패스워드 ì‚¬ìš©ê¸°í•œì´ ì˜¤ëŠ˜ ë납니다.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" -msgstr "tty(´Ü¸»Å͹̳Î) %s·Î º¯°æÇÒ ¼ö ¾øÀ½" +msgstr "tty(단ë§í„°ë¯¸ë„) %s로 변경할 수 ì—†ìŒ" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" msgstr "" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" -msgstr "$%s´Â º¯°æµÇ¾î ÀÖÁö ¾ÊÀº°Í °°½À´Ï´Ù\n" +msgstr "$%s는 변경ë˜ì–´ 있지 않ì€ê²ƒ 같습니다\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" -msgstr "¸¶Áö¸· ·Î±×ÀÎÀ¸·ÎºÎÅÍ %dȸÀÇ %sÀÔ´Ï´Ù. ¸¶Áö¸· ·Î±×ÀÎÀº %s Àå¼Ò %s.\n" +msgstr "마지막 로그ì¸ìœ¼ë¡œë¶€í„° %díšŒì˜ %s입니다. 마지막 로그ì¸ì€ %s 장소 %s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" -msgstr "½ÇÆÐ" +msgstr "실패" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" -msgstr "½ÇÆÐ" +msgstr "실패" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" -msgstr "·Î±×Àμö°¡ ¸¹½À´Ï´Ù.\n" +msgstr "로그ì¸ìˆ˜ê°€ 많습니다.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "ÆÐ½º¿öµå°¡ %sÀÇ ºñ¹Ð۸¦ ÇØ¼®ÇÒ ¼ö ¾øÀ½.\n" +msgstr "패스워드가 %sì˜ ë¹„ë°€í‚¤ë¥¼ í•´ì„í•  수 ì—†ìŒ.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" -msgstr "%sÀÇ ºñ¹Ð¿­¼è¸¦ ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù: keyservµ¥¸óÀÌ ÇöÀç ½ÇÇàÁßÀԴϱî?\n" +msgstr "%sì˜ ë¹„ë°€ì—´ì‡ ë¥¼ 설정할 수 없습니다: keyservë°ëª¬ì´ 현재 실행중입니까?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." -msgstr "»õ·Î¿î ¸ÞÀÏÀÌ µµÂøÇÏ¿´½À´Ï´Ù." +msgstr "새로운 ë©”ì¼ì´ ë„착하였습니다." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." -msgstr "¸ÞÀÏ ¾øÀ½." +msgstr "ë©”ì¼ ì—†ìŒ." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." -msgstr "¸ÞÀÏÀÌ ÀÖ½À´Ï´Ù." +msgstr "ë©”ì¼ì´ 있습니다." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " -msgstr "À߸øµÈ ÆÐ½º¿öµå: %s. " +msgstr "ìž˜ëª»ëœ íŒ¨ìŠ¤ì›Œë“œ: %s. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "ÆÐ½º¿öµå: pam_start()¿¡ ½ÇÆÐÇß½À´Ï´Ù, ¿À·ù %d\n" +msgstr "패스워드: pam_start()ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤, 오류 %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" -msgstr "ÆÐ½º¿öµå: %s\n" +msgstr "패스워드: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" -msgstr "µð·ºÅ丮¸¦ \"%s\"·Î À̵¿ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "디렉토리를 \"%s\"로 ì´ë™í•  수 없습니다\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" -msgstr "µð·ºÅ丮°¡ ¾øÀ½, ·çÆ® µð·ºÅ丮(/)·Î ·Î±×ÀÎÇÕ´Ï´Ù" +msgstr "디렉토리가 ì—†ìŒ, 루트 디렉토리(/)로 로그ì¸í•©ë‹ˆë‹¤" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "%s ½©À» ½ÇÇàÇÕ´Ï´Ù\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" -msgstr "%s¸¦ ½ÇÇàÇÒ ¼ö ¾øÀ½" +msgstr "%s를 실행할 수 ì—†ìŒ" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" -msgstr "Ȩ µð·ºÅ丮 \"%s\"°¡ À߸øµÇ¾ú½À´Ï´Ù\n" +msgstr "홈 디렉토리 \"%s\"ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" -msgstr "·çÆ® µð·ºÅ丮¸¦ \"%s\"·Î º¯°æÇÒ ¼ö ¾øÀ½\n" +msgstr "루트 디렉토리를 \"%s\"로 변경할 수 ì—†ìŒ\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" -msgstr "malloc(%d)¿¡ ½ÇÆÐÇßÀ½\n" +msgstr "malloc(%d)ì— ì‹¤íŒ¨í–ˆìŒ\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "´ÙÀ̾ó¾÷ ÆÐ½º¿öµå: " - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" -msgstr "¼³Á¤ Á¤º¸¸¦ À§ÇÑ °ø°£ È®º¸¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "설정 정보를 위한 공간 확보를 í•  수 없습니다.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "¼³Á¤ ¿À·ù - ¾Ë ¼ö ¾ø´ÂŰ '%s'°¡ ÀÖÀ½ (°ü¸®ÀÚ¿¡°Ô ¿¬¶ô¹Ù¶÷)\n" +msgstr "설정 오류 - 알 수 없는키 '%s'ê°€ ìžˆìŒ (관리ìžì—게 ì—°ë½ë°”람)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "¿À·ù - '%s'ÀÇ °Ë»ö¿¡ ½ÇÆÐ\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s°¡ ¹ß°ßµÇÁö ¾ÊÀ½\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " -msgstr "ÆÐ½º¿öµå: " +msgstr "패스워드: " #: lib/pwauth.c:56 #, c-format msgid "%s's Password: " -msgstr "%sÀÇ ÆÐ½º¿öµå: " +msgstr "%sì˜ íŒ¨ìŠ¤ì›Œë“œ: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "" #: lib/strerror.c:20 #, c-format msgid "Unknown error %d" -msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù %d" +msgstr "알 수 없는 오류 %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"»ç¿ë¹ý: %s [-l] [-m ÃÖ¼ÒÀϼö] [-M ÃÖ´ëÀϼö] [-W °æ°íÀϼö]\n" -"\t[-I ¹«È¿Àϼö] [-E ¸¸·áÀϼö] [-d »õ ÆÐ½º¿öµå º¯°æÀÏ] »ç¿ëÀÚ¸í\n" +"사용법: chage [-l] [-m 최소ì¼ìˆ˜] [-M 최대ì¼ìˆ˜] [-W 경고ì¼ìˆ˜]\n" +" [-I 무효ì¼ìˆ˜] [-E 만료ì¼ìˆ˜] [-d 새 패스워드 변경ì¼] 사용ìžëª…\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "»ç¿ë¹ý: %s [-l] [-m ÃÖ¼ÒÀϼö] [-M ÃÖ´ëÀϼö] [-W °æ°íÀϼö] »ç¿ëÀÚ\n" - -#: src/chage.c:157 +#: src/chage.c:152 msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"»õ·Î¿î °ªÀ» ³Ö°Å³ª, µðÆúÆ® °ªÀ» ¿øÇÑ´Ù¸é ENTER۸¦ Ä¡¼¼¿ä.\n" +"새로운 ê°’ì„ ë„£ê±°ë‚˜, ë””í´íЏ ê°’ì„ ì›í•œë‹¤ë©´ ENTER키를 치세요.\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" -msgstr "ÃÖ¼Ò ÆÐ½º¿öµå ¿¬·É" +msgstr "최소 패스워드 ì—°ë ¹" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" -msgstr "ÃÖ´ë ÆÐ½º¿öµå ¿¬·É" +msgstr "최대 패스워드 ì—°ë ¹" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "¸¶Áö¸· ÆÐ½º¿öµå º¯°æ (YYYY-MM-DD)" +msgstr "마지막 패스워드 변경 (YYYY-MM-DD)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "패스워드 ì‚¬ìš©ë§Œê¸°ì¼ ì´ˆê³¼ 경고" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "ÆÐ½º¿öµå »ç¿ë¸¸±âÀÏ Ãʰú °æ°í" - -#: src/chage.c:189 msgid "Password Inactive" -msgstr "ÆÐ½º¿öµå°¡ À¯È¿ÇÏÁö ¾ÊÀ½" +msgstr "패스워드가 유효하지 않ìŒ" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "°èÁ¤ »ç¿ëÀÏ ¸¸±â ÀÏ(YYYY-MM-DD)" +msgstr "계정 ì‚¬ìš©ì¼ ë§Œê¸° ì¼(YYYY-MM-DD)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" -msgstr "ÃÖ¼Ò:\t%ld\n" +msgstr "최소:\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" -msgstr "ÃÖ´ë:\t%ld\n" +msgstr "최대:\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" -msgstr "°æ°í:\t%ld\n" +msgstr "경고:\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀ½:\t%ld\n" +msgstr "유효하지 않ìŒ:\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" -msgstr "¸¶Áö¸· º¯°æ:\t\t" +msgstr "마지막 변경:\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" -msgstr "ºÒ°¡\n" +msgstr "불가\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "ÆÐ½º¿öµå ¸¸±â:\t" +msgstr "패스워드 만기:\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "ÆÐ½º¿öµå°¡ À¯È¿ÇÏÁö ¾ÊÀ½:\t" +msgstr "패스워드가 유효하지 않ìŒ:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "°èÁ¤ ¸¸±â:\t" +msgstr "계정 만기:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s: \"l\" ¿Í ÇÔ²² ´Ù¸¥ flags¸¦ Æ÷ÇÔÇÏÁö ¸»°Í\n" +msgstr "%s: \"l\" 와 함께 다른 flags를 í¬í•¨í•˜ì§€ ë§ê²ƒ\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s: Á¢±Ù±ÇÇÑ ¾øÀ½\n" +msgstr "%s: 접근권한 ì—†ìŒ\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, fuzzy, c-format msgid "%s: PAM authentication failed\n" -msgstr "%s: ÀÎÁõ¹æ¹ý Ãß°¡Çϴµ¥ ¿À·ù\n" +msgstr "%s: ì¸ì¦ë°©ë²• ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: ÆÐ½º¿öµå ÆÄÀÏÀ» lockÇÒ ¼ö ¾ø½À´Ï´Ù\n" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏÀ» ¿­¼ö°¡ ¾ø½À´Ï´Ù\n" +msgstr "%s: 패스워드 파ì¼ì„ 열수가 없습니다\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" -msgstr "¾Ë¼ö¾ø´Â »ç¿ëÀÚ: %s\n" +msgstr "%s: 알수없는 사용ìž: %s\n" -#: src/chage.c:571 -#, c-format +#: src/chage.c:536 +#, fuzzy, c-format msgid "%s: can't lock shadow password file" -msgstr "%" +msgstr "%s: ì‰ë„ìš° 패스워드 파ì¼ì„ 잠글 수 없습니다\n" -#: src/chage.c:579 +#: src/chage.c:544 #, c-format msgid "%s: can't open shadow password file" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» ¿­¼ö°¡ ¾ø½À´Ï´Ù" +msgstr "%s: ì‰ë„ìš° 패스워드 파ì¼ì„ 열수가 없습니다" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" -msgstr "%sÀÇ ¿¬·É¿¡ ´ëÇÑ Á¤º¸¸¦ °»½ÅÇÕ´Ï´Ù %s\n" +msgstr "ì˜ ì—°ë ¹ì— ëŒ€í•œ 정보를 갱신합니다 %s\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s: Ç׸ñÀ» ¹Ù²Ù´Â µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù\n" +msgstr "%s: í•­ëª©ì„ ë°”ê¾¸ëŠ” ë„중 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 패스워드 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" -msgstr "DBM Æä½º¿öµå ÀԷºκÐÀ» ¾÷µ¥ÀÌÆ® Çϴµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù.\n" +msgstr "DBM 페스워드 ìž…ë ¥ë¶€ë¶„ì„ ì—…ë°ì´íЏ í•˜ëŠ”ë° ì˜¤ë¥˜ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» ´Ù½Ã ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s ì‰ë„ìš° 패스워드 파ì¼ì„ 다시 작성할 수 없습니다\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏÀ» ´Ù½Ã ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s 패스워드 파ì¼ì„ 다시 작성할 수 없습니다\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" -msgstr "%s: ÆÄÀÏ Àá±ÝÀ» Ç® ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: íŒŒì¼ ìž ê¸ˆì„ í’€ 수 없습니다\n" -#: src/chfn.c:83 +#: 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 "" -"»ç¿ë¹ý: %s [-f À̸§] [-r ¹æ_¹øÈ£] [-w Á÷Àå_ÀüÈ­¹øÈ£]\n" -"\t[-h Áý_ÀüÈ­¹øÈ£] [-o ±âŸ] [»ç¿ëÀÚ]\n" +"사용법: %s [-f ì´ë¦„] [-r ë°©_번호] [-w ì§ìž¥_전화번호]\n" +"\t[-h ì§‘_전화번호] [-o 기타] [사용ìž]\n" -#: src/chfn.c:88 +#: 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" +"사용법: %s [-f ì´ë¦„] [-r ë°©_번호] [-w ì§ìž¥_전화번호] [-h ì§‘_전화번호]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" -msgstr "»õ·Î¿î °ªÀ» ³Ö°Å³ª, µðÆúÆ®¸¦ ¿øÇÏ¸é ¿£Å͸¦ Ä¡¼¼¿ä\n" +msgstr "새로운 ê°’ì„ ë„£ê±°ë‚˜, ë””í´íŠ¸ë¥¼ ì›í•˜ë©´ 엔터를 치세요\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" -msgstr "À̸§" +msgstr "ì´ë¦„" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\tÀ̸§: %s\n" +msgstr "\tì´ë¦„: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" -msgstr "¹æ ¹øÈ£" +msgstr "ë°© 번호" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" -msgstr "\t¹æ ¹øÈ£: %s\n" +msgstr "\të°© 번호: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" -msgstr "Á÷Àå ¹øÈ­¹øÈ£" +msgstr "ì§ìž¥ 번화번호" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" -msgstr "\tÁ÷Àå ÀüÈ­¹øÈ£: %s\n" +msgstr "\tì§ìž¥ 전화번호: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" -msgstr "Áý ÀüÈ­¹øÈ£" +msgstr "ì§‘ 전화번호" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" -msgstr "\tÁý ÀüÈ­¹øÈ£: %s\n" +msgstr "\tì§‘ 전화번호: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" -msgstr "±âŸ" +msgstr "기타" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "Á¢±Ù±ÇÇÑ ¾øÀ½.\n" +msgstr "%s: 접근권한 ì—†ìŒ.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" -msgstr "¾Ë¼ö¾ø´Â »ç¿ëÀÚ %s\n" +msgstr "%s: 알수없는 ì‚¬ìš©ìž %s\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" -msgstr "%s: »ç¿ëÀÚ À̸§À» ÀνÄÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "%s: ì‚¬ìš©ìž ì´ë¦„ì„ ì¸ì‹í•  수 없습니다.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, c-format msgid "%s: cannot change user `%s' on NIS client.\n" -msgstr "NIS Ŭ¶óÀÌ¾ðÆ®¿¡¼­ '%s'ÀÇ »ç¿ëÀÚ À̸§À» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "%s: NIS í´ë¼ì´ì–¸íЏì—서 '%s'ì˜ ì‚¬ìš©ìž ì´ë¦„ì„ ë³€ê²½í•  수 없습니다.\n" -#: src/chfn.c:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, 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:441 -#, c-format +#: src/chfn.c:442 +#, fuzzy, c-format msgid "Changing the user information for %s\n" -msgstr "%s¿¡ ´ëÇÏ¿© »ç¿ëÀÚÀÇ Á¤º¸¸¦ ¹Ù²ß´Ï´Ù\n" +msgstr "ì˜ ì—°ë ¹ì— ëŒ€í•œ 정보를 갱신합니다 %s\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s: À¯È¿ÇÏÁö ¾Ê´Â À̸§: \"%s\"\n" +msgstr "%s: 유효하지 않는 ì´ë¦„: \"%s\"\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "À¯È¿ÇÏÁö ¾Ê´Â ¹æ ¹øÈ£: \"%s\"\n" +msgstr "%s: 유효하지 않는 ë°© 번호: \"%s\"\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "À¯È¿ÇÏÁö ¾Ê´Â Á÷Àå ÀüÈ­¹øÈ£: \"%s\"\n" +msgstr "%s 유효하지 않는 ì§ìž¥ 전화번호: \"%s\"\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s: À¯È¿ÇÏÁö ¾Ê´Â Áý ÀüÈ­¹øÈ£: \"%s\"\n" +msgstr "%s: 유효하지 않는 ì§‘ 전화번호: \"%s\"\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s: \"%s\"Àº ÀûÀýÇÏÁö ¾Ê´Â ±ÛÀÚ¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù\n" +msgstr "%s: \"%s\"ì€ ì ì ˆí•˜ì§€ 않는 글ìžë¥¼ í¬í•¨í•˜ê³  있습니다\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" -msgstr "%s: ÀԷ¹üÀ§°¡ ³Ê¹« ±é´Ï´Ù\n" +msgstr "%s: 입력범위가 너무 ê¹ë‹ˆë‹¤\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" -msgstr "·çÆ®·Î ¾ÆÀ̵𠺯°æÀÌ ºÒ°¡´É ÇÕ´Ï´Ù.\n" +msgstr "루트로 ì•„ì´ë”” ë³€ê²½ì´ ë¶ˆê°€ëŠ¥ 합니다.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏÀ» lockÇÒ ¼ö ¾ø½À´Ï´Ù; ³ªÁß¿¡ ´Ù½Ã ½ÃµµÇϽʽÿÀ.\n" +msgstr "패스워드 파ì¼ì„ lockí•  수 없습니다; ë‚˜ì¤‘ì— ë‹¤ì‹œ 시ë„하십시오.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏÀ» ¿­¼ö°¡ ¾ø½À´Ï´Ù.\n" +msgstr "패스워드 파ì¼ì„ 열수가 없습니다.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: %s°¡ /etc/passwd¿¡¼­ ¹ß°ßµÇÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: %sê°€ /etc/passwdì—서 발견ë˜ì§€ 않습니다\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" -msgstr "ÆÐ½º¿öµå ÀÔ·ÂÀ» ¾÷µ¥ÀÌÆ®Çϴµ¥ ¿À·ù¹ß»ý.\n" +msgstr "패스워드 ìž…ë ¥ì„ ì—…ë°ì´íŠ¸í•˜ëŠ”ë° ì˜¤ë¥˜ë°œìƒ.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏ º¯°æÀ» ó¸®ÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "패스워드 íŒŒì¼ ë³€ê²½ì„ ì²˜ë¦¬í•  수 없습니다.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏÀ» lockÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "패스워드 파ì¼ì„ lockí•  수 없습니다.\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 +#, fuzzy, c-format +msgid "Usage: %s [-e]\n" +msgstr "사용법: %s [-e]\n" + +#: src/chpasswd.c:154 #, c-format -msgid "usage: %s [-e]\n" -msgstr "»ç¿ë¹ý: %s [-e]\n" +msgid "%s: can't lock password file\n" +msgstr "%s: 패스워드 파ì¼ì„ lockí•  수 없습니다\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: ½¦µµ¿ì ÆÄÀÏÀ» lockÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 파ì¼ì„ lockí•  수 없습니다\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: ½¦µµ¿ì ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 파ì¼ì„ ì—´ 수 없습니다\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" -msgstr "%s: line %d: ³Ê¹« ±é´Ï´Ù\n" +msgstr "%s: line %d: 너무 ê¹ë‹ˆë‹¤\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" -msgstr "%s: line %d: »õ·Î¿î ÆÐ½º¿öµå°¡ ¾ø½À´Ï´Ù\n" +msgstr "%s: line %d: 새로운 패스워드가 없습니다\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" -msgstr "%s: line %d: ¾Ë ¼ö ¾ø´Â »ç¿ëÀÚ %s\n" +msgstr "%s: line %d: 알 수 없는 ì‚¬ìš©ìž %s\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: line %d: ÆÐ½º¿öµå ÀÔ·ÂÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: line %d: 패스워드 ìž…ë ¥ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: ¿À·ù¹ß»ý, º¯°æÀÌ Ã³¸®µÇÁö ¾Ê¾Ò½À´Ï´Ù\n" +msgstr "%s: 오류발ìƒ, ë³€ê²½ì´ ì²˜ë¦¬ë˜ì§€ 않았습니다\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: ½¦µµ¿ì ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® Çϴµ¥ ¿À·ù¹ß»ý\n" +msgstr "%s: ì‰ë„ìš° 파ì¼ì„ ì—…ë°ì´íЏ í•˜ëŠ”ë° ì˜¤ë¥˜ë°œìƒ\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: ÆÐ½º¿öµå ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® Çϴµ¥ ¿À·ù¹ß»ý\n" +msgstr "%s: 패스워드 파ì¼ì„ ì—…ë°ì´íЏ í•˜ëŠ”ë° ì˜¤ë¥˜ë°œìƒ\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "»ç¿ë¹ý: %s [-s ½©] [À̸§]\n" - -#: src/chsh.c:89 -#, fuzzy -msgid "Enter the new value, or press return for the default\n" -msgstr "»õ·Î¿î °ªÀ» ³Ö°Å³ª, µðÆúÆ®¸¦ ¿øÇÏ¸é ¿£Å͸¦ Ä¡¼¼¿ä\n" +msgstr "사용법: %s [-s 쉘] [ì´ë¦„]\n" #: src/chsh.c:90 -msgid "Login Shell" -msgstr "·Î±ä ½©" +#, fuzzy +msgid "Enter the new value, or press return for the default\n" +msgstr "새로운 ê°’ì„ ë„£ê±°ë‚˜, ë””í´íŠ¸ë¥¼ ì›í•˜ë©´ 엔터를 치세요\n" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:91 +msgid "Login Shell" +msgstr "로긴 쉘" + +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" -msgstr "»ç¿ëÀÚ´Â %s¿¡ ´ëÇÑ ½©À» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "사용ìžëŠ” %sì— ëŒ€í•œ ì‰˜ì„ ë³€ê²½í•  수 없습니다.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" -msgstr "%s¿¡ ´ëÇÑ ·Î±ä ½©À» º¯°æÇϰí ÀÖ½À´Ï´Ù\n" +msgstr "%sì— ëŒ€í•œ 로긴 ì‰˜ì„ ë³€ê²½í•˜ê³  있습니다\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: ºÎÀûÀýÇÑ ÀÔ·Â: %s\n" +msgstr "%s: ë¶€ì ì ˆí•œ ìž…ë ¥: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "%s´Â ºÎÀûÀýÇÑ ½©ÀÔ´Ï´Ù.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "»ç¿ë¹ý: %s [-(a|d)] ½©\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "½© ÆÐ½º¿öµå: " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "½© ÆÐ½º¿öµå¸¦ ´Ù½Ã ÀÔ·Â: " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s: ÆÐ½º¿öµå°¡ ¸ÂÁö ¾Ê½À´Ï´Ù. ´Ù½Ã ½ÃµµÇϼ¼¿ä. \n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: %s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s: %s¸¦ ¿­¼ö°¡ ¾ø½À´Ï´Ù" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s: %sÀÇ ½©ÀÌ ¹ß°ßµÇÁö ¾ø½À´Ï´Ù.\n" +msgstr "%s는 ë¶€ì ì ˆí•œ 쉘입니다.\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "»ç¿ë¹ý: ¸¸±â {-f|-c}\n" +msgstr "사용법: 만기 {-f|-c}\n" #: src/expiry.c:113 #, c-format msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: °æ°í! ¹Ýµå½Ã ·çÆ®ÀÇ UID¸¦ ¸ÂÃâ°Í!\n" +msgstr "%s: 경고! 반드시 ë£¨íŠ¸ì˜ UID를 맞출것!\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s: ¾Ë¼ö¾ø´Â »ç¿ëÀÚ\n" +msgstr "%s: 알수없는 사용ìž\n" #: src/faillog.c:77 -#, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" -msgstr "»ç¿ë¹ý: %s [-a|-u »ç¿ëÀÚ] [-m ÃÖ´ë] [-r] [-t ³¯Â¥] [-l locksecs]\n" +#, fuzzy, c-format +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "사용법: %s [-a|-u 사용ìž] [-m 최대] [-r] [-t ë‚ ì§œ] [-l locksecs]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format msgid "Unknown User: %s\n" -msgstr "¾Ë¼ö¾ø´Â »ç¿ëÀÚ: %s\n" +msgstr "알수없는 사용ìž: %s\n" #: src/faillog.c:212 msgid "Username Failures Maximum Latest\n" -msgstr "ÃÖ´ë ÀԷ½à ±îÁö »ç¿ëÀÚ À̸§ ÀÎÁõ ½ÇÆÐ\n" +msgstr "최대 입력시 까지 ì‚¬ìš©ìž ì´ë¦„ ì¸ì¦ 실패\n" #: src/faillog.c:229 #, c-format msgid " %s on %s" -msgstr "%s ÀÇ %s" +msgstr "%s ì˜ %s" #: src/faillog.c:233 #, c-format @@ -716,283 +626,273 @@ msgid " [%lds lock]" msgstr " [%lds lock]" #: src/gpasswd.c:78 -#, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "»ç¿ë¹ý: %s [-r|-R] ±×·ì\n" +#, fuzzy, c-format +msgid "Usage: %s [-r|-R] group\n" +msgstr "사용법: %s [-r|-R] 그룹\n" #: src/gpasswd.c:79 #, c-format msgid " %s [-a user] group\n" -msgstr " %s [-a »ç¿ëÀÚ] ±×·ì\n" +msgstr " %s [-a 사용ìž] 그룹\n" #: src/gpasswd.c:80 #, c-format msgid " %s [-d user] group\n" -msgstr " %s [-d »ç¿ëÀÚ] ±×·ì\n" +msgstr " %s [-d 사용ìž] 그룹\n" #: src/gpasswd.c:83 #, c-format msgid " %s [-A user,...] [-M user,...] group\n" -msgstr " %s [-A »ç¿ëÀÚ,...] [-M »ç¿ëÀÚ,...] ±×·ì\n" +msgstr " %s [-A 사용ìž,...] [-M 사용ìž,...] 그룹\n" #: src/gpasswd.c:85 #, c-format msgid " %s [-M user,...] group\n" -msgstr " %s [-M »ç¿ëÀÚ,...] ±×·ì\n" +msgstr " %s [-M 사용ìž,...] 그룹\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s: ¾Ë ¼ö ¾ø´Â »ç¿ëÀÚ %s\n" +msgstr "%s: 알 수 없는 ì‚¬ìš©ìž %s\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "Á¢±Ù±ÇÇÑ ¾øÀ½.\n" +msgstr "접근권한 ì—†ìŒ.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s: -A¿¡ ´ëÇÏ¿© ½¦µµ¿ì ±×·ì ÆÐ½º¿öµå°¡ ÇÊ¿äÇÕ´Ï´Ù\n" +msgstr "%s: -Aì— ëŒ€í•˜ì—¬ ì‰ë„ìš° 그룹 패스워드가 필요합니다\n" #: src/gpasswd.c:294 msgid "Who are you?\n" -msgstr "´ç½ÅÀº ´©±¸½Ê´Ï±î?\n" +msgstr "ë‹¹ì‹ ì€ ëˆ„êµ¬ì‹­ë‹ˆê¹Œ?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "¾Ë ¼ö ¾ø´Â ±×·ì: %s\n" +msgstr "알 수 없는 그룹: %s\n" #: src/gpasswd.c:422 #, c-format msgid "Adding user %s to group %s\n" -msgstr "%s ±×·ì¿¡ %s »ç¿ëÀÚ µî·ÏÁß\n" +msgstr "%s ê·¸ë£¹ì— %s ì‚¬ìš©ìž ë“±ë¡ì¤‘\n" #: src/gpasswd.c:440 #, c-format msgid "Removing user %s from group %s\n" -msgstr "%s ±×·ì À¸·ÎºÎÅÍ %s »ç¿ëÀÚ »èÁ¦Áß\n" +msgstr "%s 그룹 으로부터 %s ì‚¬ìš©ìž ì‚­ì œì¤‘\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s: ¾Ë ¼ö ¾ø´Â ±×·ì¸â¹ö %s\n" +msgstr "%s: 알 수 없는 그룹멤버 %s\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" -msgstr "%s: tty °¡ ¾Æ´Ô\n" +msgstr "%s: tty ê°€ 아님\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" -msgstr "%s ±×·ì¿¡ ´ëÇÏ¿© ÆÐ½º¿öµå¸¦ º¯°æÁß\n" +msgstr "%s ê·¸ë£¹ì— ëŒ€í•˜ì—¬ 패스워드를 변경중\n" #: src/gpasswd.c:525 msgid "New Password: " -msgstr "»õ·Î¿î ÆÐ½º¿öµå: " +msgstr "새로운 패스워드: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "»õ ÆÐ½º¿öµå¸¦ ´Ù½Ã ÀÔ·ÂÇϼ¼¿ä: " +msgstr "새 패스워드를 다시 입력하세요: " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "ÀԷ°ªÀÌ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù; ´Ù½Ã ½ÃµµÇϼ¼¿ä" +msgstr "ìž…ë ¥ê°’ì´ ì¼ì¹˜í•˜ì§€ 않습니다; 다시 시ë„하세요" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: ³ªÁß¿¡ ´Ù½Ã ½ÃµµÇϼ¼¿ä\n" +msgstr "%s: ë‚˜ì¤‘ì— ë‹¤ì‹œ 시ë„하세요\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s: Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ìž ê¸ˆì„ í•  수 없습니다\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s: ½¦µµ¿ì Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° ìž ê¸ˆì„ í•  수 없습니다\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s: ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 파ì¼ì„ ì—´ 수 없습니다\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s: ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s: ½¦µµ¿ì ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s: ÆÄÀÏÀ» ´Ù½Ã ¾µ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 파ì¼ì„ 다시 쓸 수 없습니다\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s: ½¦µµ¿ì ÆÄÀÏÀ» ´Ù½Ã ¾µ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 파ì¼ì„ 다시 쓸 수 없습니다\n" #: src/gpasswd.c:630 #, c-format msgid "%s: can't unlock file\n" -msgstr "%s: ÆÄÀÏ Àá±ÝÀ» Ç® ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: íŒŒì¼ ìž ê¸ˆì„ í’€ 수 없습니다\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s: DBM ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: DBM 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s: DBM ½¦µµ¿ì ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: DBM ì‰ë„ìš° 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "»ç¿ë¹ý: groupadd [-g gid(±×·ì ¾ÆÀ̵ð) [-o]] ±×·ì¸í\n" +#: src/groupadd.c:102 +#, fuzzy +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "사용법: groupadd [-g gid(그룹 ì•„ì´ë””) [-o]] 그룹명\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s: »õ·Î¿î ±×·ìÀ» Ãß°¡Çϴµ¥ ¿À·ù\n" +msgstr "%s: 새로운 ê·¸ë£¹ì„ ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s: »õ·Î¿î dbm ±×·ì ÀԷ°ªÀ» Ãß°¡Çϴµ¥ ¿À·ù\n" +msgstr "%s: 새로운 dbm 그룹 ìž…ë ¥ê°’ì„ ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" -msgstr "%s: %s ¶õ À̸§Àº ÀûÀýÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: %s 란 ì´ë¦„ì€ ì ì ˆí•˜ì§€ 않습니다\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" -msgstr "%s: uid(»ç¿ëÀÚ ¾ÆÀ̵ð) %u ´Â ÀûÀýÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: uid(ì‚¬ìš©ìž ì•„ì´ë””) %u 는 ì ì ˆí•˜ì§€ 않습니다\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s: ÀûÀýÇÑ gid(±×·ì ¾ÆÀ̵ð)¸¦ ¾òÀ» ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì ì ˆí•œ gid(그룹 ì•„ì´ë””)를 ì–»ì„ ìˆ˜ 없습니다\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "%s: %s ´Â À¯È¿ÇÑ ±×·ì¸íÀÌ ¾Æ´Õ´Ï´Ù\n" +msgstr "%s: %s 는 유효한 ê·¸ë£¹ëª…ì´ ì•„ë‹™ë‹ˆë‹¤\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s: À¯È¿ÇÏÁö ¾ÊÀº ±×·ì %s\n" +msgstr "%s: 유효하지 ì•Šì€ ê·¸ë£¹ %s\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" -msgstr "%s: NAME=VALUE ¸¦ À§Çؼ­´Â -O ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù\n" +msgstr "%s: NAME=VALUE 를 위해서는 -O ì˜µì…˜ì´ í•„ìš”í•©ë‹ˆë‹¤\n" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s: ±×·ìÆÄÀÏÀ» ´Ù½Ã ¾µ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 그룹파ì¼ì„ 다시 쓸 수 없습니다\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÆÄÀÏÀ» ´Ù½Ã ¾µ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 파ì¼ì„ 다시 쓸 수 없습니다\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" -msgstr "%s: ±×·ì ÆÄÀÏ Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 그룹 íŒŒì¼ ìž ê¸ˆì„ í•  수 없습니다\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" -msgstr "%s: ±×·ì ÆÄÀÏÀ» ¿­¼ö°¡ ¾ø½À´Ï´Ù\n" +msgstr "%s: 그룹 파ì¼ì„ 열수가 없습니다\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÆÄÀÏ Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 íŒŒì¼ ìž ê¸ˆì„ í•  수 없습니다\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 파ì¼ì„ ì—´ 수 없습니다\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" -msgstr "%s: ±×·ì %s ´Â Á¸ÀçÇÕ´Ï´Ù\n" +msgstr "%s: 그룹 %s 는 존재합니다\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "»ç¿ë¹ý: groupdel ±×·ì¸í\n" +#: src/groupdel.c:88 +#, fuzzy +msgid "Usage: groupdel group\n" +msgstr "사용법: groupdel 그룹명\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" -msgstr "%s: ±×·ì ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: 그룹 ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" -msgstr "%s: ±×·ì dbm ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: 그룹 dbm ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" -msgstr "%s: ½¦µµ¿ì ±×·ì dbm ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 dbm ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "%s: »ç¿ëÀÚÀÇ primary ±×·ìÀ» Á¦°ÅÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "%s: 사용ìžì˜ primary ê·¸ë£¹ì„ ì œê±°í•  수 없습니다.\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" -msgstr "%s: ±×·ì %s ´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: 그룹 %s 는 존재하지 않습니다\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" -msgstr "%s: ±×·ì %s ´Â NIS ±×·ìÀÔ´Ï´Ù\n" +msgstr "%s: 그룹 %s 는 NIS 그룹입니다\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s: %s ´Â NIS ¸¶½ºÅÍ(master)ÀÔ´Ï´Ù\n" +msgstr "%s: %s 는 NIS 마스터(master)입니다\n" #: src/groupmems.c:95 msgid "Member already exists\n" @@ -1003,7 +903,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1020,58 +920,59 @@ msgstr "" #: src/groupmems.c:215 msgid "Unable to lock group file\n" -msgstr "±×·ì ÆÄÀÏ Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "그룹 íŒŒì¼ ìž ê¸ˆì„ í•  수 없습니다\n" #: src/groupmems.c:220 msgid "Unable to open group file\n" -msgstr "±×·ì ÆÄÀÏÀ» ¿­¼ö°¡ ¾ø½À´Ï´Ù\n" +msgstr "그룹 파ì¼ì„ 열수가 없습니다\n" #: src/groupmems.c:240 msgid "Cannot close group file\n" -msgstr "±×·ì ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "그룹 파ì¼ì„ ì—´ 수 없습니다\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "»ç¿ë¹ý: groupmod [-g gid(±×·ì ¾ÆÀ̵ð) [-o]] [-n À̸§] ±×·ì¸í\n" +#: src/groupmod.c:104 +#, fuzzy +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "사용법: groupmod [-g gid(그룹 ì•„ì´ë””) [-o]] [-n ì´ë¦„] 그룹명\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, 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:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s: »õ·Î¿î dbm ½¦µµ¿ì ±×·ì ÀԷ°ªÀ» Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 새로운 dbm ì‰ë„ìš° 그룹 ìž…ë ¥ê°’ì„ ì¶”ê°€í•  수 없습니다\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" -msgstr "%s: %u ´Â ÀûÀýÇÑ gid(±×·ì ¾ÆÀ̵ð)°¡ ¾Æ´Õ´Ï´Ù\n" +msgstr "%s: %u 는 ì ì ˆí•œ gid(그룹 ì•„ì´ë””)ê°€ 아닙니다\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s: %s ´Â ÀûÀýÇÑ À̸§ÀÌ ¾Æ´Õ´Ï´Ù\n" +msgstr "%s: %s 는 ì ì ˆí•œ ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤\n" #: src/groups.c:59 #, c-format msgid "unknown user %s\n" -msgstr "¾Ë¼ö¾ø´Â »ç¿ëÀÚ %s\n" +msgstr "알수없는 ì‚¬ìš©ìž %s\n" #: src/grpck.c:87 #, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" -msgstr "»ç¿ë¹ý: %s [-s] [-r] [group [gshadow]]\n" +msgstr "사용법: %s [-s] [-r] [group [gshadow]]\n" #: src/grpck.c:90 #, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "»ç¿ë¹ý: %s [-s] [-r] [group]\n" +msgstr "사용법: %s [-s] [-r] [group]\n" #: src/grpck.c:108 src/pwck.c:108 msgid "No" -msgstr "¾Æ´Ï¿À" +msgstr "아니오" #: src/grpck.c:192 src/pwck.c:175 #, c-format @@ -1081,327 +982,300 @@ msgstr "" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, c-format msgid "%s: cannot lock file %s\n" -msgstr "%s: ÆÄÀÏ %s Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: íŒŒì¼ %s ìž ê¸ˆì„ í•  수 없습니다\n" #: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s: ÆÄÀÏ %s ¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: íŒŒì¼ %s 를 ì—´ 수 없습니다\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀº ±×·ìÆÄÀÏ ÀԷ°ª\n" +msgstr "유효하지 ì•Šì€ ê·¸ë£¹íŒŒì¼ ìž…ë ¥ê°’\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 #: src/pwck.c:543 #, c-format msgid "delete line `%s'? " -msgstr "¶óÀÎ '%s'¸¦ Áö¿ï±î¿ä? " +msgstr "ë¼ì¸ '%s'를 지울까요? " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" -msgstr "±×·ì ÀԷ°ª º¹Á¦\n" +msgstr "그룹 입력값 복제\n" #: src/grpck.c:391 #, c-format msgid "invalid group name `%s'\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀº ±×·ì¸í '%s'\n" +msgstr "유효하지 ì•Šì€ ê·¸ë£¹ëª… '%s'\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "±×·ì %s: »ç¿ëÀÚ %s °¡ ¾ø½À´Ï´Ù\n" +msgstr "그룹 %s: ì‚¬ìš©ìž %s ê°€ 없습니다\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " -msgstr "¸â¹ö '%s'¸¦ Áö¿ï±î¿ä? " +msgstr "멤버 '%s'를 지울까요? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀº ½¦µµ¿ì ±×·ìÆÄÀÏ ÀԷ°ª\n" +msgstr "유효하지 ì•Šì€ ì‰ë„ìš° ê·¸ë£¹íŒŒì¼ ìž…ë ¥ê°’\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" -msgstr "½¦µµ¿ì ±×·ì ÀԷ°ª º¹Á¦\n" +msgstr "ì‰ë„ìš° 그룹 입력값 복제\n" #: src/grpck.c:537 msgid "no matching group file entry\n" -msgstr "±×·ì ÆÄÀÏ ÀԷ°ªÀÌ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "그룹 íŒŒì¼ ìž…ë ¥ê°’ì´ ì¼ì¹˜í•˜ì§€ 않습니다\n" #: src/grpck.c:558 #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "½¦µµ¿ì ±×·ì %s: °ü¸®±ÇÇÑÀÌ ÀÖ´Â »ç¿ëÀÚ %s °¡ ¾ø½À´Ï´Ù\n" +msgstr "ì‰ë„ìš° 그룹 %s: ê´€ë¦¬ê¶Œí•œì´ ìžˆëŠ” ì‚¬ìš©ìž %s ê°€ 없습니다\n" #: src/grpck.c:560 #, c-format msgid "delete administrative member `%s'? " -msgstr "°ü¸® ±ÇÇÑÀÌ ÀÖ´Â ¸â¹ö '%s' ¸¦ Áö¿ï±î¿ä? " +msgstr "관리 ê¶Œí•œì´ ìžˆëŠ” 멤버 '%s' 를 지울까요? " #: src/grpck.c:588 #, c-format msgid "shadow group %s: no user %s\n" -msgstr "½¦µµ¿ì ±×·ì %s: %s ¶õ »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù\n" +msgstr "ì‰ë„ìš° 그룹 %s: %s 란 사용ìžê°€ 없습니다\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format msgid "%s: cannot update file %s\n" -msgstr "%s: ÆÄÀÏ %s ¸¦ ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: íŒŒì¼ %s 를 ì—…ë°ì´íЏ í•  수 없습니다\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s: ÆÄÀÏÀÌ ¾÷µ¥ÀÌÆ® µÇ¾ú½À´Ï´Ù; mkpasswd ¸¦ ½ÇÇàÇϽʽÿÀ\n" +msgstr "%s: 파ì¼ì´ ì—…ë°ì´íЏ ë˜ì—ˆìŠµë‹ˆë‹¤; mkpasswd 를 실행하십시오\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format msgid "%s: no changes\n" -msgstr "%s: º¯°æÀÌ ¾È µÇ¾ú½À´Ï´Ù\n" +msgstr "%s: ë³€ê²½ì´ ì•ˆ ë˜ì—ˆìŠµë‹ˆë‹¤\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format msgid "%s: the files have been updated\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: ½¦µµ¿ì ±×·ì ÆÄÀÏ Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 íŒŒì¼ ìž ê¸ˆì„ í•  수 없습니다\n" #: src/grpconv.c:76 src/grpunconv.c:72 #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 파ì¼ì„ ì—´ 수 없습니다\n" #: src/grpconv.c:94 #, c-format msgid "%s: can't remove shadow group %s\n" -msgstr "%s: ½¦µµ¿ì ±×·ì %s ¸¦ Á¦°ÅÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 %s 를 제거할 수 없습니다\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" -msgstr "%s: %s ¿¡ ´ëÇÑ ½¦µµ¿ì ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: %s ì— ëŒ€í•œ ì‰ë„ìš° ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" -msgstr "%s: %s ±×·ì¿¡ ´ëÇÑ ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: %s ê·¸ë£¹ì— ëŒ€í•œ ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" -msgstr "%s: ±×·ì ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" - -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: ½¦µµ¿ì ±×·ì Áö¿ø¿¡ ´ëÇÏ¿© Çü¼ºÀÌ µÇÁö ¾Ê¾Ò½À´Ï´Ù.\n" +msgstr "%s: 그룹 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÆÄÀÏÀ» Áö¿ï¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 파ì¼ì„ 지울수 없습니다\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "»ç¿ë¹ý: id [-a]\n" +#, fuzzy +msgid "Usage: id [-a]\n" +msgstr "사용법: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "»ç¿ë¹ý: id\n" +#, fuzzy +msgid "Usage: id\n" +msgstr "사용법: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" -msgstr " ±×·ìµé=" +msgstr " 그룹들=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 msgid "Username Port From Latest\n" -msgstr "»ç¿ëÀÚ¸í\tÆ÷Æ®\t~·ÎºÎÅÍ\t\tÃÖ±ÙÁ¤º¸\n" +msgstr "사용ìžëª…\tí¬íЏ\t~로부터\t\t최근정보\n" #: src/lastlog.c:183 msgid "Username Port Latest\n" -msgstr "»ç¿ëÀÚ¸í\t\tÆ÷Æ®\tÃÖ±ÙÁ¤º¸\n" +msgstr "사용ìžëª…\t\tí¬íЏ\t최근정보\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" -msgstr "**Çѹøµµ ·Î±äÇÑÀûÀÌ ¾ø½À´Ï´Ù**" +msgstr "**í•œë²ˆë„ ë¡œê¸´í•œì ì´ 없습니다**" -#: src/login.c:185 -#, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "»ç¿ë¹ý: %s [-p] [À̸§]\n" +#: src/login.c:175 +#, fuzzy, c-format +msgid "Usage: %s [-p] [name]\n" +msgstr "사용법: %s [-p] [ì´ë¦„]\n" -#: src/login.c:188 +#: src/login.c:178 #, c-format msgid " %s [-p] [-h host] [-f name]\n" -msgstr "\t%s [-p][-h È£½ºÆ®¸í][-f À̸§]\n" +msgstr "\t%s [-p][-h 호스트명][-f ì´ë¦„]\n" -#: src/login.c:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" -msgstr "\t%s [-p] -r È£½ºÆ®\n" +msgstr "\t%s [-p] -r 호스트\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀº ·Î±ä ½Ã°£(ÇöÀç½Ã°£Àº ·Î±ä±ÇÇÑ ¾øÀ½)\n" +msgstr "유효하지 ì•Šì€ ë¡œê¸´ 시간(í˜„ìž¬ì‹œê°„ì€ ë¡œê¸´ê¶Œí•œ ì—†ìŒ)\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" "\n" -"±Ù¿øÁöÀÇ Á¤ºñ¸¦ À§ÇØ ½Ã½ºÅÛÀÌ Á¾·áµÇ¾ú½À´Ï´Ù\n" +"ê·¼ì›ì§€ì˜ 정비를 위해 ì‹œìŠ¤í…œì´ ì¢…ë£Œë˜ì—ˆìŠµë‹ˆë‹¤\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[Á¢¼ÓÇØÁ¦°¡ ¹«½ÃµÇ¾ú½À´Ï´Ù -- ·çÆ®¸¸ ·Î±äÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù]\n" +"[ì ‘ì†í•´ì œê°€ 무시ë˜ì—ˆìŠµë‹ˆë‹¤ -- 루트만 ë¡œê¸´ì„ í•  수 있습니다]\n" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" "\n" -"%d ÃÊÈÄ¿¡ ·Î±ä ½Ã°£ÀÌ ¿Ï·áµË´Ï´Ù.\n" +"%d ì´ˆí›„ì— ë¡œê¸´ ì‹œê°„ì´ ì™„ë£Œë©ë‹ˆë‹¤.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" msgstr " on `%.100s' from `%.200s'" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" msgstr " on `%.100s'" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" "%s login: " msgstr "" "\n" -"%s ·Î±ä: " +"%s 로긴: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " -msgstr "·Î±ä: " +msgstr "로긴: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" -msgstr "·Î±ä¸íÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù" +msgstr "ë¡œê¸´ëª…ì´ ë§žì§€ 않습니다" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" -msgstr "°æ°í: ÀϽÃÀûÀ¸·Î Æä¼âµÈµÚ ´Ù½Ã ·Î±äÇÒ ¼ö ÀÖ½À´Ï´Ù.\n" +msgstr "경고: ì¼ì‹œì ìœ¼ë¡œ 페쇄ëœë’¤ 다시 로긴할 수 있습니다.\n" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" -msgstr "¸¶Áö¸· ·Î±ä: %s on %s" +msgstr "마지막 로긴: %s on %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" -msgstr "¸¶Áö¸· ·Î±ä: %.19s on %s" +msgstr "마지막 로긴: %.19s on %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" msgstr " from %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" -msgstr "rad_login À» ½ÃÀÛÇϰí ÀÖ½À´Ï´Ù\n" +msgstr "rad_login ì„ ì‹œìž‘í•˜ê³  있습니다\n" #: src/mkpasswd.c:47 #, c-format msgid "%s: no DBM database on system - no action performed\n" msgstr "" -"%s: ½Ã½ºÅÛ¿¡ DBM µ¥ÀÌÅͺ£À̽º°¡ ¾ø½À´Ï´Ù - µû¶ó¼­ ¾î¶»ÇÑ °Íµµ ½ÇÇàµÇÁö ¾Ê¾Ò½À" -"´Ï´Ù\n" +"%s: ì‹œìŠ¤í…œì— DBM ë°ì´í„°ë² ì´ìŠ¤ê°€ 없습니다 - ë”°ë¼ì„œ 어떻한 ê²ƒë„ ì‹¤í–‰ë˜ì§€ 않았습" +"니다\n" #: src/mkpasswd.c:232 src/mkpasswd.c:237 #, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "%s: ÆÄÀÏ %s ¸¦ °ãÃľµ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: íŒŒì¼ %s 를 ê²¹ì³ì“¸ 수 없습니다\n" #: src/mkpasswd.c:252 #, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "%s: %s ¿¡ ´ëÇÑ DBM ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: %s ì— ëŒ€í•œ DBM 파ì¼ì„ ì—´ 수 없습니다\n" #: src/mkpasswd.c:287 #, c-format msgid "%s: the beginning with " -msgstr "%s: ~¿Í ÇÔ²² ½ÃÀÛ " +msgstr "%s: ~와 함께 시작 " #: src/mkpasswd.c:288 msgid " is too long\n" -msgstr " ÀԷ¹üÀ§°¡ ³Ê¹« ±é´Ï´Ù\n" +msgstr " 입력범위가 너무 ê¹ë‹ˆë‹¤\n" #: src/mkpasswd.c:315 #, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "%s: ¶óÀÎ \"%s\" À» ºÐ¼®Çϴµ¥ ¿À·ù\n" +msgstr "%s: ë¼ì¸ \"%s\" ì„ ë¶„ì„í•˜ëŠ”ë° ì˜¤ë¥˜\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " -msgstr "À̸§¿¡ ´ëÇÑ ±â·ÏÀ» Ãß°¡Çϰí ÀÖ½À´Ï´Ù " +msgstr "ì´ë¦„ì— ëŒ€í•œ 기ë¡ì„ 추가하고 있습니다 " #: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 #: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 @@ -1411,406 +1285,345 @@ msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 #, c-format msgid "%s: error adding record for " -msgstr "%s: ¿¡ ´ëÇÑ ±â·ÏÀ» Ãß°¡Çϴµ¥ ¿À·ù " +msgstr "%s: ì— ëŒ€í•œ 기ë¡ì„ ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜ " #: src/mkpasswd.c:378 #, c-format msgid "added %d entries, longest was %d\n" -msgstr "%d ÀԷ°ªÀÌ Ãß°¡ µÇ¾ú½À´Ï´Ù, °¡Àå±ä°ÍÀº %d ÀÔ´Ï´Ù\n" +msgstr "%d ìž…ë ¥ê°’ì´ ì¶”ê°€ ë˜ì—ˆìŠµë‹ˆë‹¤, ê°€ìž¥ê¸´ê²ƒì€ %d 입니다\n" #: src/mkpasswd.c:392 #, c-format msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n" -msgstr "»ç¿ë¹ý: %s [-vf] [-p|sp|sg] ÆÄÀϸí\n" +msgstr "사용법: %s [-vf] [-p|sp|sg] 파ì¼ëª…\n" #: src/mkpasswd.c:395 #, 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:398 #, 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 -msgid "usage: newgrp [-] [group]\n" -msgstr "»ç¿ë¹ý: newgrp [-] [±×·ì]\n" +#, fuzzy +msgid "Usage: newgrp [-] [group]\n" +msgstr "사용법: newgrp [-] [그룹]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" -msgstr "»ç¿ë¹ý: sg group [[-c] ¸í·É]\n" +#, fuzzy +msgid "Usage: sg group [[-c] command]\n" +msgstr "사용법: sg group [[-c] 명령]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" -msgstr "¾Ë¼ö¾ø´Â uid(»ç¿ëÀÚ ¾ÆÀ̵ð): %u\n" +msgstr "알수없는 uid(ì‚¬ìš©ìž ì•„ì´ë””): %u\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" -msgstr "¾Ë¼ö¾ø´Â gid(±×·ì ¾ÆÀ̵ð): %lu\n" +msgstr "알수없는 gid(그룹 ì•„ì´ë””): %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" -msgstr "Á˼ÛÇÕ´Ï´Ù.\n" +msgstr "죄송합니다.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" -msgstr "±×·ìµéÀÌ ³Ê¹«³ª ¸¹½À´Ï´Ù\n" +msgstr "ê·¸ë£¹ë“¤ì´ ë„ˆë¬´ë‚˜ 많습니다\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "»ç¿ë¹ý:%s [ÀԷ°ª]\n" +msgstr "사용법:%s [입력값]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s: /etc/passwd Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "%s: /etc/passwd ìž ê¸ˆì„ í•  수 없습니다.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s: ÆÄÀÏ Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù, ³ªÁß¿¡ ´Ù½Ã ½ÃµµÇϼ¼¿ä\n" +msgstr "%s: íŒŒì¼ ìž ê¸ˆì„ í•  수 없습니다, ë‚˜ì¤‘ì— ë‹¤ì‹œ 시ë„하세요\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s: ÆÄÀÏÀ» ¿­¼ö°¡ ¾ø½À´Ï´Ù\n" +msgstr "%s: 파ì¼ì„ 열수가 없습니다\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: ë¼ì¸ %d: 유효하지 ì•Šì€ ë¼ì¸\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s: ¶óÀÎ %d: À¯È¿ÇÏÁö ¾ÊÀº ¶óÀÎ\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s: ¶óÀÎ %d: GID(±×·ì ¾ÆÀ̵ð)¸¦ ¸¸µé¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ë¼ì¸ %d: GID(그룹 ì•„ì´ë””)를 만들수 없습니다\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s: ¶óÀÎ %d: UID(»ç¿ëÀÚ ¾ÆÀ̵ð)¸¦ ¸¸µé¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ë¼ì¸ %d: UID(ì‚¬ìš©ìž ì•„ì´ë””)를 만들수 없습니다\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s: ¶óÀÎ %d: »ç¿ëÀÚ %s ¸¦ ¹ß°ßÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ë¼ì¸ %d: ì‚¬ìš©ìž %s 를 발견할 수 없습니다\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s: ¶óÀÎ %d: ÆÐ½º¿öµå¸¦ ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ë¼ì¸ %d: 패스워드를 ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s: ¶óÀÎ %d: µð·ºÅ丮 ¸¸µé±â¸¦ ½ÇÆÐÇß½À´Ï´Ù\n" +msgstr "%s: ë¼ì¸ %d: 디렉토리 만들기를 실패했습니다\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s: ¶óÀÎ %d: chown À» ½ÇÆÐÇß½À´Ï´Ù\n" +msgstr "%s: ë¼ì¸ %d: chown ì„ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s: ¶óÀÎ %d: ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ë¼ì¸ %d: ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s: ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® Çϴµ¥ ¿À·ù\n" +msgstr "%s: 파ì¼ì„ ì—…ë°ì´íЏ í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/passwd.c:174 -#, c-format -msgid "usage: %s [-f|-s] [name]\n" -msgstr "»ç¿ë¹ý: %s [-f|-s][À̸§]\n" +#: src/passwd.c:155 +#, fuzzy, c-format +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "사용법: %s [-f|-s][ì´ë¦„]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, c-format msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" -msgstr "\t%s [-x ÃÖ´ë][-n ÃÖ¼Ò][-w °æ°í][-i ºñȰ¼ºÈ­] À̸§\n" +msgstr "\t%s [-x 최대][-n 최소][-w 경고][-i 비활성화] ì´ë¦„\n" -#: src/passwd.c:180 +#: src/passwd.c:161 #, c-format msgid " %s {-l|-u|-d|-S|-e} name\n" -msgstr "\t%s {-l|-u|-d|-S|-e} À̸§\n" +msgstr "\t%s {-l|-u|-d|-S|-e} ì´ë¦„\n" -#: src/passwd.c:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "" -"»ç¿ëÀÚ %s ´Â TCFS ۸¦ °¡Áö°í ÀÖ½À´Ï´Ù, ±×ÀÇ ¿¹Àü ÆÐ½º¿öµå°¡ ¿ä±¸µË´Ï´Ù.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "°­Á¦·Î º¯°æÀ» Çϱâ À§Çؼ­´Â -t ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "¿¹Àü ÆÐ½º¿öµå: " +msgstr "예전 패스워드: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" -msgstr "`%s' ¿¡ ´ëÇÏ¿© ÆÐ½º¿öµå°¡ ¸ÂÁö ¾Ê½À´Ï´Ù\n" +msgstr "`%s' ì— ëŒ€í•˜ì—¬ 패스워드가 ë§žì§€ 않습니다\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "°æ°í: »ç¿ëÀÚ %s ´Â TCFS ۸¦ °¡Áö°í ÀÖ½À´Ï´Ù.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -"»õ·Î¿î ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϼ¼¿ä (ÃÖ¼Ò %d, ÃÖ´ë %d ±ÛÀÚ)\n" -"»óÇÏÀ§ ±ÛÀÚ¿Í ¼ýÀÚ¸¦ Á¶ÇÕÇÏ¿© »ç¿ëÇϼ¼¿ä.\n" +"새로운 패스워드를 입력하세요 (최소 %d, 최대 %d 글ìž)\n" +"ìƒí•˜ìœ„ 글ìžì™€ 숫ìžë¥¼ 조합하여 사용하세요.\n" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "»õ·Î¿î ÆÐ½º¿öµå: " +msgstr "새로운 패스워드: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" -msgstr "´Ù½Ã ½ÃµµÇϼ¼¿ä.\n" +msgstr "다시 시ë„하세요.\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" "\n" -"°æ°í: º¸¾È¼ºÀÌ ¾ø´Â ÆÐ½º¿öµå (±×·¡µµ »ç¿ëÇÏ±æ ¿øÇÑ´Ù¸é ´Ù½Ã ÀÔ·ÂÇϼ¼¿ä).\n" +"경고: ë³´ì•ˆì„±ì´ ì—†ëŠ” 패스워드 (ê·¸ëž˜ë„ ì‚¬ìš©í•˜ê¸¸ ì›í•œë‹¤ë©´ 다시 입력하세요).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" -msgstr "ÀԷ°ªÀÌ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù; ´Ù½Ã ½ÃµµÇϼ¼¿ä.\n" +msgstr "ìž…ë ¥ê°’ì´ ì¼ì¹˜í•˜ì§€ 않습니다; 다시 시ë„하세요.\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "%s ¿¡ ´ëÇÑ ÆÐ½º¿öµå´Â º¯°æµÉ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "%s ì— ëŒ€í•œ 패스워드는 ë³€ê²½ë  ìˆ˜ 없습니다.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "Á˼ÛÇÕ´Ï´Ù, %s ¿¡ ´ëÇÑ ÆÐ½º¿öµå°¡ ¾ÆÁ÷ º¯°æÀÌ µÉ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "죄송합니다, %s ì— ëŒ€í•œ 패스워드가 ì•„ì§ ë³€ê²½ì´ ë  ìˆ˜ 없습니다.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s: ¸Þ¸ð¸® ºÎÁ·\n" +msgstr "%s: 메모리 부족\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "TCFS Ű µ¥ÀÌÅͺ£À̽º Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù; ³ªÁß¿¡ ´Ù½Ã ½ÃµµÇϼ¼¿ä\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "TCFS Ű µ¥ÀÌÅͺ£À̽º¸¦ ¿­¼ö°¡ ¾ø½À´Ï´Ù.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "TCFs Ű µ¥ÀÌÅͺ£À̽º ¾÷µ¥ÀÌÆ® Áß ¿À·ù.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "TCFS º¯°æÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" -msgstr "%s: %s ¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù" +msgstr "%s: %s 를 실행할 수 없습니다" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" -msgstr "%s: ÀúÀå¼Ò %s ´Â Áö¿øÀÌ µÇÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: 저장소 %s 는 ì§€ì›ì´ ë˜ì§€ 않습니다\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s: Á¢±Ù±ÇÇÑ ¾øÀ½\n" +msgstr "%s: 접근권한 ì—†ìŒ\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "%s ¿¡ ´ëÇÑ ÆÐ½º¿öµå¸¦ ´ç½ÅÀº º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.\n" +msgstr "%s ì— ëŒ€í•œ 패스워드를 ë‹¹ì‹ ì€ ë³€ê²½í•  수 없습니다.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" -msgstr "%s ¿¡ ´ëÇÑ ÆÐ½º¿öµå¸¦ º¯°æÁß\n" +msgstr "%s ì— ëŒ€í•œ 패스워드를 변경중\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "%s ¿¡ ´ëÇÑ ÆÐ½º¿öµå°¡ º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù.\n" +msgstr "%s ì— ëŒ€í•œ 패스워드가 변경ë˜ì§€ 않았습니다.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 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] [passwd [shadow]]\n" +msgstr "사용법: %s [-q] [-r] [-s] [passwd [shadow]]\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" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀº ÆÐ½º¿öµå ÆÄÀÏ ÀÔ·Â\n" +msgstr "유효하지 ì•Šì€ íŒ¨ìŠ¤ì›Œë“œ íŒŒì¼ ìž…ë ¥\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "ÆÐ½º¿öµå ÀԷ°ª º¹Á¦\n" +msgstr "패스워드 입력값 복제\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀº »ç¿ëÀÚ¸í '%s'\n" +msgstr "유효하지 ì•Šì€ ì‚¬ìš©ìžëª… '%s'\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" -msgstr "»ç¿ëÀÚ %s: ±×·ìÀÌ ¾ø½À´Ï´Ù %u\n" +msgstr "ì‚¬ìš©ìž %s: ê·¸ë£¹ì´ ì—†ìŠµë‹ˆë‹¤ %u\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "»ç¿ëÀÚ %s: µð·ºÅ丮 %s ´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "ì‚¬ìš©ìž %s: 디렉토리 %s 는 존재하지 않습니다\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "»ç¿ëÀÚ %s: ÇÁ·Î±×·¥ %s ´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "ì‚¬ìš©ìž %s: 프로그램 %s 는 존재하지 않습니다\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "À¯È¿ÇÏÁö ¾ÊÀº ½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏ ÀԷ°ª\n" +msgstr "유효하지 ì•Šì€ ì‰ë„ìš° 패스워드 íŒŒì¼ ìž…ë ¥ê°’\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "½¦µµ¿ì ÆÐ½º¿öµå ÀԷ°ª º¹Á¦\n" +msgstr "ì‰ë„ìš° 패스워드 입력값 복제\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏ ÀԷ°ªÀÌ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "패스워드 íŒŒì¼ ìž…ë ¥ê°’ì´ ì¼ì¹˜í•˜ì§€ 않습니다\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" -msgstr "»ç¿ëÀÚ %s: ¸¶Áö¸· ÆÐ½º¿öµå´Â ³ªÁß¿¡ º¯°æ\n" +msgstr "ì‚¬ìš©ìž %s: 마지막 패스워드는 ë‚˜ì¤‘ì— ë³€ê²½\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: 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:89 src/pwunconv.c:98 +#: 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:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s: %s ¿¡ ´ëÇÑ ½¦µµ¿ì ÀԷ°ªÀ» Á¦°ÅÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: %s ì— ëŒ€í•œ ì‰ë„ìš° ìž…ë ¥ê°’ì„ ì œê±°í•  수 없습니다\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s: %s ¿¡ ´ëÇÑ ÆÐ½º¿öµå ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: %s ì— ëŒ€í•œ 패스워드 ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s: ½¦µµ¿ì ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s: ÆÐ½º¿öµå ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 패스워드 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå°¡ Çü¼ºµÇÁö ¾Ê¾Ò½À´Ï´Ù.\n" - -#: src/pwunconv.c:160 +#: 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:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» Áö¿ï ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 파ì¼ì„ 지울 수 없습니다\n" #: src/su.c:133 msgid "Sorry." -msgstr "Á˼ÛÇÕ´Ï´Ù." +msgstr "죄송합니다." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s: Å͹̳ο¡¼­ ¹Þµå½Ã ½ÇÇàÀÌ µÇ¾îÁ®¾ß ÇÕ´Ï´Ù\n" +msgstr "%s: 터미ë„ì—서 받드시 ì‹¤í–‰ì´ ë˜ì–´ì ¸ì•¼ 합니다\n" #: src/su.c:306 #, c-format msgid "%s: pam_start: error %d\n" -msgstr "%s: pam_start: ¿À·ù %d\n" +msgstr "%s: pam_start: 오류 %d\n" #: src/su.c:336 #, c-format msgid "Unknown id: %s\n" -msgstr "¾Ë¼ö¾ø´Â ¾ÆÀ̵ð: %s\n" +msgstr "알수없는 ì•„ì´ë””: %s\n" #: src/su.c:373 src/su.c:390 #, c-format msgid "You are not authorized to su %s\n" -msgstr "´ç½ÅÀº su %s ¿¡°Ô ÀÎÁõÀÌ µÇÁö ¾Ê¾Ò½À´Ï´Ù\n" +msgstr "ë‹¹ì‹ ì€ su %s ì—게 ì¸ì¦ì´ ë˜ì§€ 않았습니다\n" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" -msgstr "(ÀÚ½ÅÀÇ ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϼ¼¿ä.)" +msgstr "(ìžì‹ ì˜ 패스워드를 입력하세요.)" #: src/su.c:419 #, c-format @@ -1819,610 +1632,665 @@ msgid "" "(Ignored)\n" msgstr "" "%s: %s\n" -"(¹«½ÃµÊ)\n" +"(무시ë¨)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" -msgstr "½©ÀÌ ¾øÀ½\n" +msgstr "ì‰˜ì´ ì—†ìŒ\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" -msgstr "ÀÌ ¾îÄ«¿îÆ®·Î su·Î Á¢±ÙÁ¦¾îÇÏ´Â Çã°¡°¡ ¾øÀ½.\n" +msgstr "ì´ ì–´ì¹´ìš´íŠ¸ë¡œ su로 접근제어하는 허가가 ì—†ìŒ.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "ÆÐ½º¿öµå ÀÎÁõÀÌ ¹«½ÃµÇ¾ú½À´Ï´Ù.\n" +msgstr "패스워드 ì¸ì¦ì´ 무시ë˜ì—ˆìŠµë‹ˆë‹¤.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" -msgstr "»ç¿ëÀÚ ÀÚ½ÅÀÇ ÆÐ½º¿öµå¸¦ ÀÎÁõÀ¸·Î½á ÀÔ·ÂÀ» ÇϽʽÿÀ.\n" +msgstr "ì‚¬ìš©ìž ìžì‹ ì˜ 패스워드를 ì¸ì¦ìœ¼ë¡œì¨ ìž…ë ¥ì„ í•˜ì‹­ì‹œì˜¤.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" -msgstr "ÆÐ½º¿öµå ÆÄÀÏ ¾øÀ½\n" +msgstr "패스워드 íŒŒì¼ ì—†ìŒ\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "'·çÆ®'¿¡ ´ëÇÑ ÆÐ½º¿öµå ÆÄÀÏ ÀԷ°ª ¾øÀ½\n" +msgstr "'루트'ì— ëŒ€í•œ 패스워드 íŒŒì¼ ìž…ë ¥ê°’ ì—†ìŒ\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" "\n" -"ÀϹÝÀûÀ¸·Î ½ÃÀÛ(normal startup)À» ÇÏ·Á¸é control-d ¸¦ ÀÔ·ÂÇϼ¼¿ä,\n" -"(±×·¸Áö ¾ÊÀ¸¸é ½Ã½ºÅÛ Á¤ºñ¸¦ À§ÇÏ¿© ·çÆ® ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϼ¼¿ä)" +"ì¼ë°˜ì ìœ¼ë¡œ 시작(normal startup)ì„ í•˜ë ¤ë©´ control-d 를 입력하세요,\n" +"(그렇지 않으면 시스템 정비를 위하여 루트 패스워드를 입력하세요)" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" -msgstr "½Ã½ºÅÛ Á¤ºñ ¸ðµå·Î µé¾î°¡°í ÀÖ½À´Ï´Ù\n" +msgstr "시스템 정비 모드로 들어가고 있습니다\n" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" -msgstr "%s: ±×·ì µ¥ÀÌÅͺ£À̽º¸¦ ´Ù½Ã ¸¸µì´Ï´Ù\n" +msgstr "%s: 그룹 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 다시 만듭니다\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "%s: ½¦µµ¿ì ±×·ì µ¥ÀÌÅͺ£À̽º¸¦ ´Ù½Ã ¸¸µì´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 그룹 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 다시 만듭니다\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "%s: À¯È¿ÇÏÁö ¾ÊÀº ¼ýÀÚ ÀԷ°ª `%s'\n" +msgstr "%s: 유효하지 ì•Šì€ ìˆ«ìž ìž…ë ¥ê°’ `%s'\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" -msgstr "%s: ¾Ë¼ö¾ø´Â gid(±×·ì ¾ÆÀ̵ð) %s\n" +msgstr "%s: 알수없는 gid(그룹 ì•„ì´ë””) %s\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" -msgstr "%s: ¾Ë¼ö¾ø´Â ±×·ì %s\n" +msgstr "%s: 알수없는 그룹 %s\n" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "±×·ì=%s,%u Ãʱ⠵ð·ºÅ丮=%s skel=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "½©=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "ºñȰ¼ºÈ­=%ld ¸¸±â=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" -msgstr "±×·ì=%u\n" +msgstr "그룹=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" -msgstr "Ȩµð·ºÅ丮=%s\n" +msgstr "홈디렉토리=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" -msgstr "ºñȰ¼ºÈ­=%ld\n" +msgstr "비활성화=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" -msgstr "¸¸±â=%s\n" +msgstr "만기=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" -msgstr "½©=%s\n" +msgstr "쉘=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "SKEL=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" -msgstr "%s: »õ·Î¿î µðÆúÆ® ÆÄÀÏÀ» ¸¸µé¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 새로운 ë””í´íЏ 파ì¼ì„ 만들수 없습니다\n" -#: src/useradd.c:503 +#: src/useradd.c:467 #, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: »õ·Î¿î µðÆúÆ® ÆÄÀÏÀ» ¸¸µé¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 새로운 ë””í´íЏ 파ì¼ì„ 만들수 없습니다\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" -msgstr "%s: À̸§ Àç ¼³Á¤: %s" +msgstr "%s: ì´ë¦„ 재 설정: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" -msgstr "%s: ±×·ì `%s' ´Â NIS ±×·ìÀÔ´Ï´Ù.\n" +msgstr "%s: 그룹 `%s' 는 NIS 그룹입니다.\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" -msgstr "%s: ³Ê¹«³ª ¸¹Àº ±×·ìÀÌ ¸í½ÃµÇ¾ú½À´Ï´Ù (ÃÖ´ë %d).\n" +msgstr "%s: 너무나 ë§Žì€ ê·¸ë£¹ì´ ëª…ì‹œë˜ì—ˆìŠµë‹ˆë‹¤ (최대 %d).\n" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "»ç¿ë¹ý: %s\t[-u uid(»ç¿ëÀÚ ¾ÆÀ̵ð) [-o]] [-g ±×·ì¸í][-G ±×·ì,...]\n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "" +"사용법: useradd [-u uid(ì‚¬ìš©ìž ì•„ì´ë””) [-o]] [-g 그룹명][-G 그룹,...]\n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t[-d Ȩµð·ºÅ丮][-s ½©][-c Àû¿ä»çÇ×][-m [-k template]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "" +" [-d 홈디렉토리][-s 쉘][-c ì ìš”사항][-m [-k template]]\n" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " -msgstr "[-f ºñȰ¼ºÈ­] [-e ¸¸±â] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f 비활성화] [-e 만기]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A ÇÁ·Î±×·¥] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g 그룹명][-b 초기디렉토리][-s 쉘]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p ÆÐ½º¿öµå] À̸§\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr "\t%s\t-D [-g ±×·ì¸í][-b Ãʱâµð·ºÅ丮][-s ½©]\n" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t[-f ºñȰ¼ºÈ­] [-e ¸¸±â]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" -msgstr "%s: ±×·ì ÆÄÀÏ Àá±ÝÀ» Çϴµ¥ ¿À·ù\n" +msgstr "%s: 그룹 íŒŒì¼ ìž ê¸ˆì„ í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" -msgstr "%s: ±×·ì ÆÄÀÏÀ» ¿©´Âµ¥ ¿À·ù\n" +msgstr "%s: 그룹 파ì¼ì„ ì—¬ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ìÀ» Àá±×´Âµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° ê·¸ë£¹ì„ ìž ê·¸ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s: ±×·ì ÆÄÀÏÀ» ¿©´Âµ¥ ¿À·ù\n" +msgstr "%s: 그룹 파ì¼ì„ ì—¬ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" -msgstr "%s: uid(»ç¿ëÀÚ ¾ÆÀ̵ð) %u ´Â ÀûÀýÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: uid(ì‚¬ìš©ìž ì•„ì´ë””) %u 는 ì ì ˆí•˜ì§€ 않습니다\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" -msgstr "%s: ÀûÀýÇÑ uid(»ç¿ëÀÚ ¾ÆÀ̵ð)¸¦ ¾òÀ» ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì ì ˆí•œ uid(ì‚¬ìš©ìž ì•„ì´ë””)를 ì–»ì„ ìˆ˜ 없습니다\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s: `%s' ºÎºÐÀº À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s: ±âº» µð·ºÅ丮 `%s' ´Â À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: 기본 디렉토리 `%s' 는 유효하지 않습니다\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s: Àû¿ä»çÇ× `%s' Àº À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: ì ìš”사항 `%s' ì€ ìœ íš¨í•˜ì§€ 않습니다\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s: Ȩ µð·ºÅ丮 `%s' ´Â À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: 홈 디렉토리 `%s' 는 유효하지 않습니다\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s: ³¯Â¥ `%s' ´Â À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: ë‚ ì§œ `%s' 는 유효하지 않습니다\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå°¡ -e ¿É¼ÇÀ» ¿ä±¸ÇÕ´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드가 -e ì˜µì…˜ì„ ìš”êµ¬í•©ë‹ˆë‹¤\n" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå°¡ -f ¿É¼ÇÀ» ¿ä±¸ÇÕ´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드가 -f ì˜µì…˜ì„ ìš”êµ¬í•©ë‹ˆë‹¤\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: `%s' ë¶€ë¶„ì€ ìœ íš¨í•˜ì§€ 않습니다\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s: À¯È¿ÇÏÁö ¾ÊÀº ½© `%s'\n" +msgstr "%s: 유효하지 ì•Šì€ ì‰˜ `%s'\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" -msgstr "%s: À¯È¿ÇÏÁö ¾ÊÀº »ç¿ëÀÚ¸í `%s'\n" +msgstr "%s: 유효하지 ì•Šì€ ì‚¬ìš©ìžëª… `%s'\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" -msgstr "%s: ÆÐ½º¿öµå ÆÄÀÏÀ» ´Ù½Ã ¾µ¼ö°¡ ¾ø½À´Ï´Ù\n" +msgstr "%s: 패스워드 파ì¼ì„ 다시 쓸수가 없습니다\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» ´Ù½Ã ¾µ¼ö°¡ ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 파ì¼ì„ 다시 쓸수가 없습니다\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" -msgstr "%s: ÆÐ½º¿öµå ÆÄÀÏ Àá±ÝÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 패스워드 íŒŒì¼ ìž ê¸ˆì„ í•  수 없습니다\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" -msgstr "%s: ÆÐ½º¿öµå ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 패스워드 파ì¼ì„ ì—´ 수 없습니다\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» Àá±Û ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 파ì¼ì„ 잠글 수 없습니다\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 파ì¼ì„ ì—´ 수 없습니다\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s: ÀÎÁõ¹æ¹ý Ãß°¡Çϴµ¥ ¿À·ù\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" -msgstr "%s: »õ·Î¿î ÆÐ½º¿öµå ÀԷ°ªÀ» Ãß°¡Çϴµ¥ ¿À·ù\n" +msgstr "%s: 새로운 패스워드 ìž…ë ¥ê°’ì„ ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" -msgstr "%s: ÆÐ½º¿öµå dbm ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ®Çϴµ¥ ¿À·ù\n" +msgstr "%s: 패스워드 dbm ìž…ë ¥ê°’ì„ ì—…ë°ì´íŠ¸í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s: »õ·Î¿î ½¦µµ¿ì ÆÐ½º¿öµå ÀԷ°ªÀ» Ãß°¡Çϴµ¥ ¿À·ù\n" +msgstr "%s: 새로운 ì‰ë„ìš° 패스워드 ìž…ë ¥ê°’ì„ ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå dbm ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® Çϴµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 dbm ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" -msgstr "%s: µð·ºÅ丮 %s ¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 디렉토리 %s 를 만들 수 없습니다\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" -msgstr "%s: »ç¿ëÀÚ %s ´Â Á¸ÀçÇÕ´Ï´Ù\n" +msgstr "%s: ì‚¬ìš©ìž %s 는 존재합니다\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" msgstr "" -"%s:°æ°í: CREATE_HOME Àº Áö¿øµÇÁö ¾Ê½À´Ï´Ù, -m ¿É¼ÇÀ» ´ë½Å »ç¿ëÇϼ¼¿ä.\n" +"%s:경고: CREATE_HOME ì€ ì§€ì›ë˜ì§€ 않습니다, -m ì˜µì…˜ì„ ëŒ€ì‹  사용하세요.\n" -#: src/userdel.c:129 -#, c-format -msgid "usage: %s [-r] name\n" -msgstr "»ç¿ë¹ý: %s [-r] À̸§\n" +#: src/userdel.c:124 +#, fuzzy, c-format +msgid "Usage: %s [-r] name\n" +msgstr "사용법: %s [-r] ì´ë¦„\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s: ±×·ì ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ®Çϴµ¥ ¿À·ù\n" +msgstr "%s: 그룹 ìž…ë ¥ê°’ì„ ì—…ë°ì´íŠ¸í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" -msgstr "%s: dbm ±×·ì ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: dbm 그룹 ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/userdel.c:219 +#: src/userdel.c:214 #, fuzzy, c-format msgid "%s: cannot remove dbm group entry\n" -msgstr "%s: dbm ±×·ì ÀԷ°ªÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: dbm 그룹 ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: TCFS Ű ÆÄÀÏÀ» ´Ù½Ã ¾µ ¼ö ¾ø½À´Ï´Ù\n" +msgid "%s: cannot open group file\n" +msgstr "%s: 그룹 파ì¼ì„ ì—´ 수 없습니다\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: TCFS Ű ÆÄÀÏÀ» Àá±Û ¼ö ¾ø½À´Ï´Ù\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: TCFS Ű ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: ì‰ë„ìš° 그룹 파ì¼ì„ ì—´ 수 없습니다\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: ±×·ì ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: ½¦µµ¿ì ±×·ì ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s: ÀÎÁõÀ» Áö¿ì´Âµ¥ ¿À·ù\n" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: ÆÐ½º¿öµå ÀԷ°ªÀ» Áö¿ì´Âµ¥ ¿À·ù\n" +msgstr "%s: 패스워드 ìž…ë ¥ê°’ì„ ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå ÀԷ°ªÀ» Áö¿ì´Âµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 ìž…ë ¥ê°’ì„ ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: TCFS ÀԷ°ªÀ» Áö¿ì´Âµ¥ ¿À·ù\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: ÆÐ½º¿öµå dbm ÀԷ°ªÀ» Áö¿ì´Âµ¥ ¿À·ù\n" +msgstr "%s: 패스워드 dbm ìž…ë ¥ê°’ì„ ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå dbm ÀԷ°ªÀ» Áö¿ì´Âµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 dbm ìž…ë ¥ê°’ì„ ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s: »ç¿ëÀÚ %s ´Â ÇöÀç ·Î±äÇÑ »óÅ ÀÔ´Ï´Ù\n" +msgstr "%s: ì‚¬ìš©ìž %s 는 현재 로긴한 ìƒíƒœ 입니다\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" msgstr "" -"%s: °æ°í: %s ´Â %s ¿¡ ¼ÒÀ¯µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù, µû¶ó¼­ Á¦°ÅµÇÁö ¾Ê½À´Ï´Ù\n" +"%s: 경고: %s 는 %s ì— ì†Œìœ ë˜ì–´ 있지 않습니다, ë”°ë¼ì„œ 제거ë˜ì§€ 않습니다\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " -msgstr "%s: °æ°í: Á¦°ÅÇÒ ¼ö ¾ø½À´Ï´Ù " +msgstr "%s: 경고: 제거할 수 없습니다 " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" -msgstr "%s: »ç¿ëÀÚ %s ´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: ì‚¬ìš©ìž %s 는 존재하지 않습니다\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" -msgstr "%s: »ç¿ëÀÚ %s ´Â NIS »ç¿ëÀÚ ÀÔ´Ï´Ù\n" +msgstr "%s: ì‚¬ìš©ìž %s 는 NIS ì‚¬ìš©ìž ìž…ë‹ˆë‹¤\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, 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:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" msgstr "" -"%s: µð·ºÅ丮 %s ´Â Á¦°ÅµÇÁö ¾Ê½À´Ï´Ù (»ç¿ëÀÚ %s ÀÇ È¨ µð·ºÅ丮°¡ Áö¿öÁú °ÍÀÔ" -"´Ï´Ù)\n" +"%s: 디렉토리 %s 는 제거ë˜ì§€ 않습니다 (ì‚¬ìš©ìž %s ì˜ í™ˆ 디렉토리가 지워질 것입" +"니다)\n" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s: µð·ºÅ丮 %s ¸¦ Áö¿ì´Âµ¥ ¿À·ù\n" +msgstr "%s: 디렉토리 %s 를 ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, fuzzy, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "사용법: %s\t[-u uid(ì‚¬ìš©ìž ì•„ì´ë””) [-o]] [-g 그룹명][-G 그룹,...]\n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" -msgstr "\t\t[-d Ȩ µð·ºÅ丮 [-m]] [-s ½©] [-c Àû¿ä»çÇ×] [-l »õ_À̸§]\n" +msgstr "\t\t[-d 홈 디렉토리 [-m]] [-s 쉘] [-c ì ìš”사항] [-l 새_ì´ë¦„]\n" -#: src/usermod.c:332 -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {µðÆúÆ®|ÇÁ·Î±×·¥},...] " +#: src/usermod.c:313 +#, fuzzy +msgid "[-f inactive] [-e expire] " +msgstr "[-f 비활성화] [-e 만기] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" -msgstr "[-p ÆÐ½º¿öµå] -L|-U] À̸§\n" +msgstr "[-p 패스워드] -L|-U] ì´ë¦„\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" -msgstr "%s: ¾÷µ¥ÀÌÆ®_±×·ì¿¡ ¸Þ¸ð¸® ºÎÁ·\n" +msgstr "%s: ì—…ë°ì´íЏ_ê·¸ë£¹ì— ë©”ëª¨ë¦¬ 부족\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" -msgstr "%s: ¾÷µ¥ÀÌÆ®_±×·ì½¦µµ¿ì¿¡ ¸Þ¸ð¸® ºÎÁ·\n" +msgstr "%s: ì—…ë°ì´íЏ_그룹ì‰ë„ìš°ì— ë©”ëª¨ë¦¬ 부족\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" -msgstr "%s: ÁÖ¾îÁø flag °¡ ¾ø½À´Ï´Ù\n" +msgstr "%s: 주어진 flag ê°€ 없습니다\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå°¡ -e ¿É¼Ç°ú -f ¿É¼ÇÀ» ¿ä±¸ÇÕ´Ï´Ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드가 -e 옵션과 -f ì˜µì…˜ì„ ìš”êµ¬í•©ë‹ˆë‹¤\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s: uid(»ç¿ëÀÚ ¾ÆÀ̵ð) %u ´Â ÀûÀýÇÏÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: uid(ì‚¬ìš©ìž ì•„ì´ë””) %lu 는 ì ì ˆí•˜ì§€ 않습니다\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: ÀÎÁõ¹æ¹ýÀ» Áö¿ì´Âµ¥ ¿À·ù\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: ÀÎÁõ¹æ¹ýÀ» º¯°æÇϴµ¥ ¿À·ù\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: ÆÐ½º¿öµå ÀԷ°ªÀ» º¯°æÇϴµ¥ ¿À·ù\n" +msgstr "%s: 패스워드 ìž…ë ¥ê°’ì„ ë³€ê²½í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: ÆÐ½º¿öµå ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: 패스워드 ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" -msgstr "%s: ÆÐ½º¿öµå dbm ÀԷ°ªÀ» Ãß°¡Çϴµ¥ ¿À·ù\n" +msgstr "%s: 패스워드 dbm ìž…ë ¥ê°’ì„ ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "%s: ÆÐ½º¿öµå dbm ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: 패스워드 dbm ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" -msgstr "%s: ½¦µµ¿ì ÆÐ½º¿öµå dbm ÀԷ°ªÀ» Á¦°ÅÇϴµ¥ ¿À·ù\n" +msgstr "%s: ì‰ë„ìš° 패스워드 dbm ìž…ë ¥ê°’ì„ ì œê±°í•˜ëŠ”ë° ì˜¤ë¥˜\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s: µð·ºÅ丮 %s ´Â Á¸ÀçÇÕ´Ï´Ù\n" +msgstr "%s: 디렉토리 %s 는 존재합니다\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" -msgstr "%s: %s ¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: %s 를 만들 수 없습니다\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s: %s ¸¦ chown ÇÒ ¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: %s 를 chown í•  수 없습니다\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" -msgstr "%s: µð·ºÅ丮 %s ¿¡¼­ %s ·Î À̸§À» ¹Ù²Ü¼ö ¾ø½À´Ï´Ù\n" +msgstr "%s: 디렉토리 %s ì—서 %s 로 ì´ë¦„ì„ ë°”ê¿€ìˆ˜ 없습니다\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" -msgstr "%s: °æ°í: %s ´Â %s ¿¡ ¼ÒÀ¯µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù\n" +msgstr "%s: 경고: %s 는 %s ì— ì†Œìœ ë˜ì–´ 있지 않습니다\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "¸ÞÀϹڽº ¼ÒÀ¯ÀÚ¸¦ º¯°æÇϴµ¥ ½ÇÆÐÇß½À´Ï´Ù" +msgstr "ë©”ì¼ë°•스 소유ìžë¥¼ ë³€ê²½í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" -msgstr "¸ÞÀϹڽºÀÇ À̸§À» ¹Ù²Ù´Âµ¥ ½ÇÆÐÇß½À´Ï´Ù" +msgstr "ë©”ì¼ë°•ìŠ¤ì˜ ì´ë¦„ì„ ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s: %s ´Â º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù\n" +"%s: %s 는 변경ë˜ì§€ 않았습니다\n" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" -msgstr "ÆÄÀÏÀ» Àá±Û ¼ö ¾ø½À´Ï´Ù" +msgstr "파ì¼ì„ 잠글 수 없습니다" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" -msgstr "¹é¾÷À» ¸¸µé ¼ö ¾ø½À´Ï´Ù" +msgstr "ë°±ì—…ì„ ë§Œë“¤ 수 없습니다" -#: src/vipw.c:206 +#: src/vipw.c:200 #, c-format msgid "%s: can't restore %s: %s (your changes are in %s)\n" msgstr "" -"%s: %s ¸¦ º¹±¸½Ãų ¼ö ¾ø½À´Ï´Ù: %s (´ç½ÅÀÇ º¯°æ»çÇ×Àº %s ¿¡ ÀÖ½À´Ï´Ù)\n" +"%s: %s 를 복구시킬 수 없습니다: %s (ë‹¹ì‹ ì˜ ë³€ê²½ì‚¬í•­ì€ %s ì— ìžˆìŠµë‹ˆë‹¤)\n" -#: src/vipw.c:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`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 ¸¦ ÆíÁýÇÕ´Ï´Ù\t`vipw -s' ´Â /etc/shadow¸¦ ÆíÁýÇÕ´Ï´Ù\n" -"`vigr' Àº /etc/group À» ÆíÁýÇÕ´Ï´Ù\t`vigr -s' ´Â /etc/gshadow¸¦ ÆíÁýÇÕ´Ï´Ù\n" +"사용법:\n" +"`vipw' 는 /etc/passwd 를 편집합니다\t`vipw -s' 는 /etc/shadow를 편집합니다\n" +"`vigr' ì€ /etc/group ì„ íŽ¸ì§‘í•©ë‹ˆë‹¤\t`vigr -s' 는 /etc/gshadow를 편집합니다\n" + +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: ì‚¬ìš©ìž %s ì— ëŒ€í•œ ìž…ë ¥ê°’ì„ ì—…ë°ì´íЏ í•  수 없습니다\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "" +#~ "ì‚¬ìš©ìž %s 는 TCFS 키를 가지고 있습니다, ê·¸ì˜ ì˜ˆì „ 패스워드가 요구ë©ë‹ˆë‹¤.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "강제로 ë³€ê²½ì„ í•˜ê¸° 위해서는 -t ì˜µì…˜ì„ ì‚¬ìš©í•  수 있습니다.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "경고: ì‚¬ìš©ìž %s 는 TCFS 키를 가지고 있습니다.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "" +#~ "TCFS 키 ë°ì´í„°ë² ì´ìФ ìž ê¸ˆì„ í•  수 없습니다; ë‚˜ì¤‘ì— ë‹¤ì‹œ 시ë„하세요\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "TCFS 키 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 열수가 없습니다.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "TCFs 키 ë°ì´í„°ë² ì´ìФ ì—…ë°ì´íЏ 중 오류.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "TCFS ë³€ê²½ì„ ì‹¤í–‰í•  수 없습니다.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: TCFS 키 파ì¼ì„ 다시 쓸 수 없습니다\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: TCFS 키 파ì¼ì„ 잠글 수 없습니다\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: TCFS 키 파ì¼ì„ ì—´ 수 없습니다\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: TCFS ìž…ë ¥ê°’ì„ ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f 비활성화] [-e 만기] " + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: ì¸ì¦ì„ ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" + +#, fuzzy +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {ë””í´íЏ|프로그램},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: ì¸ì¦ë°©ë²•ì„ ì§€ìš°ëŠ”ë° ì˜¤ë¥˜\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: ì¸ì¦ë°©ë²• ì¶”ê°€í•˜ëŠ”ë° ì˜¤ë¥˜\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: ì¸ì¦ë°©ë²•ì„ ë³€ê²½í•˜ëŠ”ë° ì˜¤ë¥˜\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A 프로그램] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p 패스워드] ì´ë¦„\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "오류 - '%s'ì˜ ê²€ìƒ‰ì— ì‹¤íŒ¨\n" + +#~ msgid "%s not found\n" +#~ msgstr "%sê°€ 발견ë˜ì§€ 않ìŒ\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: ì‰ë„ìš° 그룹 ì§€ì›ì— 대하여 í˜•ì„±ì´ ë˜ì§€ 않았습니다.\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: ì‰ë„ìš° 패스워드가 형성ë˜ì§€ 않았습니다.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "사용법: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "%s ì‰˜ì„ ì‹¤í–‰í•©ë‹ˆë‹¤\n" + +#~ msgid "Dialup Password: " +#~ msgstr "다ì´ì–¼ì—… 패스워드: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "사용법: %s [-l] [-m 최소ì¼ìˆ˜] [-M 최대ì¼ìˆ˜] [-W 경고ì¼ìˆ˜] 사용ìž\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "사용법: %s [-(a|d)] 쉘\n" + +#~ msgid "Shell password: " +#~ msgstr "쉘 패스워드: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "쉘 패스워드를 다시 ìž…ë ¥: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: 패스워드가 ë§žì§€ 않습니다. 다시 시ë„하세요. \n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: %s를 만들 수 없습니다" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: %s를 열수가 없습니다" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: %sì˜ ì‰˜ì´ ë°œê²¬ë˜ì§€ 없습니다.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "그룹=%s,%u 초기 디렉토리=%s skel=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "쉘=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "비활성화=%ld 만기=%s" + +#~ msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#~ msgstr "사용법: %s\t[-u uid(ì‚¬ìš©ìž ì•„ì´ë””) [-o]] [-g 그룹명][-G 그룹,...]\n" #~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s: gid(±×·ì ¾ÆÀ̵ð) %ld ´Â ÀûÀýÇÏÁö ¾Ê½À´Ï´Ù\n" +#~ msgstr "%s: gid(그룹 ì•„ì´ë””) %ld 는 ì ì ˆí•˜ì§€ 않습니다\n" #, fuzzy #~ msgid "unknown gid: %u\n" -#~ msgstr "¾Ë¼ö¾ø´Â gid: %d\n" +#~ msgstr "알수없는 gid: %d\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s: uid(»ç¿ëÀÚ ¾ÆÀ̵ð) %d ´Â ÀûÀýÇÏÁö ¾Ê½À´Ï´Ù\n" +#~ msgstr "%s: uid(ì‚¬ìš©ìž ì•„ì´ë””) %d 는 ì ì ˆí•˜ì§€ 않습니다\n" #~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "»ç¿ëÀÚ %s: ÁÁÁö ¾ÊÀº UID(»ç¿ëÀÚ ¾ÆÀ̵ð) (%d)\n" +#~ msgstr "ì‚¬ìš©ìž %s: 좋지 ì•Šì€ UID(ì‚¬ìš©ìž ì•„ì´ë””) (%d)\n" #~ msgid "%s: no aging information present\n" -#~ msgstr "%s: ¿¬·É¿¡ ´ëÇÑ ¾î¶°ÇÑ Á¤º¸µµ ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù\n" +#~ msgstr "%s: ì—°ë ¹ì— ëŒ€í•œ 어떠한 ì •ë³´ë„ ë‚˜íƒ€ë‚˜ì§€ 않습니다\n" #~ msgid "group %s: bad GID (%d)\n" -#~ msgstr "±×·ì %s: ÁÁÁö¾ÊÀº GID(±×·ì ¾ÆÀ̵ð) (%d)\n" +#~ msgstr "그룹 %s: ì¢‹ì§€ì•Šì€ GID(그룹 ì•„ì´ë””) (%d)\n" #~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s: Á¢±Ù±ÇÇÑ ¾øÀ½ (½©).\n" +#~ msgstr "%s: 접근권한 ì—†ìŒ (쉘).\n" diff --git a/po/pl.gmo b/po/pl.gmo index c529228be94b6cb05acb288c57d4df10de2bbd40..a54cbfc503942f294e3010b74d459b93f6f61211 100644 GIT binary patch literal 40244 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 L8RiLQN6!Bj+=>f% diff --git a/po/pl.po b/po/pl.po index 15a70008..e1bff056 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,708 +1,617 @@ # shadow.pot Polish translation. # Copyright (C) 1999 Free Software Foundation, Inc. -# Arkadiusz Mi¶kiewicz , 1999. +# Arkadiusz MiÅ›kiewicz , 1999. # msgid "" msgstr "" "Project-Id-Version: shadow-981228\n" -"POT-Creation-Date: 2002-03-12 12:16+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-01-14 07:41+0100\n" "PO-Revision-Date: 1999-03-02 22:29+01:00\n" -"Last-Translator: Arkadiusz Mi¶kiewicz \n" +"Last-Translator: Arkadiusz MiÅ›kiewicz \n" "Language-Team: PL \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" -msgstr "Ostrze¿enie: nieznana grupa %s\n" +msgstr "Ostrzeżenie: nieznana grupa %s\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" -msgstr "Ostrze¿enie: zbyt wiele grup\n" +msgstr "Ostrzeżenie: zbyt wiele grup\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "Twoje has³o straci³o wa¿no¶æ." +msgstr "Twoje hasÅ‚o straciÅ‚o ważność." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "Twoje has³o jest nieaktywne." +msgstr "Twoje hasÅ‚o jest nieaktywne." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "Twoje konto straci³o wa¿no¶æ." +msgstr "Twoje konto straciÅ‚o ważność." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " Skontaktuj siê z administratorem systemu.\n" +msgstr " Skontaktuj siÄ™ z administratorem systemu.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " Wybierz nowe has³o.\n" +msgstr " Wybierz nowe hasÅ‚o.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "Twoje has³o straci wa¿no¶æ w ci±gu %ld dni.\n" +msgstr "Twoje hasÅ‚o straci ważność w ciÄ…gu %ld dni.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" -msgstr "Jutro twoje has³o straci wa¿no¶æ.\n" +msgstr "Jutro twoje hasÅ‚o straci ważność.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" -msgstr "Dzi¶ twoje has³o straci wa¿no¶æ.\n" +msgstr "DziÅ› twoje hasÅ‚o straci ważność.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" -msgstr "Nie mo¿na zmieniæ tty %s" +msgstr "Nie można zmienić tty %s" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "Przepe³nienie ¶rodowiska\n" +msgstr "PrzepeÅ‚nienie Å›rodowiska\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" -msgstr "Nie mo¿esz zmieniaæ $%s\n" +msgstr "Nie możesz zmieniać $%s\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" msgstr "" "%d %s od ostatniego logowania. Ostatnie logowanie: dnia %s na terminalu %" "s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" msgstr "niepowodzenia" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" msgstr "niepowodzenie" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" msgstr "Zbyt wiele otwartych sesji.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "Tym has³em nie mo¿na zdeszyfrowaæ tajnego klucza dla %s.\n" +msgstr "Tym hasÅ‚em nie można odszyfrować tajnego klucza dla %s.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" -msgstr "Nie mogê ustawiæ tajnego klucza dla %s: czy serwer kluczy dzia³a?\n" +msgstr "Nie można ustawić tajnego klucza dla %s: czy serwer kluczy dziaÅ‚a?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." -msgstr "Masz now± pocztê." +msgstr "Masz nowÄ… pocztÄ™." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." msgstr "Nie masz poczty." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." -msgstr "Masz pocztê." +msgstr "Masz pocztÄ™." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " -msgstr "Z³e has³o: %s. " +msgstr "ZÅ‚e hasÅ‚o: %s. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "passwd: pam_start() nie powiod³o siê, b³±d %d\n" +msgstr "passwd: pam_start() nie powiodÅ‚o siÄ™, błąd %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" msgstr "passwd: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "passwd: hasÅ‚o zostaÅ‚o zmienione\n" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" -msgstr "Nie mogê zmieniæ katalogu na \"%s\"\n" +msgstr "Nie można zmienić katalogu na \"%s\"\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" -msgstr "Brak katalogu, logujê z HOME=/" +msgstr "Brak katalogu, logujÄ™ z HOME=/" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "Uruchamiam pow³okê %s\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" -msgstr "Nie mogê uruchomiæ %s" +msgstr "Nie można uruchomić %s" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" -msgstr "Nieprawid³owy katalog g³ówny \"%s\"\n" +msgstr "NieprawidÅ‚owy katalog główny \"%s\"\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" -msgstr "Nie mogê zmieniæ g³ównego katalogu na \"%s\"\n" +msgstr "Nie można zmienić głównego katalogu na \"%s\"\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" -msgstr "malloc(%d) nie powiod³o siê\n" +msgstr "malloc(%d) nie powiodÅ‚o siÄ™\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "Has³o dostêpu modemowego: " - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" -msgstr "Nie mogê przydzieliæ miejsca dla informacji o konfiguracji.\n" +msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -"b³±d w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n" +"błąd w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "b³±d - wyszukiwanie '%s' niepowiod³o siê\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s nie znaleziony\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " -msgstr "Has³o: " +msgstr "HasÅ‚o: " #: lib/pwauth.c:56 #, c-format msgid "%s's Password: " -msgstr "Has³o u¿ytkownika %s: " +msgstr "HasÅ‚o użytkownika %s: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "(Echo on) " #: lib/strerror.c:20 #, c-format msgid "Unknown error %d" -msgstr "Nieznany b³±d %d" +msgstr "Nieznany błąd %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"U¿ycie: %s [-l] [-m min_dni] [-M maks_dni] [-W ostrze¿]\n" -"\t[-I nieaktywne] [-E utrata_wa¿no¶ci] [-d ostatni_dzieñ] u¿ytkownik\n" +"Użycie: chage [-l] [-m min_dni] [-M maks_dni] [-W ostrzeż]\n" +" [-I nieaktywne] [-E utrata_ważnoÅ›ci]\n" +" [-d ostatni_dzieÅ„] użytkownik\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" -"U¿ycie: %s [-l] [-m min_dni] [-M maks_dni] [-d ostatni_dzieñ] u¿ytkownik\n" - -#: src/chage.c:157 -#, fuzzy +#: src/chage.c:152 msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"Wpisz now± warto¶æ lub wci¶nij ENTER by przyj±c warto¶æ standardow±\n" +"Wpisz nowÄ… wartość lub wciÅ›nij ENTER by przyjąć wartość domyÅ›lnÄ…\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" -msgstr "Minimalny wiek has³a" +msgstr "Minimalny wiek hasÅ‚a" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" -msgstr "Maksymalny wiek has³a" +msgstr "Maksymalny wiek hasÅ‚a" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "Ostatnia zmiana has³a (RRRR-MM-DD)" +msgstr "Ostatnia zmiana hasÅ‚a (RRRR-MM-DD)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "Ostrzeżenie o utracie ważnoÅ›ci hasÅ‚a" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "Ostrze¿enie o utracie wa¿no¶ci has³a" - -#: src/chage.c:189 msgid "Password Inactive" -msgstr "Has³o nieaktywne" +msgstr "HasÅ‚o nieaktywne" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "Data utraty wa¿no¶ci konta (RRRR-MM-DD)" +msgstr "Data utraty ważnoÅ›ci konta (RRRR-MM-DD)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" msgstr "Minimum:\t\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" -msgstr "Maksimim:\t\t%ld\n" +msgstr "Maksimum:\t\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" -msgstr "Ostrze¿enie:\t\t%ld\n" +msgstr "Ostrzeżenie:\t\t%ld\n" -#: src/chage.c:252 -#, fuzzy, c-format +#: src/chage.c:244 +#, c-format msgid "Inactive:\t%ld\n" -msgstr "Nieaktywne:\t%ld\n" +msgstr "Nieaktywne:\t\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" msgstr "Ostatnia zmiana:\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" msgstr "Nigdy\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "Has³o traci wa¿no¶æ:\t" +msgstr "HasÅ‚o traci ważność:\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "Has³o nieaktywne:\t" +msgstr "HasÅ‚o nieaktywne:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "Has³o traci wa¿no¶æ:\t" +msgstr "Konto traci ważność:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s: nie ³±cz \"l\" z innymi flagami\n" +msgstr "%s: nie łącz \"l\" z innymi flagami\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s: odmowa dostêpu\n" +msgstr "%s: odmowa dostÄ™pu\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 -#, fuzzy, c-format -msgid "%s: PAM authentication failed\n" -msgstr "%s: b³±d podczas dodawania metody uwierzytelniania\n" - -#: src/chage.c:533 src/chpasswd.c:157 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: nie mogê zablokowaæ pliku z has³ami\n" +msgid "%s: PAM authentication failed\n" +msgstr "%s: błąd podczas uwierzytelniania przez PAM\n" -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" -msgstr "%s: nie mogê otworzyæ pliku z has³ami\n" +msgstr "%s: nie można otworzyć pliku z hasÅ‚ami\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" -msgstr "%s: nieznany u¿ytkownik: %s\n" +msgstr "%s: nieznany użytkownik: %s\n" -#: src/chage.c:571 -#, fuzzy, c-format +#: src/chage.c:536 +#, c-format msgid "%s: can't lock shadow password file" -msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można zablokować pliku z ukrytymi hasÅ‚ami" -#: src/chage.c:579 -#, fuzzy, c-format +#: src/chage.c:544 +#, c-format msgid "%s: can't open shadow password file" -msgstr "%s: nie mogê otworzyæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można otworzyć pliku z ukrytymi hasÅ‚ami" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" -msgstr "Zmieniam informacjê o u¿ytkowniku %s\n" +msgstr "Zmieniam informacjÄ™ o użytkowniku %s\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s: b³±d podczas zmieniania pól\n" +msgstr "%s: błąd podczas zmieniania pól\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" -msgstr "%s: nie mogê zaktualizowaæ pliku z has³ami\n" +msgstr "%s: nie można zaktualizować pliku z hasÅ‚ami\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s: nie mogê zaktualizowaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można zaktualizować pliku z ukrytymi hasÅ‚ami\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" -msgstr "B³±d podczas aktualizacki bazy hase³ DBM.\n" +msgstr "Błąd podczas aktualizacki bazy haseÅ‚ DBM.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "%s: nie mogê przepisaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można przepisać pliku z ukrytymi hasÅ‚ami\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s: nie mogê przepisaæ pliku z has³ami\n" +msgstr "%s: nie można przepisać pliku z hasÅ‚ami\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 -#, fuzzy, c-format +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 +#, c-format msgid "%s: PAM chauthtok failed\n" -msgstr "%s: nie mogê usun±c blokady z pliku\n" +msgstr "%s: PAM chauthtok nie powiodÅ‚o siÄ™\n" -#: src/chfn.c:83 +#: 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 "" -"U¿ycie: %s [-f imiê_nazwisko] [-r nr_pokoju] [-w tel_praca]\n" -"\t[-h tel_dom] [-o inne] [u¿ytkownik]\n" +"Użycie: %s [-f imiÄ™_nazwisko] [-r nr_pokoju] [-w tel_praca]\n" +"\t[-h tel_dom] [-o inne] [użytkownik]\n" -#: src/chfn.c:88 +#: src/chfn.c:89 #, c-format msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n" msgstr "" -"U¿ycie: %s [-f imiê_nazwisko] [-r nr_pokoju] [-w tel_praca] [-h tel_dom]\n" +"Użycie: %s [-f imiÄ™_nazwisko] [-r nr_pokoju] [-w tel_praca] [-h tel_dom]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" -msgstr "Wpisz now± warto¶æ lub wci¶nij ENTER by przyj±c warto¶æ domy¶ln±\n" +msgstr "Wpisz nowÄ… wartość lub wciÅ›nij ENTER by przyjąć wartość domyÅ›lnÄ…\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" -msgstr "Imiê i nazwisko" +msgstr "ImiÄ™ i nazwisko" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\tImiê i nazwisko: %s\n" +msgstr "\tImiÄ™ i nazwisko: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" msgstr "Numer pokoju" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" msgstr "\tNumer pokoju: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" msgstr "Telefon do pracy" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" msgstr "\tTelefon do pracy: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" msgstr "Telefon domowy" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" msgstr "\tTelefon domowy: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" msgstr "Inne" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "%s: Brak praw dostêpu.\n" +msgstr "%s: Brak praw dostÄ™pu.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" -msgstr "%s: Nieznany u¿ytkownik %s\n" +msgstr "%s: Nieznany użytkownik %s\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" -msgstr "%s: Nie mogê ustaliæ twojej nazwy u¿ytkownika.\n" +msgstr "%s: Nie można ustalić twojej nazwy użytkownika.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, c-format msgid "%s: cannot change user `%s' on NIS client.\n" -msgstr "%s: nie mogê zmieniæ u¿ytkownika `%s' na kliencie NIS.\n" +msgstr "%s: nie można zmienić użytkownika `%s' na kliencie NIS.\n" -#: src/chfn.c:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, c-format msgid "%s: `%s' is the NIS master for this client.\n" -msgstr "%s: `%s' jest nadrzêdnym serwerm NIS dla tego klienta.\n" +msgstr "%s: `%s' jest nadrzÄ™dnym serwerem NIS dla tego klienta.\n" -#: src/chfn.c:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" -msgstr "Zmieniam informacjê o u¿ytkowniku %s\n" +msgstr "Zmieniam informacjÄ™ o użytkowniku %s\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s: nieprawid³owa nazwa: \"%s\"\n" +msgstr "%s: nieprawidÅ‚owa nazwa: \"%s\"\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "%s: nieprawid³owy numer pokoju: \"%s\"\n" +msgstr "%s: nieprawidÅ‚owy numer pokoju: \"%s\"\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "%s: nieprawid³owy numer telefonu do pracy: \"%s\"\n" +msgstr "%s: nieprawidÅ‚owy numer telefonu do pracy: \"%s\"\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s: nieprawid³owy numer telefonu domowego: \"%s\"\n" +msgstr "%s: nieprawidÅ‚owy numer telefonu domowego: \"%s\"\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s: \"%s\" zawiera nieprawid³owe znaki\n" +msgstr "%s: \"%s\" zawiera nieprawidÅ‚owe znaki\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" -msgstr "%s: pola zbyt d³ugie\n" +msgstr "%s: pola zbyt dÅ‚ugie\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" -msgstr "Nie mogê zmieniæ ID na root.\n" +msgstr "Nie można zmienić ID na root.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" -msgstr "Nie mogê zablokowaæ pliku z has³ami; spróbuj pó¼niej.\n" +msgstr "Nie można zablokować pliku z hasÅ‚ami; spróbuj później.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "Nie mogê otworzyæ pliku z has³ami.\n" +msgstr "Nie można otworzyć pliku z hasÅ‚ami.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: %s nie znaleziony w /etc/passwd\n" +msgstr "%s: nie znaleziono %s w /etc/passwd\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" -msgstr "B³±d podczas aktualizacji wpisu do bazy hase³.\n" +msgstr "Błąd podczas aktualizacji wpisu do bazy haseÅ‚.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" -msgstr "Wprowadzenie zmian do pliku passwd jest niemo¿liwe.\n" +msgstr "Wprowadzenie zmian do pliku passwd jest niemożliwe.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" -msgstr "Nie mogê usun±c blokady z pliku z has³ami.\n" +msgstr "Nie można usunąć blokady z pliku z hasÅ‚ami.\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 #, c-format -msgid "usage: %s [-e]\n" -msgstr "u¿ycie: %s [-e]\n" +msgid "Usage: %s [-e]\n" +msgstr "Użycie: %s [-e]\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: nie można zablokować pliku z hasÅ‚ami\n" + +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można zablokować pliku z ukrytymi hasÅ‚ami\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: nie mogê otworzyæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można otworzyć pliku z ukrytymi hasÅ‚ami\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" -msgstr "%s: linia %d: linia zbyt d³uga\n" +msgstr "%s: linia %d: linia zbyt dÅ‚uga\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" -msgstr "%s: linia %d: brakuje nowego has³a\n" +msgstr "%s: linia %d: brakuje nowego hasÅ‚a\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" -msgstr "%s: linia %d: nieznany u¿ytkownik %s\n" +msgstr "%s: linia %d: nieznany użytkownik %s\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: linia %d: nie mogê zaktualizowaæ wpisu do bazy hase³\n" +msgstr "%s: linia %d: nie można zaktualizować wpisu do bazy haseÅ‚\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: wykryto b³±d, zignorowano modyfikacje\n" +msgstr "%s: wykryto błąd, zignorowano modyfikacje\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: b³±d podczas aktualizacji pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas aktualizacji pliku z ukrytymi hasÅ‚ami\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: b³±d podczas aktualizacji pliku z has³ami\n" +msgstr "%s: błąd podczas aktualizacji pliku z hasÅ‚ami\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "U¿ycie: %s [-s pow³oka] [nazwa]\n" - -#: src/chsh.c:89 -msgid "Enter the new value, or press return for the default\n" -msgstr "Wpisz now± warto¶æ lub wci¶nij ENTER by przyj±c warto¶æ domy¶ln±\n" +msgstr "Użycie: %s [-s powÅ‚oka] [nazwa]\n" #: src/chsh.c:90 -msgid "Login Shell" -msgstr "Pow³oka logowania" +msgid "Enter the new value, or press return for the default\n" +msgstr "Wpisz nowÄ… wartość lub wciÅ›nij ENTER by przyjąć wartość domyÅ›lnÄ…\n" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:91 +msgid "Login Shell" +msgstr "PowÅ‚oka logowania" + +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" -msgstr "Nie mo¿esz zmieniaæ pow³oki dla %s.\n" +msgstr "Nie możesz zmieniać powÅ‚oki dla %s.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" -msgstr "Zmieniam pow³okê logowania dla %s\n" +msgstr "Zmieniam powÅ‚okÄ™ logowania dla %s\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: Nieprawid³owy wpis: %s\n" +msgstr "%s: NieprawidÅ‚owy wpis: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "%s jest nieprawid³ow± pow³ok±.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "U¿ycie: %s [-(a|d)] pow³oka\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "Has³o pow³oki: " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "Wpisz ponownie has³o pow³oki: " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s: Has³a nie pasuj±, spróbuj ponownie.\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: nie mogê utworzyæ %s" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s: nie mogê otworzyæ %s" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s: Pow³oka %s nie znaleziona.\n" +msgstr "%s jest nieprawidÅ‚owÄ… powÅ‚okÄ….\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "U¿ycie: expiry {-f|-c}\n" +msgstr "Użycie: expiry {-f|-c}\n" #: src/expiry.c:113 #, c-format msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: OSTRZE¯ENIE! Program musi posiadaæ SUID root!\n" +msgstr "%s: OSTRZEÅ»ENIE! Program musi posiadać SUID root!\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s: nieznany u¿ytkownik\n" +msgstr "%s: nieznany użytkownik\n" #: src/faillog.c:77 #, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" -msgstr "u¿ycie: %s [-a|-u u¿ytkownik] [-m maks] [-r] [-t dni] [-l bloksek]\n" +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "Użycie: %s [-a|-u użytkownik] [-m maks] [-r] [-t dni] [-l bloksek]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format msgid "Unknown User: %s\n" -msgstr "Nieznany u¿ytkownik: %s\n" +msgstr "Nieznany użytkownik: %s\n" #: src/faillog.c:212 msgid "Username Failures Maximum Latest\n" -msgstr "U¿ytkownik Niepowodzenia Maksymalnie Ostatnio\n" +msgstr "Użytkownik Błędy Maksimum Ostatnio\n" #: src/faillog.c:229 #, c-format @@ -712,57 +621,57 @@ msgstr " %s na %s" #: src/faillog.c:233 #, c-format msgid " [%lds left]" -msgstr " [%lds pozosta³o]" +msgstr " [pozostaÅ‚o %lds]" #: src/faillog.c:237 #, c-format msgid " [%lds lock]" -msgstr " [%lds blokada]" +msgstr " [blokada %lds]" #: src/gpasswd.c:78 #, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "u¿ycie: %s [-r|-R] grupa\n" +msgid "Usage: %s [-r|-R] group\n" +msgstr "Użycie: %s [-r|-R] grupa\n" #: src/gpasswd.c:79 #, c-format msgid " %s [-a user] group\n" -msgstr " %s [-a u¿ytkownik] grupa\n" +msgstr " %s [-a użytkownik] grupa\n" #: src/gpasswd.c:80 #, c-format msgid " %s [-d user] group\n" -msgstr " %s [-d u¿ytkownik] grupa\n" +msgstr " %s [-d użytkownik] grupa\n" #: src/gpasswd.c:83 #, c-format msgid " %s [-A user,...] [-M user,...] group\n" -msgstr " %s [-A u¿ytkownik,...] [-M u¿ytkownik,...] grupa\n" +msgstr " %s [-A użytkownik,...] [-M użytkownik,...] grupa\n" #: src/gpasswd.c:85 #, c-format msgid " %s [-M user,...] group\n" -msgstr " %s [-M u¿ytkownik,...] grupa\n" +msgstr " %s [-M użytkownik,...] grupa\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s: nieznany u¿ytkownik %s\n" +msgstr "%s: nieznany użytkownik %s\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "Dostêp zabroniony.\n" +msgstr "DostÄ™p zabroniony.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s: plik z ukrytymi has³ami grup wymagany dla -A\n" +msgstr "%s: plik z ukrytymi hasÅ‚ami grup wymagany dla -A\n" #: src/gpasswd.c:294 msgid "Who are you?\n" -msgstr "Kim jeste¶?\n" +msgstr "Kim jesteÅ›?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" msgstr "nieznana grupa: %s\n" @@ -770,253 +679,241 @@ msgstr "nieznana grupa: %s\n" #: src/gpasswd.c:422 #, c-format msgid "Adding user %s to group %s\n" -msgstr "Dodajê nowego u¿ytkownika %s do grupy %s\n" +msgstr "DodajÄ™ nowego użytkownika %s do grupy %s\n" #: src/gpasswd.c:440 #, c-format msgid "Removing user %s from group %s\n" -msgstr "Usuwam u¿ytkownika %s z grupy %s\n" +msgstr "Usuwam użytkownika %s z grupy %s\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s: nieznany cz³onek %s\n" +msgstr "%s: nieznany czÅ‚onek %s\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" msgstr "%s: To nie tty\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" -msgstr "Zmieniam has³o dla grupy %s\n" +msgstr "Zmieniam hasÅ‚o dla grupy %s\n" #: src/gpasswd.c:525 msgid "New Password: " -msgstr "Nowe has³o: " +msgstr "Nowe hasÅ‚o: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "Wpisz has³o ponownie: " +msgstr "Wpisz hasÅ‚o ponownie: " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "Nie pasuj±; spróbuj ponownie" +msgstr "Nie zgadzajÄ… siÄ™; spróbuj ponownie" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: Spróbuj ponownie pó¼niej\n" +msgstr "%s: Spróbuj ponownie później\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s: nie mogê zablokowaæ\n" +msgstr "%s: nie można zablokować\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można zablokować pliku z ukrytymi hasÅ‚ami\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s: nie mogê otworzyæ pliku\n" +msgstr "%s: nie można otworzyć pliku\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu\n" +msgstr "%s: nie można zaktualizować wpisu\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu do pliku z ukrytymi has³ami\n" +msgstr "%s: nie można zaktualizować wpisu do pliku z ukrytymi hasÅ‚ami\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s: nie mogê przepisaæ pliku\n" +msgstr "%s: nie można przepisać pliku\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s: nie mogê przepisaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można przepisać pliku z ukrytymi hasÅ‚ami\n" #: src/gpasswd.c:630 #, c-format msgid "%s: can't unlock file\n" -msgstr "%s: nie mogê usun±c blokady z pliku\n" +msgstr "%s: nie można usunąć blokady z pliku\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s: nie mogê zaktualizwoaæ plików DBM\n" +msgstr "%s: nie można zaktualizwoać plików DBM\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s: nie mogê zaktualizowaæ pliku DBM z ukrytymi has³ami\n" +msgstr "%s: nie można zaktualizować pliku DBM z ukrytymi hasÅ‚ami\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "u¿ycie: groupadd [-g gid [-o]] grupa\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "Użycie: groupadd [-g gid [-o]] [-f] grupa\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s: b³±d podczas dodawania nowej grupy\n" +msgstr "%s: błąd podczas dodawania nowej grupy\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s: nie mogê dodaæ nowego wpisu do bazy dbm grup\n" +msgstr "%s: nie można dodać nowego wpisu do bazy dbm grup\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" msgstr "%s: nazwa %s nie jest niepowtarzalny\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" msgstr "%s: uid %u nie jest niepowtarzalny\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s: nie mogê uzyskaæ niepowtarzalnego gid\n" +msgstr "%s: nie można uzyskać niepowtarzalnego gid\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "%s: %s: nie jest prawid³ow± nazw± grupy\n" +msgstr "%s: %s: nie jest prawidÅ‚owÄ… nazwÄ… grupy\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s: nieprawid³owa grupa %s\n" +msgstr "%s: nieprawidÅ‚owa grupa %s\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" -msgstr "%s: -O wymaga ZMIENNA=WARTO¦Æ\n" +msgstr "%s: -O wymaga ZMIENNA=WARTOŚĆ\n" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s: nie mogê przepisaæ pliku z grupami\n" +msgstr "%s: nie można przepisać pliku z grupami\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s: nie mogê przepisaæ pliku z ukrytymi grupami\n" +msgstr "%s: nie można przepisać pliku z ukrytymi hasÅ‚ami grup\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" -msgstr "%s: nie mogê zablokowaæ pliku z grupami\n" +msgstr "%s: nie można zablokować pliku z grupami\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" -msgstr "%s: nie mogê otworzyæ pliku z grupami\n" +msgstr "%s: nie można otworzyć pliku z grupami\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi grupami\n" +msgstr "%s: nie można zablokować pliku z ukrytymi hasÅ‚ami grup\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s: nie mogê otworzyæ pliku z ukrytymi grupami\n" +msgstr "%s: nie można otworzyć pliku z ukrytymi hasÅ‚ami grup\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" msgstr "%s: grupa %s istnieje\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "u¿ycie: groupdel grupa\n" +#: src/groupdel.c:88 +msgid "Usage: groupdel group\n" +msgstr "Użycie: groupdel grupa\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" -msgstr "%s: b³±d podczas usuwania grupy\n" +msgstr "%s: błąd podczas usuwania grupy\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" -msgstr "%s: b³±d podczas usuwania wpisu dbm o grupie\n" +msgstr "%s: błąd podczas usuwania wpisu dbm o grupie\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s: b³±d podczas usuwania wpisu o ukrytej grupie\n" +msgstr "%s: błąd podczas usuwania wpisu z pliku z ukrytymi hasÅ‚ami grup\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" -msgstr "%s: b³±d podczas usuwania wpisu dbm z pliku ukrytych grup\n" +msgstr "%s: błąd podczas usuwania wpisu dbm z pliku ukrytymi hasÅ‚ami grup\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "%s: nie mogê usun±æ podstawowej grupy u¿ytkowników.\n" +msgstr "%s: nie można usunąć podstawowej grupy użytkowników.\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" -msgstr "%s: grupa %s nie isnieje\n" +msgstr "%s: grupa %s nie istnieje\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" -msgstr "%s: grupa %s jest grup± NIS\n" +msgstr "%s: grupa %s jest grupÄ… NIS\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s: %s jest g³ównym serwerem NIS\n" +msgstr "%s: %s jest głównym serwerem NIS\n" #: src/groupmems.c:95 msgid "Member already exists\n" -msgstr "" +msgstr "Nie znaleziono czÅ‚onka do usuniÄ™cia\n" #: src/groupmems.c:125 msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" -msgstr "u¿ycie groupmems -a u¿ytkownik | -d u¿ytkownik | -D | -l [-g grupa]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgstr "Użycie groupmems -a użytkownik | -d użytkownik | -D | -l [-g grupa]\n" #: src/groupmems.c:201 msgid "Only root can add members to different groups\n" -msgstr "" +msgstr "Tylko root może dodawać czÅ‚onków do różnych grup\n" #: src/groupmems.c:206 msgid "Group access is required\n" -msgstr "" +msgstr "Wymagany dostÄ™p do grupy\n" #: src/groupmems.c:210 msgid "Not primary owner of current group\n" @@ -1024,54 +921,55 @@ msgstr "" #: src/groupmems.c:215 msgid "Unable to lock group file\n" -msgstr "Nie mo¿na zablokowaæ pliku z grupami\n" +msgstr "Nie można zablokować pliku z grupami\n" #: src/groupmems.c:220 msgid "Unable to open group file\n" -msgstr "Nie mo¿na otworzyæ pliku z grupami\n" +msgstr "Nie można otworzyć pliku z grupami\n" #: src/groupmems.c:240 msgid "Cannot close group file\n" -msgstr "Nie mo¿na otworzyæ pliku z grupami\n" +msgstr "Nie można otworzyć pliku z grupami\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "u¿ycie: groupmod [-g gid [-o]] [-n nazwa] grupa\n" +#: src/groupmod.c:104 +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "Użycie: groupmod [-g gid [-o]] [-n nazwa] grupa\n" -#: src/groupmod.c:161 -#, fuzzy, c-format +#: src/groupmod.c:162 +#, c-format msgid "%s: %s not found in /etc/group\n" -msgstr "%s: %s nie znaleziony w /etc/passwd\n" +msgstr "%s: nie znaleziono %s w /etc/group\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s: nie mogê dodaæ nowego wpisu dbm do pliku z ukrytymi grupami\n" +msgstr "" +"%s: nie można dodać nowego wpisu dbm do pliku z ukrytymi hasÅ‚ami grup\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" msgstr "%s: %u nie jest niepowtarzalnym gid\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s: %s nie jest niepowtarzaln± nazw±\n" +msgstr "%s: %s nie jest niepowtarzalnÄ… nazwÄ…\n" #: src/groups.c:59 #, c-format msgid "unknown user %s\n" -msgstr "nieznany u¿ytkownik %s\n" +msgstr "nieznany użytkownik %s\n" #: src/grpck.c:87 #, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" -msgstr "U¿ycie: %s [-r] [-s] [grupa [gshadow]]\n" +msgstr "Użycie: %s [-r] [-s] [grupa [gshadow]]\n" #: src/grpck.c:90 #, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "U¿ycie: %s [-r] [-s] [grupa]\n" +msgstr "Użycie: %s [-r] [-s] [grupa]\n" #: src/grpck.c:108 src/pwck.c:108 msgid "No" @@ -1080,101 +978,87 @@ msgstr "Nie" #: src/grpck.c:192 src/pwck.c:175 #, c-format msgid "%s: -s and -r are incompatibile\n" -msgstr "%s: -s i -r s± niekompatybilne\n" +msgstr "%s: -s i -r sÄ… niekompatybilne\n" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, c-format msgid "%s: cannot lock file %s\n" -msgstr "%s: nie mogê zablokowaæ pliku %s\n" +msgstr "%s: nie można zablokować pliku %s\n" #: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s: nie mogê otworzyæ pliku %s\n" +msgstr "%s: nie można otworzyć pliku %s\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "nieprawid³owy wpis do pliku grup\n" +msgstr "nieprawidÅ‚owy wpis do pliku grup\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 #: src/pwck.c:543 #, c-format msgid "delete line `%s'? " -msgstr "usun±c liniê `%s'? " +msgstr "usunąć liniÄ™ `%s'? " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" -msgstr "duplikat wpisu grup\n" +msgstr "powtórzony wpis w pliku grup\n" #: src/grpck.c:391 #, c-format msgid "invalid group name `%s'\n" -msgstr "nieprawid³owa nazwa grupy `%s'\n" +msgstr "nieprawidÅ‚owa nazwa grupy `%s'\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "grupa %s: nie ma u¿ytkownika %s\n" +msgstr "grupa %s: nie ma użytkownika %s\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " -msgstr "skasowaæ cz³onka `%s'? " +msgstr "skasować czÅ‚onka `%s'? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "nieprawid³owy wpis do pliku z ukrytymi has³ami\n" +msgstr "nieprawidÅ‚owy wpis w pliku z ukrytymi hasÅ‚ami grup\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" -msgstr "duplikuj±cy siê wpis w pliku ukrytych grup\n" +msgstr "powtórzony wpis w pliku z ukrytymi hasÅ‚ami grup\n" #: src/grpck.c:537 msgid "no matching group file entry\n" -msgstr "brak pasuj±cego wpisu w pliku grup\n" +msgstr "brak pasujÄ…cego wpisu w pliku grup\n" #: src/grpck.c:558 #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "ukryta grupa %s: brak u¿ytkownika administracyjnego %s\n" +msgstr "" +"grupa %s: użytkownik administracyjny %s z pliku ukrytych haseÅ‚ grup nie " +"istnieje\n" #: src/grpck.c:560 #, c-format msgid "delete administrative member `%s'? " -msgstr "usun±æ cz³onka administracyjnego `%s'? " +msgstr "usunąć czÅ‚onka administracyjnego `%s'? " #: src/grpck.c:588 #, c-format msgid "shadow group %s: no user %s\n" -msgstr "ukryta grupa %s: nie ma u¿ytkownika %s\n" +msgstr "grupa %s: użytkownik %s z pliku ukrytych haseÅ‚ grup nie istnieje\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format msgid "%s: cannot update file %s\n" -msgstr "%s: nie mogê zaktualizowaæ pliku %s\n" +msgstr "%s: nie można zaktualizować pliku %s\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s: pliki zosta³y zaktualizowane; uruchom mkpasswd\n" +msgstr "%s: pliki zostaÅ‚y zaktualizowane; uruchom mkpasswd\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format @@ -1184,136 +1068,123 @@ msgstr "%s: bez zmian\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format msgid "%s: the files have been updated\n" -msgstr "%s: pliku zost³y zaktualizowane\n" +msgstr "%s: pliku zostÅ‚y zaktualizowane\n" #: src/grpconv.c:60 src/grpunconv.c:56 #, c-format msgid "%s: can't lock group file\n" -msgstr "%s: nie mogê zablokowaæ pliku z grupami\n" +msgstr "%s: nie można zablokować pliku z grupami\n" #: src/grpconv.c:65 src/grpunconv.c:61 #, c-format msgid "%s: can't open group file\n" -msgstr "%s: nie mogê otworzyæ pliku z grupami\n" +msgstr "%s: nie można otworzyć pliku z grupami\n" #: src/grpconv.c:70 src/grpunconv.c:66 #, c-format msgid "%s: can't lock shadow group file\n" -msgstr "%s: nie mogê zablokowaæ pliku z przes³oniêtymi grupami\n" +msgstr "%s: nie można zablokować pliku z ukrytymi hasÅ‚ami grup\n" #: src/grpconv.c:76 src/grpunconv.c:72 #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: nie mogê otworzyæ pliku z przes³oniêtymi grupami\n" +msgstr "%s: nie można otworzyć pliku z ukrytymi hasÅ‚ami grup\n" #: src/grpconv.c:94 #, c-format msgid "%s: can't remove shadow group %s\n" -msgstr "%s: nie mogê usun±æ ukrytej grupy %s\n" +msgstr "%s: nie można usunąć grupy %s z pliku ukrytych haseÅ‚ grup\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu ukrytej grupy dla %s\n" +msgstr "%s: nie można zaktualizować wpisu ukrytej grupy dla %s\n" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu dla grupy %s\n" +msgstr "%s: nie można zaktualizować wpisu dla grupy %s\n" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" -msgstr "%s: nie mogê zaktualizowaæ pliku z ukrytymi grupami\n" +msgstr "%s: nie można zaktualizować pliku z ukrytymi hasÅ‚ami grup\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" -msgstr "%s: nie mogê zaktualizowaæ pliku z grupami\n" - -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: nie skonfigurowany dla wsparcia ukrytych grup.\n" +msgstr "%s: nie można zaktualizować pliku z grupami\n" #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: nie mogê skasowaæ pliku z ukrytymi grupami\n" +msgstr "%s: nie można skasować pliku z ukrytymi hasÅ‚ami grup\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "u¿ycie: id [-a]\n" +msgid "Usage: id [-a]\n" +msgstr "Użycie: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "u¿ycie: id\n" +msgid "Usage: id\n" +msgstr "Użycie: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" msgstr " grupy=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" -msgstr "" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" +msgstr "Użycie: %s [{-u|--login} login] [{-t|--time} dni] [{-h|--help}]\n" #: src/lastlog.c:181 msgid "Username Port From Latest\n" -msgstr "U¿ytkownik Port Z Ostatnio\n" +msgstr "Użytkownik Port Z Ostatnio\n" #: src/lastlog.c:183 msgid "Username Port Latest\n" -msgstr "U¿ytkownik Port Ostatnio\n" +msgstr "Użytkownik Port Ostatnio\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" msgstr "**Nigdy nie zalogowany**" -#: src/login.c:185 +#: src/login.c:175 #, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "u¿ycie: %s [-p] [nazwa]\n" +msgid "Usage: %s [-p] [name]\n" +msgstr "Użycie: %s [-p] [nazwa]\n" -#: src/login.c:188 +#: src/login.c:178 #, c-format msgid " %s [-p] [-h host] [-f name]\n" msgstr " %s [-p] [-h host] [-f nazwa]\n" -#: src/login.c:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" msgstr " %s [-p] -r host\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" -msgstr "Nieprawid³owy czas logowania\n" +msgstr "NieprawidÅ‚owy czas logowania\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" "\n" -"System zamkniêty do rutynowej konserwacji.\n" +"System zamkniÄ™ty do rutynowej konserwacji.\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[Roz³±czenie pominiête -- zezwolenie na logowanie siê root-a.]\n" +"[Rozłączenie pominiÄ™te -- zezwolenie na logowanie siÄ™ root-a.]\n" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" @@ -1322,17 +1193,17 @@ msgstr "" "\n" "Limit czasu logowania przekroczony po %d sekundach.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" msgstr " na `%s.100s' z `%.200s'" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" msgstr " na `%.100s'" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" @@ -1341,70 +1212,70 @@ msgstr "" "\n" "%s login: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " msgstr "login: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" -msgstr "Nieprawid³owe logowanie" +msgstr "NieprawidÅ‚owe logowanie" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" -msgstr "Ostrze¿enie: logowanie ponownie odblokowanie po czasowej blokadzie.\n" +msgstr "Ostrzeżenie: logowanie ponownie odblokowanie po czasowej blokadzie.\n" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" msgstr "Ostatnie logowanie: %s na %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" msgstr "Ostatnie logowanie: %s na %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" msgstr " z %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" -msgstr "Startujê rad_login\n" +msgstr "StartujÄ™ rad_login\n" #: src/mkpasswd.c:47 #, c-format msgid "%s: no DBM database on system - no action performed\n" msgstr "" -"%s: nie ma bazy DBM na tym systemie - ¿adna akcja nie zosta³a podjêta\n" +"%s: nie ma bazy DBM na tym systemie - żadna akcja nie zostaÅ‚a podjÄ™ta\n" #: src/mkpasswd.c:232 src/mkpasswd.c:237 #, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "%s: nie mogê nadpisaæ pliku %s\n" +msgstr "%s: nie można nadpisać pliku %s\n" #: src/mkpasswd.c:252 #, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "%s: nie mogê otworzyæ plików DBM dla %s\n" +msgstr "%s: nie można otworzyć plików DBM dla %s\n" #: src/mkpasswd.c:287 #, c-format msgid "%s: the beginning with " -msgstr "%s: rozpoczyna siê od " +msgstr "%s: rozpoczyna siÄ™ od " #: src/mkpasswd.c:288 msgid " is too long\n" -msgstr " jest za d³ugie\n" +msgstr " jest za dÅ‚ugie\n" #: src/mkpasswd.c:315 #, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "%s: b³±d podczas przetwarzania lini \"%s\"\n" +msgstr "%s: błąd podczas przetwarzania lini \"%s\"\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " -msgstr "dodajê rekord do nazwy " +msgstr "dodajÄ™ rekord do nazwy " #: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 #: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 @@ -1414,376 +1285,315 @@ msgstr "\n" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 #, c-format msgid "%s: error adding record for " -msgstr "%s: b³±d podczas dodawania rekordu dla " +msgstr "%s: błąd podczas dodawania rekordu dla " #: src/mkpasswd.c:378 #, c-format msgid "added %d entries, longest was %d\n" -msgstr "dodano %d wpisów, najd³u¿szy by³ %d\n" +msgstr "dodano %d wpisów, najdÅ‚uższy byÅ‚ %d\n" #: src/mkpasswd.c:392 #, c-format msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n" -msgstr "U¿ycie: %s [-vf] [-p|g|sp|sg] plik\n" +msgstr "Użycie: %s [-vf] [-p|g|sp|sg] plik\n" #: src/mkpasswd.c:395 #, c-format msgid "Usage: %s [-vf] [-p|g|sp] file\n" -msgstr "U¿ycie: %s [-vf] [-p|g|sp] plik\n" +msgstr "Użycie: %s [-vf] [-p|g|sp] plik\n" #: src/mkpasswd.c:398 #, c-format msgid "Usage: %s [-vf] [-p|g] file\n" -msgstr "U¿ycie: %s [-vf] [-p|g] plik\n" +msgstr "Użycie: %s [-vf] [-p|g] plik\n" #: src/newgrp.c:61 -msgid "usage: newgrp [-] [group]\n" -msgstr "u¿ycie: newgrp [-] [grupa]\n" +msgid "Usage: newgrp [-] [group]\n" +msgstr "Użycie: newgrp [-] [grupa]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" -msgstr "u¿ycie: sg grupa [[-c] polecenie]\n" +msgid "Usage: sg group [[-c] command]\n" +msgstr "Użycie: sg grupa [[-c] polecenie]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" msgstr "nieznany uid: %u\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" msgstr "nieznany gid: %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" msgstr "Wybacz.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" msgstr "zbyt wiele grup\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "U¿ycie: %s [wej¶cie]\n" +msgstr "Użycie: %s [wejÅ›cie]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s: nie mogê zablokowaæ /etc/passwd.\n" +msgstr "%s: nie można zablokować /etc/passwd.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s: nie mogê zablokowaæ plików, spróbuj pó¼niej\n" +msgstr "%s: nie można zablokować plików, spróbuj później\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s: nie mogê otworzyæ plików\n" +msgstr "%s: nie można otworzyć plików\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: linia %d: nieprawidÅ‚owa linia\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s: linia %d: nieprawid³owa linia\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s: linia %d: nie mogê utworzyæ GID\n" +msgstr "%s: linia %d: nie można utworzyć GID\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s: linia %d: nie mogê utworzyæ UID\n" +msgstr "%s: linia %d: nie można utworzyć UID\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s: linia %d: nie mogê znale¶æ u¿ytkownika %s\n" +msgstr "%s: linia %d: nie można znaleść użytkownika %s\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s: linia %d: nie mogê zaktualizowaæ pliku z has³ami\n" +msgstr "%s: linia %d: nie można zaktualizować pliku z hasÅ‚ami\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s: linia %d: mkdir nie powiod³o siê\n" +msgstr "%s: linia %d: mkdir nie powiodÅ‚o siÄ™\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s: linia %d: chown nie powiod³o siê\n" +msgstr "%s: linia %d: chown nie powiodÅ‚o siÄ™\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s: linia %d: nie mogê zaktualizowaæ wpisu\n" +msgstr "%s: linia %d: nie można zaktualizować wpisu\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s: b³±d podczas aktualizowania plików\n" +msgstr "%s: błąd podczas aktualizowania plików\n" -#: src/passwd.c:174 +#: src/passwd.c:155 #, c-format -msgid "usage: %s [-f|-s] [name]\n" -msgstr "u¿ycie: %s [-f|-s] [nazwa]\n" +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "Użycie: %s [-f|-s] [nazwa]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, c-format msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" msgstr " %s [-x maks] [-n min] [-w ostrz] [-i nieakty] nazwa\n" -#: src/passwd.c:180 +#: src/passwd.c:161 #, c-format msgid " %s {-l|-u|-d|-S|-e} name\n" msgstr " %s {-l|-u|-d|-S|-e} nazwa\n" -#: src/passwd.c:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "U¿ytkownik %s posiada klucz TCFS, jego stare has³o jest wymagane.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "Nie mo¿esz u¿ywaæ opcji -t by wymusiæ zmianê.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "Stare has³o: " +msgstr "Stare hasÅ‚o: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" -msgstr "Nieprawid³owe has³o `%s'\n" +msgstr "NieprawidÅ‚owe hasÅ‚o `%s'\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "Ostrze¿enie: u¿ytkownik %s posiada klucz TCFS.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -"Wpisz nowe has³o (minimum %d, maksimum %d znaków)\n" -"Proszê u¿yj kombinacji wielkich i ma³ych znaków oraz cyfr.\n" +"Wpisz nowe hasÅ‚o (minimum %d, maksimum %d znaków)\n" +"ProszÄ™ użyj kombinacji wielkich i maÅ‚ych znaków oraz cyfr.\n" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "Nowe has³o: " +msgstr "Nowe hasÅ‚o: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" -msgstr "Spróbuj ponownie.\n" +msgstr "Spróbuj ponownie.\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" "\n" -"Ostrze¿enie: s³abe has³o (jednak wpisz je ponowie je¶li chcesz go u¿yæ).\n" +"Ostrzeżenie: sÅ‚abe hasÅ‚o (jednak wpisz je ponowie jeÅ›li chcesz go użyć).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" -msgstr "Nie pasuj±; spróbuj ponownie.\n" +msgstr "Nie pasujÄ…; spróbuj ponownie.\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "Has³o dla %s nie mo¿e byæ zmienione.\n" +msgstr "HasÅ‚o dla %s nie może być zmienione.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "Wybacz, has³o dla %s nie mo¿e byæ jeszcze zmienione.\n" +msgstr "Wybacz, hasÅ‚o dla %s nie może być jeszcze zmienione.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s: brak pamiêci\n" +msgstr "%s: brak pamiÄ™ci\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "Nie mogê zablokowaæ bazy kluczy TCFS; spróbuj ponownie\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "Nie mogê otworzyæ bazy kluczy TCFS.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "B³±d podczas aktualizacji bazy kluczy TCFS.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "Nie mogê potwierdziæ zmian TCFS.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" -msgstr "%s: Nie mogê wykonaæ %s" +msgstr "%s: Nie można wykonać %s" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" -msgstr "%s: ropozytorium %s nie jest obs³ugiwane\n" +msgstr "%s: ropozytorium %s nie jest obsÅ‚ugiwane\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s: Dostêp zabroniony\n" +msgstr "%s: DostÄ™p zabroniony\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "Nie mo¿esz zmieniaæ has³a dla %s.\n" +msgstr "Nie możesz zmieniać hasÅ‚a dla %s.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" -msgstr "Zmieniam has³o dla %s\n" +msgstr "Zmieniam hasÅ‚o dla %s\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "Has³o dla %s pozostaje niezmienione.\n" +msgstr "HasÅ‚o dla %s pozostaje niezmienione.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 msgid "Password changed.\n" -msgstr "Has³o zmienione.\n" +msgstr "HasÅ‚o zmienione.\n" #: src/pwck.c:87 #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" -msgstr "U¿ycie: %s [-q] [-r] [-s] [has³o [shadow]]\n" +msgstr "Użycie: %s [-q] [-r] [-s] [passwd [shadow]]\n" #: src/pwck.c:90 #, c-format msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" -msgstr "U¿ycie: %s [-q] [-r] [-s] [has³o]\n" +msgstr "Użycie: %s [-q] [-r] [-s] [passwd]\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "nieprawid³owy wpis do pliku z has³ami\n" +msgstr "nieprawidÅ‚owy wpis do pliku z hasÅ‚ami\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "duplikuj±cy siê wpis w pliku z has³ami\n" +msgstr "powtórzony wpis w pliku z hasÅ‚ami\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "nieprawid³owa nazwa u¿ytkownika '%s'\n" +msgstr "nieprawidÅ‚owa nazwa użytkownika '%s'\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" -msgstr "u¿ytkownik %s: brak grupy %u\n" +msgstr "użytkownik %s: brak grupy %u\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "u¿ytkownik %s: katalog %s nie istnieje\n" +msgstr "użytkownik %s: katalog %s nie istnieje\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "u¿ytkownik %s: program %s nie istnieje\n" +msgstr "użytkownik %s: program %s nie istnieje\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "nieprawid³owy wpis w pliku z has³ami\n" +msgstr "nieprawidÅ‚owy wpis w pliku z hasÅ‚ami\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "duplikuj±cy siê wpis w pliku z ukrytymi has³ami\n" +msgstr "powtórzony wpis w pliku z ukrytymi hasÅ‚ami\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" -msgstr "brak pasuj±cego wpisu w pliku z has³ami\n" +msgstr "brak pasujÄ…cego wpisu w pliku z hasÅ‚ami\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" -msgstr "u¿ytkownik %s: ostatnia zmiana has³a w przysz³o¶ci\n" +msgstr "użytkownik %s: ostatnia zmiana hasÅ‚a w przyszÅ‚oÅ›ci\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: src/pwconv.c:85 src/pwunconv.c:79 #, c-format msgid "%s: can't lock passwd file\n" -msgstr "%s: nie mogê zablokowaæ pliku z has³ami\n" +msgstr "%s: nie można zablokować pliku z hasÅ‚ami\n" -#: src/pwconv.c:89 src/pwunconv.c:98 +#: src/pwconv.c:90 src/pwunconv.c:84 #, c-format msgid "%s: can't open passwd file\n" -msgstr "%s: nie mogê otworzyæ pliku z has³ami\n" +msgstr "%s: nie można otworzyć pliku z hasÅ‚ami\n" -#: src/pwconv.c:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s: nie mogê usun±æ wpisu z pliku z ukrytymi has³ami dla %s\n" +msgstr "%s: nie można usunąć wpisu z pliku z ukrytymi hasÅ‚ami dla %s\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu do pliku z has³ami dla %s\n" +msgstr "%s: nie można zaktualizować wpisu do pliku z hasÅ‚ami dla %s\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s: nie mogê zaktualizowaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można zaktualizować pliku z ukrytymi hasÅ‚ami\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s: nie mogê zaktualizowaæ pliku z has³ami\n" +msgstr "%s: nie można zaktualizować pliku z hasÅ‚ami\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s: Przes³oniête has³a nie s± skonfigurowane.\n" - -#: src/pwunconv.c:160 +#: src/pwunconv.c:124 #, c-format msgid "%s: can't update entry for user %s\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu dla u¿ytkownika %s\n" +msgstr "%s: nie można zaktualizować wpisu dla użytkownika %s\n" -#: src/pwunconv.c:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s: nie mogê skasowaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można skasować pliku z ukrytymi hasÅ‚ami\n" #: src/su.c:133 msgid "Sorry." @@ -1792,12 +1602,12 @@ msgstr "Wybacz." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s: musisz uruchamiaæ z terminala\n" +msgstr "%s: musisz uruchamiać z terminala\n" #: src/su.c:306 #, c-format msgid "%s: pam_start: error %d\n" -msgstr "%s: pam_start: b³±d %d\n" +msgstr "%s: pam_start: błąd %d\n" #: src/su.c:336 #, c-format @@ -1807,12 +1617,11 @@ msgstr "Nieznany id: %s\n" #: src/su.c:373 src/su.c:390 #, c-format msgid "You are not authorized to su %s\n" -msgstr "Nie masz autoryzacji by u¿ywaæ su %s\n" +msgstr "Nie masz autoryzacji by używać su %s\n" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" -msgstr "(Wpisz swoje w³asne has³o.)" +msgstr "(Wpisz swoje wÅ‚asne hasÅ‚o.)" #: src/su.c:419 #, c-format @@ -1823,554 +1632,487 @@ msgstr "" "%s: %s\n" "(Zignorowano)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" -msgstr "Brak pow³oki\n" +msgstr "Brak powÅ‚oki\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" -msgstr "Dostêp do polecenia su z tego konta ZABRONIONY.\n" +msgstr "DostÄ™p do polecenia su z tego konta ZABRONIONY.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "Uwierzytelnianie na podstawie has³a pominiête.\n" +msgstr "Uwierzytelnianie na podstawie hasÅ‚a pominiÄ™te.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" -msgstr "Proszê wpisz swoje W£ASNE has³o jako has³o uwierzytelniaj±ce.\n" +msgstr "ProszÄ™ wpisz swoje WÅASNE hasÅ‚o jako hasÅ‚o uwierzytelniajÄ…ce.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" -msgstr "Brak pliku z has³ami\n" +msgstr "Brak pliku z hasÅ‚ami\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "Brak wpisu do bazy hase³ dla 'root'\n" +msgstr "Brak wpisu do bazy haseÅ‚ dla 'root'\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" "\n" -"Wpisz control-d by kontynuowaæ normalny start,\n" -"(lub podaj has³o root-a by przej¶æ do trybu utrzymania systemu):" +"Wpisz control-d by kontynuować normalny start,\n" +"(lub podaj hasÅ‚o root-a by przejść do trybu utrzymania systemu):" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" -msgstr "Wchodzê w tryb utrzymania systemu\n" +msgstr "WchodzÄ™ w tryb utrzymania systemu\n" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" -msgstr "%s: przebuduj bazê grup\n" +msgstr "%s: przebuduj bazÄ™ grup\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "%s: przebuduj bazê przes³oniêtych hase³\n" +msgstr "%s: przebuduj bazÄ™ ukrytych haseÅ‚ grup\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "%s: nieprawid³owy argument numeryczny `%s'\n" +msgstr "%s: nieprawidÅ‚owy argument numeryczny `%s'\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" msgstr "%s: nieznany gid %s\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" msgstr "%s: nieznana grupa %s\n" -#: src/useradd.c:440 -#, fuzzy, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "grupa=%s,%ld kat_baz=%s skel=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "pow³oka=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "nieaktywne=%ld wyga¶niêcie=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" msgstr "GRUPA=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" msgstr "KAT_DOM=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" msgstr "NIEAKTYWNE=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" -msgstr "WYGA¦NIÊCIE=%s\n" +msgstr "WYGAÅšNIĘCIE=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" -msgstr "POW£OKA=%s\n" +msgstr "POWÅOKA=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "SKEL=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" -msgstr "%s: nie mo¿na utworzyæ nowego pliku ze standardowymi ustawieniami\n" +msgstr "%s: nie można utworzyć nowego pliku z ustawieniami domyÅ›lnymi\n" -#: src/useradd.c:503 +#: src/useradd.c:467 #, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: nie mo¿na utworzyæ nowego pliku ze standardowymi ustawieniami\n" +msgstr "%s: nie można otworzyć nowego pliku z ustawieniami domyÅ›lnymi\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" msgstr "%s: zmiana nazwy: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" -msgstr "%s: grupa `%s' jest grup± NIS.\n" +msgstr "%s: grupa `%s' jest grupÄ… NIS.\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: podano zbyt wiele grup (maks %d).\n" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "u¿ycie: %s\t[-u uid [-o]] [-g grupa] [-G grupa,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Użycie: useradd [-u uid [-o]] [-g grupa] [-G grupa,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t[-d kat_dom] [-s pow³oka] [-c komentarz] [-m [-k wzór]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "" +" [-d kat_dom] [-s powÅ‚oka] [-c komentarz] [-m [-k wzór]]\n" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " -msgstr "[-f nieaktywne] [-e utrata_wa¿no¶ci ]" +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f nieaktywne] [-e utrata_ważnoÅ›ci]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A program] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g grupa] [-b baza] [-s powÅ‚oka]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p has³o] nazwa\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s\t-D [-g grupa] [-b baza] [-s pow³oka]\n" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t[-f nieaktywne] [-e utrata_wa¿no¶ci ]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" -msgstr "%s: b³±d podczas blokowania pliku z grupami\n" +msgstr "%s: błąd podczas blokowania pliku z grupami\n" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" -msgstr "%s: b³±d podczas otwierania pliku z grupami\n" +msgstr "%s: błąd podczas otwierania pliku z grupami\n" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s: b³±d podczas blokowania pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas blokowania pliku z ukrytymi hasÅ‚ami grup\n" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s: b³±d podczas otwierania pliku z ukrytymi grupami\n" +msgstr "%s: błąd podczas otwierania pliku z ukrytymi hasÅ‚ami grup\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" msgstr "%s: uid %u nie jest niepowtarzalny\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" -msgstr "%s: nie mogê uzyskaæ niepowtarzalnego uid\n" +msgstr "%s: nie można uzyskać niepowtarzalnego uid\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s: nieprawid³owe pole `%s'\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s: nieprawid³owy katalog bazowy `%s'\n" +msgstr "%s: nieprawidÅ‚owy katalog bazowy `%s'\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s: nieprawid³owy komentarz `%s'\n" +msgstr "%s: nieprawidÅ‚owy komentarz `%s'\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s: nieprawid³owy katalog domowy `%s'\n" +msgstr "%s: nieprawidÅ‚owy katalog domowy `%s'\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s: nieprawid³owa data `%s'\n" +msgstr "%s: nieprawidÅ‚owa data `%s'\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "%s: ukryte has³a wymagane dla -e\n" +msgstr "%s: ukryte hasÅ‚a wymagane dla -e\n" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "%s: ukryte has³a wymagane dla -f\n" +msgstr "%s: ukryte hasÅ‚a wymagane dla -f\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: nieprawidÅ‚owe pole `%s'\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s: nieprawid³owa pow³oka `%s'\n" +msgstr "%s: nieprawidÅ‚owa powÅ‚oka `%s'\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" -msgstr "%s: nieprawid³owa nazwa u¿ytkownika '%s'\n" +msgstr "%s: nieprawidÅ‚owa nazwa użytkownika '%s'\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" -msgstr "%s: nie mogê przepisaæ pliku z has³ami\n" +msgstr "%s: nie można przepisać pliku z hasÅ‚ami\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "%s: nie mogê przepisaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można przepisać pliku z ukrytymi hasÅ‚ami\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" -msgstr "%s: nie mogê zablokowaæ pliku z has³ami\n" +msgstr "%s: nie można zablokować pliku z hasÅ‚ami\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" -msgstr "%s: nie mogê otworzyæ pliku z has³ami\n" +msgstr "%s: nie można otworzyć pliku z hasÅ‚ami\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "%s: nie mogê zablokowaæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można zablokować pliku z ukrytymi hasÅ‚ami\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s: nie mogê otworzyæ pliku z ukrytymi has³ami\n" +msgstr "%s: nie można otworzyć pliku z ukrytymi hasÅ‚ami\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s: b³±d podczas dodawania metody uwierzytelniania\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" -msgstr "%s: b³±d podczas dodawania nowego wpisu do pliku z has³ami\n" +msgstr "%s: błąd podczas dodawania nowego wpisu do pliku z hasÅ‚ami\n" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" -msgstr "%s: b³±d podczas aktualizacji wpisu dbm do pliku z has³ami\n" +msgstr "%s: błąd podczas aktualizacji wpisu dbm do pliku z hasÅ‚ami\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s: b³±d podczas dodawania nowego wpisu do pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas dodawania nowego wpisu do pliku z ukrytymi hasÅ‚ami\n" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" -msgstr "%s: b³±d podczas aktualizacji wpisu dbm do pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas aktualizacji wpisu dbm do pliku z ukrytymi hasÅ‚ami\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" -msgstr "%s: nie mogê utworzyæ katalogu %s\n" +msgstr "%s: nie można utworzyć katalogu %s\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" -msgstr "%s: u¿ytkownik %s istnieje\n" +msgstr "%s: użytkownik %s istnieje\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" +"%s: grupa %s istnieje - aby dodać tego użytkownika do tej grupy, użyj -g.\n" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" -msgstr "" +msgstr "%s: uwaga: CREATE_HOME nie jest wspierane, użyj opcji -m.\n" -#: src/userdel.c:129 +#: src/userdel.c:124 #, c-format -msgid "usage: %s [-r] name\n" -msgstr "u¿ycie: %s [-r] nazwa\n" +msgid "Usage: %s [-r] name\n" +msgstr "Użycie: %s [-r] nazwa\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s: b³±d podczas aktualizacji wpisu grupy\n" +msgstr "%s: błąd podczas aktualizacji wpisu grupy\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu dbm do pliku z grupami\n" +msgstr "%s: nie można zaktualizować wpisu dbm do pliku z grupami\n" -#: src/userdel.c:219 -#, fuzzy, c-format +#: src/userdel.c:214 +#, c-format msgid "%s: cannot remove dbm group entry\n" -msgstr "%s: nie mogê zaktualizowaæ wpisu dbm do pliku z grupami\n" +msgstr "%s: nie można usunąć wpisu dbm z pliku z grupami\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: nie mogê przepisaæ pliku klucza TCFS\n" +msgid "%s: cannot open group file\n" +msgstr "%s: nie można otworzyć pliku z grupami\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: nie mogê zablokowaæ pliku klucza TCFS\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: nie mogê otworzyæ pliku klucza TCFS\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: nie można otworzyć pliku z ukrytymi hasÅ‚ami grup\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: nie mogê otworzyæ pliku z grupami\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: nie mogê otworzyæ pliku z przes³oniêtymi grupami\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s: b³±d podczas usuwania informacji uwierzytelniaj±cej\n" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: b³±d podczas usuwania wpisu do pliku z has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu z pliku z hasÅ‚ami\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s: b³±d podczas usuwania wpisu do pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu z pliku z ukrytymi hasÅ‚ami\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: b³±d podczas usuwania wpisu TCFS\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: b³±d podczas usuwania wpisu dbm do pliku z has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu dbm z pliku z hasÅ‚ami\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "%s: b³±d podczas usuwania wpisy dbm z pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu dbm z pliku z ukrytymi hasÅ‚ami\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s: u¿ytkownik %s jest aktualnie zalogowany\n" +msgstr "%s: użytkownik %s jest aktualnie zalogowany\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s: ostrze¿enie: w³a¶cicielem %s nie jest %s, nie usuwam\n" +msgstr "%s: ostrzeżenie: wÅ‚aÅ›cicielem %s nie jest %s, nie usuwam\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " -msgstr "%s: ostrze¿enie: nie mogê usun±æ " +msgstr "%s: ostrzeżenie: nie można usunąć " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" -msgstr "%s: u¿ytkownik %s nie istnieje\n" +msgstr "%s: użytkownik %s nie istnieje\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" -msgstr "%s: u¿ytkownik %s jest u¿ytkownikiem NIS\n" +msgstr "%s: użytkownik %s jest użytkownikiem NIS\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, c-format msgid "%s: %s not owned by %s, not removing\n" -msgstr "%s: w³a¶cicielem %s nie jest %s, nie usuwam\n" +msgstr "%s: wÅ‚aÅ›cicielem %s nie jest %s, nie usuwam\n" -#: src/userdel.c:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" -msgstr "%s: nie usuwam katalogu %s (would remove home of user %s)\n" +msgstr "" +"%s: nie usuwam katalogu %s (usuwanie katalogu domowego użytkownika %s)\n" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s: b³±d podczas usuwania katalogu %s\n" +msgstr "%s: błąd podczas usuwania katalogu %s\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Użycie: %s\t[-u uid [-o]] [-g grupa] [-G grupa,...] \n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" -msgstr "\t\t[-d kat_dom [-m]] [-s pow³oka] [-c komentarz] [-l nowa_nazwa]\n" +msgstr "\t\t[-d kat_dom [-m]] [-s powÅ‚oka] [-c komentarz] [-l nowa_nazwa]\n" -#: src/usermod.c:332 -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DEFAULT|program},... ] " +#: src/usermod.c:313 +msgid "[-f inactive] [-e expire] " +msgstr "[-f nieaktywne] [-e utrata_ważnoÅ›ci] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" -msgstr "[-p has³o] [-L|-U] nazwa\n" +msgstr "[-p hasÅ‚o] [-L|-U] nazwa\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" -msgstr "%s: zabrak³o pamiêci w pdate_group\n" +msgstr "%s: zabrakÅ‚o pamiÄ™ci w update_group\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" -msgstr "%s: zabrak³o pamiêci w update_gshadow\n" +msgstr "%s: zabrakÅ‚o pamiÄ™ci w update_gshadow\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" msgstr "%s: nie podano flag\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s: ukryte has³a wymagane dla -e i -f\n" +msgstr "%s: ukryte hasÅ‚a wymagane dla -e i -f\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" msgstr "%s: uid %lu nie jest niepowtarzalny\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: b³±d podczas usuwania metody uwierzytelniania\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: b³±d podczas zmiany metody uwierzytelniania\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: b³±d podczas zmiany wpisu w pliku z has³ami\n" +msgstr "%s: błąd podczas zmiany wpisu w pliku z hasÅ‚ami\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: b³±d podczas usuwania wpisu z pliku z has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu z pliku z hasÅ‚ami\n" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" -msgstr "%s: b³±d podczas dodawania wpisu dbm do pliku z has³ami\n" +msgstr "%s: błąd podczas dodawania wpisu dbm do pliku z hasÅ‚ami\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "%s: b³±d podczas usuwania wpisu dbm z pliku z has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu dbm z pliku z hasÅ‚ami\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: b³±d podczas usuwania wpisu z pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu z pliku z ukrytymi hasÅ‚ami\n" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" -msgstr "%s: b³±d podczas usuwania wpisu dbm z pliku z ukrytymi has³ami\n" +msgstr "%s: błąd podczas usuwania wpisu dbm z pliku z ukrytymi hasÅ‚ami\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s: katalog %s isnieje\n" +msgstr "%s: katalog %s istnieje\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" -msgstr "%s: nie mogê utworzyæ %s\n" +msgstr "%s: nie można utworzyć %s\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s: nie mogê zmieniæ w³a¶ciciela %s\n" +msgstr "%s: nie można zmienić wÅ‚aÅ›ciciela %s\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" -msgstr "%s: nie mogê zmieniæ nazwy katalogu z %s na %s\n" +msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" -msgstr "%s: ostrze¿enie: w³a¶cicielem %s nie jest %s\n" +msgstr "%s: ostrzeżenie: wÅ‚aÅ›cicielem %s nie jest %s\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "nie powiod³a siê zmiana w³a¶ciciela skrzynki pocztowej" +msgstr "zmiana wÅ‚aÅ›ciciela skrzynki pocztowej nie powiodÅ‚a siÄ™" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" -msgstr "zmiana nazwy skrzynki pocztowej nie powiod³a siê" +msgstr "zmiana nazwy skrzynki pocztowej nie powiodÅ‚a siÄ™" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" @@ -2379,53 +2121,143 @@ msgstr "" "\n" "%s: %s jest niezmieniony\n" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" -msgstr "Nie mo¿na usun±c blokady z pliku" +msgstr "Nie można zablokować pliku" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" -msgstr "Nie mo¿na wykonaæ kopii zapasowej" +msgstr "Nie można wykonać kopii zapasowej" -#: src/vipw.c:206 +#: src/vipw.c:200 #, c-format msgid "%s: can't restore %s: %s (your changes are in %s)\n" -msgstr "%s: nie mogê odzyskaæ %s: %s (twoje zmiany s± w %s)\n" +msgstr "%s: nie można odzyskać %s: %s (twoje zmiany sÄ… w %s)\n" -#: src/vipw.c:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" "`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n" msgstr "" -"U¿ycie:\n" +"Użycie:\n" "`vipw' edytuje /etc/passwd `vipw -s' edytuje /etc/shadow\n" "`vigr' edytuje /etc/group `vigr -s' edytuje /etc/gshadow\n" -#~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s: gid %ld nie jest niepowtarzalny\n" +#~ msgid "CREATE_MAIL_SPOOL=%s\n" +#~ msgstr "CREATE_MAIL_SPOOL=%s\n" -#, fuzzy -#~ msgid "unknown gid: %u\n" -#~ msgstr "nieznany gid: %d\n" +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "Nie można za zaÅ‚ożyć spolla pocztowego dla uzytkownika %s.\n" -#~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s: uid %d nie jest niepowtarzalny\n" +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "Użytkownik %s posiada klucz TCFS, jego stare hasÅ‚o jest wymagane.\n" -#~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "u¿ytkownik %s: z³y UID (%d)\n" +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "Nie możesz używać opcji -t by wymusić zmianÄ™.\n" -#~ msgid "%s: no aging information present\n" -#~ msgstr "%s: brak informacji\n" +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "Ostrzeżenie: użytkownik %s posiada klucz TCFS.\n" -#~ msgid "group %s: bad GID (%d)\n" -#~ msgstr "grupa %s: z³y GID (%d)\n" +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "Nie można zablokować bazy kluczy TCFS; spróbuj ponownie\n" -#~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s: dostêp zabroniony (pow³oka).\n" +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Nie można otworzyć bazy kluczy TCFS.\n" -#~ msgid "Incorrect password for %s.\n" -#~ msgstr "Nieprawid³owe has³o dla %s.\n" +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Błąd podczas aktualizacji bazy kluczy TCFS.\n" -#~ msgid "group not found\n" -#~ msgstr "grupa nie znaleziona\n" +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Nie można potwierdzić zmian TCFS.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: nie można przepisać pliku klucza TCFS\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: nie można zablokować pliku klucza TCFS\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: nie można otworzyć pliku klucza TCFS\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: błąd podczas usuwania wpisu TCFS\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f nieaktywne] [-e utrata_ważnoÅ›ci]" + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: błąd podczas usuwania informacji uwierzytelniajÄ…cej\n" + +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|program},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: błąd podczas usuwania metody uwierzytelniania\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: błąd podczas dodawania metody uwierzytelniania\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: błąd podczas zmiany metody uwierzytelniania\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A program] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p hasÅ‚o] nazwa\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "błąd - wyszukiwanie '%s' niepowiodÅ‚o siÄ™\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s nie znaleziony\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: nie skonfigurowano wsparcia dla ukrytych haseÅ‚ grup.\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: PrzesÅ‚oniÄ™te hasÅ‚a nie sÄ… skonfigurowane.\n" + +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "Użycie: %s [-l] użytkownik\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "Uruchamiam powÅ‚okÄ™ %s\n" + +#~ msgid "Dialup Password: " +#~ msgstr "HasÅ‚o dostÄ™pu modemowego: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "" +#~ "Użycie: %s [-l] [-m min_dni] [-M maks_dni] [-d ostatni_dzieÅ„] użytkownik\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "Użycie: %s [-(a|d)] powÅ‚oka\n" + +#~ msgid "Shell password: " +#~ msgstr "HasÅ‚o powÅ‚oki: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "Wpisz ponownie hasÅ‚o powÅ‚oki: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: HasÅ‚a siÄ™ nie zgadzajÄ…, spróbuj ponownie.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: nie można utworzyć %s" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: nie można otworzyć %s" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: PowÅ‚oka %s nie znaleziona.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "grupa=%s,%u kat_baz=%s skel=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "powÅ‚oka=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "nieaktywne=%ld wygaÅ›niÄ™cie=%s" diff --git a/po/quot.sed b/po/quot.sed new file mode 100644 index 00000000..0122c463 --- /dev/null +++ b/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1â€/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“â€/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 00000000..2436c49e --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ru.gmo b/po/ru.gmo new file mode 100644 index 0000000000000000000000000000000000000000..d0ceef6433361bed5a5374d791f4c8ce440ede96 GIT binary patch literal 40906 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\n" +"Language-Team: RU \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: libmisc/addgrps.c:56 +#, c-format +msgid "Warning: unknown group %s\n" +msgstr "Предупреждение: неизвеÑÑ‚Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° %s\n" + +#: libmisc/addgrps.c:68 +msgid "Warning: too many groups\n" +msgstr "Предупреждение: Ñлишком много групп\n" + +#: libmisc/age.c:72 +msgid "Your password has expired." +msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¸Ñтек." + +#: libmisc/age.c:75 +msgid "Your password is inactive." +msgstr "Ваш пароль неактивен." + +#: libmisc/age.c:78 +msgid "Your login has expired." +msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ логина иÑтек." + +#: libmisc/age.c:90 +msgid " Contact the system administrator.\n" +msgstr " СвÑжитеÑÑŒ Ñ ÑиÑтемным админиÑтратором.\n" + +#: libmisc/age.c:93 +msgid " Choose a new password.\n" +msgstr " Выберите новый пароль.\n" + +#: libmisc/age.c:168 +#, c-format +msgid "Your password will expire in %ld days.\n" +msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¸Ñтечет через %ld дней.\n" + +#: libmisc/age.c:172 +msgid "Your password will expire tomorrow.\n" +msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°ÐµÑ‚ÑÑ Ð·Ð°Ð²Ñ‚Ñ€Ð°.\n" + +#: libmisc/age.c:174 +msgid "Your password will expire today.\n" +msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°ÐµÑ‚ÑÑ ÑегоднÑ.\n" + +#: libmisc/chowntty.c:106 +#, c-format +msgid "Unable to change tty %s" +msgstr "Ðе могу поменÑть tty %s" + +#: libmisc/env.c:155 +msgid "Environment overflow\n" +msgstr "Переполнение окружениÑ\n" + +#: libmisc/env.c:195 +#, c-format +msgid "You may not change $%s\n" +msgstr "Ð’Ñ‹ не можете изменить $%s\n" + +#: libmisc/failure.c:230 +#, c-format +msgid "%d %s since last login. Last was %s on %s.\n" +msgstr "%d %s Ñ Ð¿Ð¾Ñледнего логина, который был %s на %s.\n" + +#: libmisc/failure.c:232 +msgid "failures" +msgstr "неудачи" + +#: libmisc/failure.c:232 +msgid "failure" +msgstr "неудача" + +#: libmisc/limits.c:396 +msgid "Too many logins.\n" +msgstr "Слишком много логинов.\n" + +#: libmisc/login_desrpc.c:59 +#, c-format +msgid "Password does not decrypt secret key for %s.\n" +msgstr "Password не дешифрует Ñекретный ключ Ð´Ð»Ñ %s.\n" + +#: libmisc/login_desrpc.c:66 +#, c-format +msgid "Could not set %s's secret key: is the keyserv daemon running?\n" +msgstr "Ðе могу уÑтановить Ñекретный ключ Ð´Ð»Ñ %s: запущен ли демон keyserv?\n" + +#: libmisc/mail.c:61 libmisc/mail.c:76 +msgid "You have new mail." +msgstr "Ð”Ð»Ñ Ð²Ð°Ñ ÐµÑть Ð½Ð¾Ð²Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð°." + +#: libmisc/mail.c:72 +msgid "No mail." +msgstr "Почты нет." + +#: libmisc/mail.c:74 +msgid "You have mail." +msgstr "Ð”Ð»Ñ Ð²Ð°Ñ ÐµÑть почта." + +#: libmisc/obscure.c:271 src/passwd.c:183 +#, c-format +msgid "Bad password: %s. " +msgstr "Ðеверный пароль: %s. " + +#: libmisc/pam_pass.c:38 +#, c-format +msgid "passwd: pam_start() failed, error %d\n" +msgstr "passwd: неудача pam_start(), ошибка %d\n" + +#: libmisc/pam_pass.c:44 +#, c-format +msgid "passwd: %s\n" +msgstr "passwd: %s\n" + +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 +#, c-format +msgid "Unable to cd to \"%s\"\n" +msgstr "Ðе могу перейти в \"%s\"\n" + +#: libmisc/setupenv.c:216 +msgid "No directory, logging in with HOME=/" +msgstr "Ðет каталога, логинимÑÑ Ñ HOME=/" + +#: libmisc/shell.c:119 +#, c-format +msgid "Cannot execute %s" +msgstr "Ðе могу иÑполнить %s" + +#: libmisc/sub.c:55 +#, c-format +msgid "Invalid root directory \"%s\"\n" +msgstr "Ðеверный корневой каталог \"%s\"\n" + +#: libmisc/sub.c:67 +#, c-format +msgid "Can't change root directory to \"%s\"\n" +msgstr "Ðе могу изменить корневой каталог на \"%s\"\n" + +#: libmisc/xmalloc.c:24 +#, c-format +msgid "malloc(%d) failed\n" +msgstr "неудача malloc(%d)\n" + +#: lib/getdef.c:274 +msgid "Could not allocate space for config info.\n" +msgstr "Ðет меÑта Ð´Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о конфигурации.\n" + +#: lib/getdef.c:328 +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"ошибка конфигурации - неизвеÑÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ '%s' (Ñообщите админиÑтратору)\n" + +#: lib/pwauth.c:54 src/newgrp.c:343 +msgid "Password: " +msgstr "Пароль: " + +#: lib/pwauth.c:56 +#, c-format +msgid "%s's Password: " +msgstr "Пароль %s: " + +#: lib/pwauth.c:247 +msgid "(Echo on) " +msgstr "(Эхо вкл.) " + +#: lib/strerror.c:20 +#, c-format +msgid "Unknown error %d" +msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %d" + +#: src/chage.c:118 +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" + +#: src/chage.c:152 +#, fuzzy +msgid "" +"Enter the new value, or press ENTER for the default\n" +"\n" +msgstr "" +"Введите новое значение или return Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию\n" +"\n" + +#: src/chage.c:155 +msgid "Minimum Password Age" +msgstr "Минимальный \"возраÑÑ‚\" паролÑ" + +#: src/chage.c:161 +msgid "Maximum Password Age" +msgstr "МакÑимальный \"возраÑÑ‚\" паролÑ" + +#: src/chage.c:169 +msgid "Last Password Change (YYYY-MM-DD)" +msgstr "ПоÑледнее изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ (ГГГГ-ММ-ДД)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾Ð± окончании Ñрока дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ" + +#: src/chage.c:183 +msgid "Password Inactive" +msgstr "Пароль неактивен" + +#: src/chage.c:191 +msgid "Account Expiration Date (YYYY-MM-DD)" +msgstr "Дата Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ñрока дейÑÑ‚Ð²Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð° (ГГГГ-ММ-ДД)" + +#: src/chage.c:241 +#, c-format +msgid "Minimum:\t%ld\n" +msgstr "Минимум:\t%ld\n" + +#: src/chage.c:242 +#, c-format +msgid "Maximum:\t%ld\n" +msgstr "МакÑимум:\t%ld\n" + +#: src/chage.c:243 +#, c-format +msgid "Warning:\t%ld\n" +msgstr "Предупреждение:\t%ld\n" + +#: src/chage.c:244 +#, c-format +msgid "Inactive:\t%ld\n" +msgstr "ÐеактивноÑть:\t%ld\n" + +#: src/chage.c:251 +msgid "Last Change:\t\t" +msgstr "ПоÑледнее изменение:\t\t" + +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 +msgid "Never\n" +msgstr "Ðикогда\n" + +#: src/chage.c:264 +msgid "Password Expires:\t" +msgstr "Пароль иÑтекает:\t" + +#: src/chage.c:280 +msgid "Password Inactive:\t" +msgstr "Пароль дезактивируетÑÑ:\t" + +#: src/chage.c:294 +msgid "Account Expires:\t" +msgstr "Ðккаунт иÑтекает:\t" + +#: src/chage.c:445 +#, c-format +msgid "%s: do not include \"l\" with other flags\n" +msgstr "%s: не включайте \"l\" Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ опциÑми\n" + +#: src/chage.c:458 src/chage.c:588 src/login.c:503 +#, c-format +msgid "%s: permission denied\n" +msgstr "%s: доÑтуп запрещен\n" + +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 +#, fuzzy, c-format +msgid "%s: PAM authentication failed\n" +msgstr "%s: ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° аутентикации\n" + +#: src/chage.c:510 src/chpasswd.c:159 +#, c-format +msgid "%s: can't open password file\n" +msgstr "%s: не могу открыть файл паролей\n" + +#: src/chage.c:518 +#, c-format +msgid "%s: unknown user: %s\n" +msgstr "%s: неизвеÑтный пользователь: %s\n" + +#: src/chage.c:536 +#, fuzzy, c-format +msgid "%s: can't lock shadow password file" +msgstr "%s: не могу заблокировать shadow-файл паролей\n" + +#: src/chage.c:544 +#, fuzzy, c-format +msgid "%s: can't open shadow password file" +msgstr "%s: не могу открыть shadow-файл паролей\n" + +#: src/chage.c:605 +#, c-format +msgid "Changing the aging information for %s\n" +msgstr "ИзменÑем параметры времени дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ %s\n" + +#: src/chage.c:608 +#, c-format +msgid "%s: error changing fields\n" +msgstr "%s: ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹\n" + +#: src/chage.c:632 src/pwunconv.c:138 +#, c-format +msgid "%s: can't update password file\n" +msgstr "%s: не могу обновить файл паролей\n" + +#: src/chage.c:661 src/pwunconv.c:132 +#, c-format +msgid "%s: can't update shadow password file\n" +msgstr "%s: не могу обновить shadow-файл паролей\n" + +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 +msgid "Error updating the DBM password entry.\n" +msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи в базе данных паролей.\n" + +#: src/chage.c:693 +#, c-format +msgid "%s: can't rewrite shadow password file\n" +msgstr "%s: не могу перепиÑать shadow-файл паролей\n" + +#: src/chage.c:707 +#, c-format +msgid "%s: can't rewrite password file\n" +msgstr "%s: не могу перепиÑать файл паролей\n" + +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 +#, fuzzy, c-format +msgid "%s: PAM chauthtok failed\n" +msgstr "%s: не могу разблокировать файл\n" + +#: src/chfn.c:84 +#, fuzzy, c-format +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" + +#: src/chfn.c:89 +#, fuzzy, 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" + +#: src/chfn.c:140 +#, fuzzy +msgid "Enter the new value, or press ENTER for the default\n" +msgstr "Введите новое значение или return Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию\n" + +#: src/chfn.c:143 +msgid "Full Name" +msgstr "Полное имÑ" + +#: src/chfn.c:145 +#, c-format +msgid "\tFull Name: %s\n" +msgstr "\tПолное имÑ: %s\n" + +#: src/chfn.c:148 +msgid "Room Number" +msgstr "Ðомер комнаты" + +#: src/chfn.c:150 +#, c-format +msgid "\tRoom Number: %s\n" +msgstr "\tÐомер комнаты: %s\n" + +#: src/chfn.c:153 +msgid "Work Phone" +msgstr "Рабочий телефон" + +#: src/chfn.c:155 +#, c-format +msgid "\tWork Phone: %s\n" +msgstr "\tРабочий телефон: %s\n" + +#: src/chfn.c:158 +msgid "Home Phone" +msgstr "Дом. телефон" + +#: src/chfn.c:160 +#, c-format +msgid "\tHome Phone: %s\n" +msgstr "\tДом. телефон: %s\n" + +#: src/chfn.c:163 +msgid "Other" +msgstr "Прочее" + +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 +#, c-format +msgid "%s: Permission denied.\n" +msgstr "%s: ДоÑтуп запрещен.\n" + +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 +#, c-format +msgid "%s: Unknown user %s\n" +msgstr "%s: ÐеизвеÑтный пользователь %s\n" + +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 +#, c-format +msgid "%s: Cannot determine your user name.\n" +msgstr "%s: Ðе могу определить вашего имени пользователÑ.\n" + +#: src/chfn.c:359 src/chsh.c:210 +#, c-format +msgid "%s: cannot change user `%s' on NIS client.\n" +msgstr "%s: не могу изменить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ `%s' на клиенте NIS.\n" + +#: src/chfn.c:367 src/chsh.c:218 +#, c-format +msgid "%s: `%s' is the NIS master for this client.\n" +msgstr "%s: `%s' - NIS-маÑтер Ð´Ð»Ñ Ñтого клиента.\n" + +#: src/chfn.c:442 +#, c-format +msgid "Changing the user information for %s\n" +msgstr "ИзменÑем информацию о пользователе %s\n" + +#: src/chfn.c:451 +#, c-format +msgid "%s: invalid name: \"%s\"\n" +msgstr "%s: неверное имÑ: \"%s\"\n" + +#: src/chfn.c:457 +#, c-format +msgid "%s: invalid room number: \"%s\"\n" +msgstr "%s: неверный номер комнаты: \"%s\"\n" + +#: src/chfn.c:463 +#, c-format +msgid "%s: invalid work phone: \"%s\"\n" +msgstr "%s: неверный рабочий телефон: \"%s\"\n" + +#: src/chfn.c:469 +#, c-format +msgid "%s: invalid home phone: \"%s\"\n" +msgstr "%s: неверный дом. телефон: \"%s\"\n" + +#: src/chfn.c:476 +#, c-format +msgid "%s: \"%s\" contains illegal characters\n" +msgstr "%s: \"%s\" Ñодержит недопуÑтимые Ñимволы\n" + +#: src/chfn.c:489 +#, c-format +msgid "%s: fields too long\n" +msgstr "%s: Ñлишком длинные полÑ\n" + +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 +msgid "Cannot change ID to root.\n" +msgstr "Ðе могу изменить ID root'а.\n" + +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 +msgid "Cannot lock the password file; try again later.\n" +msgstr "Ðе могу заблокировать файл паролей; попробуйте позже.\n" + +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 +msgid "Cannot open the password file.\n" +msgstr "Ðе могу открыть файл паролей.\n" + +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 +#, c-format +msgid "%s: %s not found in /etc/passwd\n" +msgstr "%s: %s не найден в /etc/passwd\n" + +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 +msgid "Error updating the password entry.\n" +msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи паролÑ.\n" + +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 +msgid "Cannot commit password file changes.\n" +msgstr "Ðе могу запиÑать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° паролей.\n" + +#: src/chfn.c:593 src/chsh.c:399 +msgid "Cannot unlock the password file.\n" +msgstr "Ðе могу разблокировать файл паролей.\n" + +#: src/chpasswd.c:67 +#, fuzzy, c-format +msgid "Usage: %s [-e]\n" +msgstr "запуÑк: %s [-e]\n" + +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: не могу заблокировать файл паролей\n" + +#: src/chpasswd.c:168 src/pwconv.c:95 +#, c-format +msgid "%s: can't lock shadow file\n" +msgstr "%s: не могу заблокировать файл shadow\n" + +#: src/chpasswd.c:174 src/gpasswd.c:596 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" + +#: src/chpasswd.c:197 src/newusers.c:441 +#, c-format +msgid "%s: line %d: line too long\n" +msgstr "%s: Ñтрока %d: Ñлишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ñтрока\n" + +#: src/chpasswd.c:217 +#, c-format +msgid "%s: line %d: missing new password\n" +msgstr "%s: Ñтрока %d: новый пароль отÑутÑтвует\n" + +#: src/chpasswd.c:234 +#, c-format +msgid "%s: line %d: unknown user %s\n" +msgstr "%s: Ñтрока %d: неизвеÑтный пользователь %s\n" + +#: src/chpasswd.c:280 +#, c-format +msgid "%s: line %d: cannot update password entry\n" +msgstr "%s: Ñтрока %d: не могу обновить запиÑÑŒ паролÑ\n" + +#: src/chpasswd.c:297 src/newusers.c:569 +#, c-format +msgid "%s: error detected, changes ignored\n" +msgstr "%s: обнаружена ошибка, Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ\n" + +#: src/chpasswd.c:309 +#, c-format +msgid "%s: error updating shadow file\n" +msgstr "%s: ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° shadow\n" + +#: src/chpasswd.c:318 +#, c-format +msgid "%s: error updating password file\n" +msgstr "%s: ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° паролей\n" + +#: src/chsh.c:76 +#, fuzzy, c-format +msgid "Usage: %s [-s shell] [name]\n" +msgstr "ЗапуÑк: %s [-s шелл] [имÑ]\n" + +#: src/chsh.c:90 +msgid "Enter the new value, or press return for the default\n" +msgstr "Введите новое значение или return Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию\n" + +#: src/chsh.c:91 +msgid "Login Shell" +msgstr "Шелл при входе" + +#: src/chsh.c:234 src/chsh.c:248 +#, c-format +msgid "You may not change the shell for %s.\n" +msgstr "Ð’Ñ‹ не можете изменить шелл Ð´Ð»Ñ %s.\n" + +#: src/chsh.c:277 +#, c-format +msgid "Changing the login shell for %s\n" +msgstr "ИзменÑем шелл при входе Ð´Ð»Ñ %s\n" + +#: src/chsh.c:289 +#, c-format +msgid "%s: Invalid entry: %s\n" +msgstr "%s: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ: %s\n" + +#: src/chsh.c:296 +#, c-format +msgid "%s is an invalid shell.\n" +msgstr "%s - неверный шелл.\n" + +#: src/expiry.c:59 +#, fuzzy +msgid "Usage: expiry {-f|-c}\n" +msgstr "ЗапуÑк: expiry { -f | -c }\n" + +#: src/expiry.c:113 +#, c-format +msgid "%s: WARNING! Must be set-UID root!\n" +msgstr "%s: ПРЕДУПРЕЖДЕÐИЕ! Должно быть set-UID root!\n" + +#: src/expiry.c:124 +#, c-format +msgid "%s: unknown user\n" +msgstr "%s: неизвеÑтный пользователь\n" + +#: src/faillog.c:77 +#, fuzzy, c-format +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "запуÑк: %s [-a|-u юзер] [-m макÑ] [-r] [-t дней] [-l lock(Ñек)]\n" + +#: src/faillog.c:131 src/lastlog.c:96 +#, c-format +msgid "Unknown User: %s\n" +msgstr "ÐеизвеÑтный пользователь: %s\n" + +#: src/faillog.c:212 +msgid "Username Failures Maximum Latest\n" +msgstr "Ð˜Ð¼Ñ Ðеудач МакÑимум ПоÑледн.\n" + +#: src/faillog.c:229 +#, c-format +msgid " %s on %s" +msgstr " %s на %s" + +#: src/faillog.c:233 +#, c-format +msgid " [%lds left]" +msgstr " [%lds оÑÑ‚.]" + +#: src/faillog.c:237 +#, c-format +msgid " [%lds lock]" +msgstr " [%lds lock]" + +#: src/gpasswd.c:78 +#, fuzzy, c-format +msgid "Usage: %s [-r|-R] group\n" +msgstr "запуÑк: %s [-r|-R] группа\n" + +#: src/gpasswd.c:79 +#, c-format +msgid " %s [-a user] group\n" +msgstr " %s [-a юзер] группа\n" + +#: src/gpasswd.c:80 +#, c-format +msgid " %s [-d user] group\n" +msgstr " %s [-d юзер] группа\n" + +#: src/gpasswd.c:83 +#, c-format +msgid " %s [-A user,...] [-M user,...] group\n" +msgstr " %s [-A юзер,...] [-M юзер,...] группа\n" + +#: src/gpasswd.c:85 +#, c-format +msgid " %s [-M user,...] group\n" +msgstr " %s [-M юзер,...] группа\n" + +#: src/gpasswd.c:146 src/gpasswd.c:230 +#, c-format +msgid "%s: unknown user %s\n" +msgstr "%s: неизвеÑтный пользователь %s\n" + +#: src/gpasswd.c:157 +msgid "Permission denied.\n" +msgstr "ДоÑтуп запрещен.\n" + +#: src/gpasswd.c:243 +#, c-format +msgid "%s: shadow group passwords required for -A\n" +msgstr "%s: Ð´Ð»Ñ -A требуютÑÑ shadow-пароли групп\n" + +#: src/gpasswd.c:294 +msgid "Who are you?\n" +msgstr "Кто вы?\n" + +#: src/gpasswd.c:313 src/newgrp.c:292 +#, c-format +msgid "unknown group: %s\n" +msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°: %s\n" + +#: src/gpasswd.c:422 +#, c-format +msgid "Adding user %s to group %s\n" +msgstr "ДобавлÑÑŽ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s в группу %s\n" + +#: src/gpasswd.c:440 +#, c-format +msgid "Removing user %s from group %s\n" +msgstr "УдалÑÑŽ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s из группы %s\n" + +#: src/gpasswd.c:454 +#, c-format +msgid "%s: unknown member %s\n" +msgstr "%s: неизвеÑтный член %s\n" + +#: src/gpasswd.c:501 +#, c-format +msgid "%s: Not a tty\n" +msgstr "%s: Ðе tty\n" + +#: src/gpasswd.c:522 +#, c-format +msgid "Changing the password for group %s\n" +msgstr "ИзменÑем пароль Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ %s\n" + +#: src/gpasswd.c:525 +msgid "New Password: " +msgstr "Ðовый пароль: " + +#: src/gpasswd.c:530 src/passwd.c:281 +msgid "Re-enter new password: " +msgstr "Еще раз новый пароль: " + +#: src/gpasswd.c:542 +msgid "They don't match; try again" +msgstr "Они не Ñовпадают; попробуйте Ñнова" + +#: src/gpasswd.c:546 +#, c-format +msgid "%s: Try again later\n" +msgstr "%s: Попробуйте позже\n" + +#: src/gpasswd.c:578 +#, c-format +msgid "%s: can't get lock\n" +msgstr "%s: не могу заблокировать\n" + +#: src/gpasswd.c:584 +#, c-format +msgid "%s: can't get shadow lock\n" +msgstr "%s: не могу заблокировать shadow\n" + +#: src/gpasswd.c:590 +#, c-format +msgid "%s: can't open file\n" +msgstr "%s: не могу открыть файл\n" + +#: src/gpasswd.c:602 +#, c-format +msgid "%s: can't update entry\n" +msgstr "%s: не могу обновить запиÑÑŒ\n" + +#: src/gpasswd.c:608 +#, c-format +msgid "%s: can't update shadow entry\n" +msgstr "%s: не могу обновить shadow-запиÑÑŒ\n" + +#: src/gpasswd.c:615 +#, c-format +msgid "%s: can't re-write file\n" +msgstr "%s: не могу перепиÑать файл\n" + +#: src/gpasswd.c:621 +#, c-format +msgid "%s: can't re-write shadow file\n" +msgstr "%s: не могу перепиÑать файл shadow\n" + +#: src/gpasswd.c:630 +#, c-format +msgid "%s: can't unlock file\n" +msgstr "%s: не могу разблокировать файл\n" + +#: src/gpasswd.c:635 +#, c-format +msgid "%s: can't update DBM files\n" +msgstr "%s: не могу обновить файлы базы данных\n" + +#: src/gpasswd.c:642 +#, c-format +msgid "%s: can't update DBM shadow files\n" +msgstr "%s: не могу обновить shadow-файлы базы данных\n" + +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "запуÑк: groupadd [-g gid [-o]] [-f] группа\n" + +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 +#, c-format +msgid "%s: error adding new group entry\n" +msgstr "%s: ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ запиÑи группы\n" + +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 +#, c-format +msgid "%s: cannot add new dbm group entry\n" +msgstr "%s: не могу добавить новую запиÑÑŒ группы в базу данных\n" + +#: src/groupadd.c:256 src/useradd.c:977 +#, c-format +msgid "%s: name %s is not unique\n" +msgstr "%s: Ð¸Ð¼Ñ %s не уникально\n" + +#: src/groupadd.c:271 +#, fuzzy, c-format +msgid "%s: gid %u is not unique\n" +msgstr "%s: gid %ld не уникален\n" + +#: src/groupadd.c:295 +#, c-format +msgid "%s: can't get unique gid\n" +msgstr "%s: не могу получить уникальный gid\n" + +#: src/groupadd.c:318 src/groupmod.c:342 +#, c-format +msgid "%s: %s is a not a valid group name\n" +msgstr "%s: %s недопуÑтимо как Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹\n" + +#: src/groupadd.c:347 src/groupmod.c:367 +#, c-format +msgid "%s: invalid group %s\n" +msgstr "%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° %s\n" + +#: src/groupadd.c:364 src/useradd.c:1173 +#, c-format +msgid "%s: -O requires NAME=VALUE\n" +msgstr "%s: -O требует ИМЯ=ЗÐÐЧЕÐИЕ\n" + +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 +#, c-format +msgid "%s: cannot rewrite group file\n" +msgstr "%s: не могу перепиÑать файл групп\n" + +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 +#, c-format +msgid "%s: cannot rewrite shadow group file\n" +msgstr "%s: не могу перепиÑать shadow-файл групп\n" + +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 +#, c-format +msgid "%s: unable to lock group file\n" +msgstr "%s: не могу заблокировать файл групп\n" + +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 +#, c-format +msgid "%s: unable to open group file\n" +msgstr "%s: не могу открыть файл групп\n" + +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 +#, c-format +msgid "%s: unable to lock shadow group file\n" +msgstr "%s: не могу заблокировать shadow-файл групп\n" + +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 +#, c-format +msgid "%s: unable to open shadow group file\n" +msgstr "%s: не могу открыть shadow-файл групп\n" + +#: src/groupadd.c:563 +#, c-format +msgid "%s: group %s exists\n" +msgstr "%s: группа %s уже ÑущеÑтвует\n" + +#: src/groupdel.c:88 +#, fuzzy +msgid "Usage: groupdel group\n" +msgstr "запуÑк: groupdel группа\n" + +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 +#, c-format +msgid "%s: error removing group entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи группы\n" + +#: src/groupdel.c:119 src/groupmod.c:205 +#, c-format +msgid "%s: error removing group dbm entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи группы из базы данных\n" + +#: src/groupdel.c:135 +#, c-format +msgid "%s: error removing shadow group entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ shadow-запиÑи группы\n" + +#: src/groupdel.c:149 src/groupmod.c:255 +#, c-format +msgid "%s: error removing shadow group dbm entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ shadow-запиÑи группы из базы данных\n" + +#: src/groupdel.c:255 +#, c-format +msgid "%s: cannot remove user's primary group.\n" +msgstr "%s: не могу удалить первичную группу пользователÑ.\n" + +#: src/groupdel.c:359 src/groupmod.c:551 +#, c-format +msgid "%s: group %s does not exist\n" +msgstr "%s: группа %s не ÑущеÑтвует\n" + +#: src/groupdel.c:373 src/groupmod.c:567 +#, c-format +msgid "%s: group %s is a NIS group\n" +msgstr "%s: группа %s - группа NIS\n" + +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 +#, c-format +msgid "%s: %s is the NIS master\n" +msgstr "%s: %s - NIS-маÑтер\n" + +#: src/groupmems.c:95 +msgid "Member already exists\n" +msgstr "" + +#: src/groupmems.c:125 +msgid "Member to remove could not be found\n" +msgstr "" + +#: src/groupmems.c:158 +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgstr "" + +#: src/groupmems.c:201 +msgid "Only root can add members to different groups\n" +msgstr "" + +#: src/groupmems.c:206 +msgid "Group access is required\n" +msgstr "" + +#: src/groupmems.c:210 +msgid "Not primary owner of current group\n" +msgstr "" + +#: src/groupmems.c:215 +#, fuzzy +msgid "Unable to lock group file\n" +msgstr "%s: не могу заблокировать файл групп\n" + +#: src/groupmems.c:220 +#, fuzzy +msgid "Unable to open group file\n" +msgstr "%s: не могу открыть файл групп\n" + +#: src/groupmems.c:240 +#, fuzzy +msgid "Cannot close group file\n" +msgstr "%s: не могу открыть файл групп\n" + +#: src/groupmod.c:104 +#, fuzzy +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "запуÑк: groupmod [-g gid [-o]] [-n имÑ] группа\n" + +#: src/groupmod.c:162 +#, c-format +msgid "%s: %s not found in /etc/group\n" +msgstr "%s: %s не найден в /etc/group\n" + +#: src/groupmod.c:248 +#, c-format +msgid "%s: cannot add new dbm shadow group entry\n" +msgstr "%s: не могу добавить новую shadow-запиÑÑŒ группы в базу данных\n" + +#: src/groupmod.c:301 +#, fuzzy, c-format +msgid "%s: %u is not a unique gid\n" +msgstr "%s: %ld - не уникальный gid\n" + +#: src/groupmod.c:331 +#, c-format +msgid "%s: %s is not a unique name\n" +msgstr "%s: %s - не уникальное имÑ\n" + +#: src/groups.c:59 +#, c-format +msgid "unknown user %s\n" +msgstr "неизвеÑтный пользователь %s\n" + +#: src/grpck.c:87 +#, fuzzy, c-format +msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" +msgstr "ЗапуÑк: %s [-r] [группа [shadow-группа]]\n" + +#: src/grpck.c:90 +#, fuzzy, c-format +msgid "Usage: %s [-r] [-s] [group]\n" +msgstr "ЗапуÑк: %s [-r] [группа]\n" + +#: src/grpck.c:108 src/pwck.c:108 +msgid "No" +msgstr "Ðет" + +#: src/grpck.c:192 src/pwck.c:175 +#, c-format +msgid "%s: -s and -r are incompatibile\n" +msgstr "" + +#: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 +#, c-format +msgid "%s: cannot lock file %s\n" +msgstr "%s: не могу заблокировать файл %s\n" + +#: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 +#: src/pwck.c:251 +#, c-format +msgid "%s: cannot open file %s\n" +msgstr "%s: не могу открыть файл %s\n" + +#: src/grpck.c:311 +msgid "invalid group file entry\n" +msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ файла групп\n" + +#: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 +#: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 +#: src/pwck.c:543 +#, c-format +msgid "delete line `%s'? " +msgstr "удалить Ñтроку `%s'? " + +#: src/grpck.c:374 +msgid "duplicate group entry\n" +msgstr "дублирующаÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑŒ группы\n" + +#: src/grpck.c:391 +#, c-format +msgid "invalid group name `%s'\n" +msgstr "неверное Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ `%s'\n" + +#: src/grpck.c:418 +#, c-format +msgid "group %s: no user %s\n" +msgstr "группа %s: нет Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" + +#: src/grpck.c:420 src/grpck.c:590 +#, c-format +msgid "delete member `%s'? " +msgstr "удалить члена `%s'? " + +#: src/grpck.c:457 +msgid "invalid shadow group file entry\n" +msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ shadow-запиÑÑŒ в файле групп\n" + +#: src/grpck.c:520 +msgid "duplicate shadow group entry\n" +msgstr "дублирующаÑÑÑ shadow-запиÑÑŒ в файле групп\n" + +#: src/grpck.c:537 +msgid "no matching group file entry\n" +msgstr "ÑоответÑтвующей запиÑи в файле групп нет\n" + +#: src/grpck.c:558 +#, c-format +msgid "shadow group %s: no administrative user %s\n" +msgstr "shadow-группа %s: нет админиÑтративного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" + +#: src/grpck.c:560 +#, c-format +msgid "delete administrative member `%s'? " +msgstr "удалить админиÑтративного члена `%s'? " + +#: src/grpck.c:588 +#, c-format +msgid "shadow group %s: no user %s\n" +msgstr "shadow-группа %s: нет Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" + +#: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 +#, c-format +msgid "%s: cannot update file %s\n" +msgstr "%s: не могу обновить файл %s\n" + +#: src/grpck.c:647 src/pwck.c:612 +#, c-format +msgid "%s: the files have been updated; run mkpasswd\n" +msgstr "%s: файлы были обновлены; запуÑтите mkpasswd\n" + +#: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 +#, c-format +msgid "%s: no changes\n" +msgstr "%s: изменений нет\n" + +#: src/grpck.c:651 src/pwck.c:616 +#, c-format +msgid "%s: the files have been updated\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" + +#: src/grpconv.c:65 src/grpunconv.c:61 +#, c-format +msgid "%s: can't open group file\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" + +#: src/grpconv.c:76 src/grpunconv.c:72 +#, c-format +msgid "%s: can't open shadow group file\n" +msgstr "%s: не могу открыть shadow-файл групп\n" + +#: src/grpconv.c:94 +#, c-format +msgid "%s: can't remove shadow group %s\n" +msgstr "%s: не могу удалить shadow-группу %s\n" + +#: src/grpconv.c:133 src/pwconv.c:154 +#, c-format +msgid "%s: can't update shadow entry for %s\n" +msgstr "%s: не могу обновить shadow-запиÑÑŒ Ð´Ð»Ñ %s\n" + +#: src/grpconv.c:143 src/grpunconv.c:91 +#, c-format +msgid "%s: can't update entry for group %s\n" +msgstr "%s: не могу обновить запиÑÑŒ Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ %s\n" + +#: src/grpconv.c:150 src/grpunconv.c:99 +#, c-format +msgid "%s: can't update shadow group file\n" +msgstr "%s: не могу обновить shadow-файл групп\n" + +#: src/grpconv.c:155 src/grpunconv.c:105 +#, c-format +msgid "%s: can't update group file\n" +msgstr "%s: не могу обновить файл групп\n" + +#: src/grpunconv.c:110 +#, c-format +msgid "%s: can't delete shadow group file\n" +msgstr "%s: не могу удалить shadow-файл групп\n" + +#: src/id.c:53 +#, fuzzy +msgid "Usage: id [-a]\n" +msgstr "запуÑк: id [-a]\n" + +#: src/id.c:55 +#, fuzzy +msgid "Usage: id\n" +msgstr "запуÑк: id\n" + +#: src/id.c:169 +msgid " groups=" +msgstr " группы=" + +#: src/lastlog.c:110 src/lastlog.c:116 +#, c-format +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" +msgstr "" + +#: src/lastlog.c:181 +msgid "Username Port From Latest\n" +msgstr "Ð˜Ð¼Ñ ÐŸÐ¾Ñ€Ñ‚ Откуда ПоÑледн.\n" + +#: src/lastlog.c:183 +msgid "Username Port Latest\n" +msgstr "Ð˜Ð¼Ñ ÐŸÐ¾Ñ€Ñ‚ ПоÑледн.\n" + +#: src/lastlog.c:198 +msgid "**Never logged in**" +msgstr "**Ðикогда не логинилÑÑ***" + +#: src/login.c:175 +#, fuzzy, c-format +msgid "Usage: %s [-p] [name]\n" +msgstr "запуÑк: %s [-p] [имÑ]\n" + +#: src/login.c:178 +#, c-format +msgid " %s [-p] [-h host] [-f name]\n" +msgstr " %s [-p] [-h хоÑÑ‚] [-f имÑ]\n" + +#: src/login.c:180 +#, c-format +msgid " %s [-p] -r host\n" +msgstr " %s [-p] -r хоÑÑ‚\n" + +#: src/login.c:259 +msgid "Invalid login time\n" +msgstr "ÐедопуÑтимое Ð²Ñ€ÐµÐ¼Ñ Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸Ð½Ð°\n" + +#: src/login.c:314 +msgid "" +"\n" +"System closed for routine maintenance\n" +msgstr "" +"\n" +"СиÑтема закрыта на плановое обÑлуживание\n" + +#: src/login.c:325 +msgid "" +"\n" +"[Disconnect bypassed -- root login allowed.]\n" +msgstr "" +"\n" +"[РаÑÑоединение пропущено -- root'овый логин разрешен.]\n" + +#: src/login.c:362 +#, c-format +msgid "" +"\n" +"Login timed out after %d seconds.\n" +msgstr "" +"\n" +"Таймаут логина в течение %d Ñекунд.\n" + +#: src/login.c:648 +#, c-format +msgid " on `%.100s' from `%.200s'" +msgstr " на `%.100s' Ñ `%.200s'" + +#: src/login.c:652 +#, c-format +msgid " on `%.100s'" +msgstr " на `%.100s'" + +#: src/login.c:811 +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + +#: src/login.c:814 +msgid "login: " +msgstr "login: " + +#: src/login.c:1013 src/sulogin.c:205 +msgid "Login incorrect" +msgstr "ÐÐµÑƒÐ´Ð°Ñ‡Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ°" + +#: src/login.c:1193 +msgid "Warning: login re-enabled after temporary lockout.\n" +msgstr "Предупреждение: логины Ñнова открыты поÑле временного закрытиÑ.\n" + +#: src/login.c:1207 +#, c-format +msgid "Last login: %s on %s" +msgstr "ПоÑледний логин: %s на %s" + +#: src/login.c:1210 +#, c-format +msgid "Last login: %.19s on %s" +msgstr "ПоÑледний логин: %.19s на %s" + +#: src/login.c:1216 +#, fuzzy, c-format +msgid " from %.*s" +msgstr " Ñ %.*s" + +#: src/login.c:1293 +msgid "Starting rad_login\n" +msgstr "ЗапуÑкаю rad_login\n" + +#: src/mkpasswd.c:47 +#, c-format +msgid "%s: no DBM database on system - no action performed\n" +msgstr "%s: в ÑиÑтеме нет базы данных DBM, никаких дейÑтвий не предпринÑто\n" + +#: src/mkpasswd.c:232 src/mkpasswd.c:237 +#, c-format +msgid "%s: cannot overwrite file %s\n" +msgstr "%s: не могу перепиÑать файл %s\n" + +#: src/mkpasswd.c:252 +#, c-format +msgid "%s: cannot open DBM files for %s\n" +msgstr "%s: не могу открыть файлы базы данных Ð´Ð»Ñ %s\n" + +#: src/mkpasswd.c:287 +#, c-format +msgid "%s: the beginning with " +msgstr "%s: начало Ñ " + +#: src/mkpasswd.c:288 +#, fuzzy +msgid " is too long\n" +msgstr "%s: Ñлишком длинные полÑ\n" + +#: src/mkpasswd.c:315 +#, c-format +msgid "%s: error parsing line \"%s\"\n" +msgstr "%s: ошибка разбора Ñтроки \"%s\"\n" + +#: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 +msgid "adding record for name " +msgstr "добавлÑÑŽ запиÑÑŒ Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ " + +#: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 +#: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 +msgid "\n" +msgstr "" + +#: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 +#, c-format +msgid "%s: error adding record for " +msgstr "%s: ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ " + +#: src/mkpasswd.c:378 +#, c-format +msgid "added %d entries, longest was %d\n" +msgstr "добавлено %d запиÑей, ÑÐ°Ð¼Ð°Ñ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ - %d\n" + +#: src/mkpasswd.c:392 +#, fuzzy, c-format +msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n" +msgstr "ЗапуÑк: %s [-vf] [-p|g|sp|sg] файл\n" + +#: src/mkpasswd.c:395 +#, fuzzy, c-format +msgid "Usage: %s [-vf] [-p|g|sp] file\n" +msgstr "ЗапуÑк: %s [-vf] [-p|g|sp] файл\n" + +#: src/mkpasswd.c:398 +#, fuzzy, c-format +msgid "Usage: %s [-vf] [-p|g] file\n" +msgstr "ЗапуÑк: %s [-vf] [-p|g] файл\n" + +#: src/newgrp.c:61 +#, fuzzy +msgid "Usage: newgrp [-] [group]\n" +msgstr "запуÑк: newgrp [-] [группа]\n" + +#: src/newgrp.c:63 +#, fuzzy +msgid "Usage: sg group [[-c] command]\n" +msgstr "запуÑк: sg группа [[-c] команда]\n" + +#: src/newgrp.c:131 +#, fuzzy, c-format +msgid "unknown uid: %u\n" +msgstr "неизвеÑтный uid: %d\n" + +#: src/newgrp.c:214 +#, fuzzy, c-format +msgid "unknown gid: %lu\n" +msgstr "неизвеÑтный gid: %ld\n" + +#: src/newgrp.c:360 src/newgrp.c:369 +msgid "Sorry.\n" +msgstr "Извините.\n" + +#: src/newgrp.c:469 +msgid "too many groups\n" +msgstr "Ñлишком много групп\n" + +#: src/newusers.c:78 +#, fuzzy, c-format +msgid "Usage: %s [input]\n" +msgstr "ЗапуÑк: %s [ввод]\n" + +#: src/newusers.c:388 +#, c-format +msgid "%s: can't lock /etc/passwd.\n" +msgstr "%s: не могу заблокировать /etc/passwd.\n" + +#: src/newusers.c:400 +#, c-format +msgid "%s: can't lock files, try again later\n" +msgstr "%s: не могу заблокировать файлы; попробуйте позже\n" + +#: src/newusers.c:416 +#, c-format +msgid "%s: can't open files\n" +msgstr "%s: не могу открыть файлы\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: Ñтрока %d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñтрока\n" + +#: src/newusers.c:480 +#, c-format +msgid "%s: line %d: can't create GID\n" +msgstr "%s: Ñтрока %d: не могу Ñоздать GID\n" + +#: src/newusers.c:496 +#, c-format +msgid "%s: line %d: can't create UID\n" +msgstr "%s: Ñтрока %d: не могу Ñоздать UID\n" + +#: src/newusers.c:509 +#, c-format +msgid "%s: line %d: cannot find user %s\n" +msgstr "%s: Ñтрока %d: не могу найти Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" + +#: src/newusers.c:518 +#, c-format +msgid "%s: line %d: can't update password\n" +msgstr "%s: Ñтрока %d: не могу обновить пароль\n" + +#: src/newusers.c:536 +#, c-format +msgid "%s: line %d: mkdir failed\n" +msgstr "%s: Ñтрока %d: неудача mkdir\n" + +#: src/newusers.c:542 +#, c-format +msgid "%s: line %d: chown failed\n" +msgstr "%s: Ñтрока %d: неудача chown\n" + +#: src/newusers.c:552 +#, c-format +msgid "%s: line %d: can't update entry\n" +msgstr "%s: Ñтрока %d: не могу обновить запиÑÑŒ\n" + +#: src/newusers.c:584 +#, c-format +msgid "%s: error updating files\n" +msgstr "%s: ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²\n" + +#: src/passwd.c:155 +#, fuzzy, c-format +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "запуÑк: %s [-p] [имÑ]\n" + +#: src/passwd.c:159 +#, fuzzy, c-format +msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" +msgstr " %s [-x макÑ] [-n мин] [-w предупр] [-i неакт] имÑ\n" + +#: src/passwd.c:161 +#, fuzzy, c-format +msgid " %s {-l|-u|-d|-S|-e} name\n" +msgstr " %s { -l | -u | -d | -S | -e } имÑ\n" + +#: src/passwd.c:216 +msgid "Old password: " +msgstr "Старый пароль: " + +#: src/passwd.c:225 +#, c-format +msgid "Incorrect password for `%s'\n" +msgstr "Ðеверный пароль Ð´Ð»Ñ `%s'\n" + +#: src/passwd.c:249 +#, 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 "" +"Введите новый пароль (минимум %d, макÑимум %d Ñимволов)\n" +"ИÑпользуйте комбинацию больших и маленьких латинÑких букв и цифр.\n" + +#: src/passwd.c:255 +msgid "New password: " +msgstr "Ðовый пароль: " + +#: src/passwd.c:266 +msgid "Try again.\n" +msgstr "Попробуйте еще раз.\n" + +#: src/passwd.c:277 +msgid "" +"\n" +"Warning: weak password (enter it again to use it anyway).\n" +msgstr "" +"\n" +"Предупреждение: Ñлабый пароль (введите его еще раз еÑли вÑе-таки хотите " +"его).\n" + +#: src/passwd.c:287 +msgid "They don't match; try again.\n" +msgstr "Они не Ñовпадают; попробуйте еще раз.\n" + +#: src/passwd.c:364 src/passwd.c:382 +#, c-format +msgid "The password for %s cannot be changed.\n" +msgstr "Пароль Ð´Ð»Ñ %s изменить нельзÑ.\n" + +#: src/passwd.c:396 +#, c-format +msgid "Sorry, the password for %s cannot be changed yet.\n" +msgstr "Извините, пароль Ð´Ð»Ñ %s пока изменить нельзÑ.\n" + +#: src/passwd.c:479 +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: нехватка памÑти\n" + +#: src/passwd.c:730 +#, c-format +msgid "%s: Cannot execute %s" +msgstr "%s: Ðе могу иÑполнить %s" + +#: src/passwd.c:815 +#, c-format +msgid "%s: repository %s not supported\n" +msgstr "%s: хранилище %s не поддерживаетÑÑ\n" + +#: src/passwd.c:890 +#, c-format +msgid "%s: Permission denied\n" +msgstr "%s: ДоÑтуп запрещен\n" + +#: src/passwd.c:914 +#, c-format +msgid "You may not change the password for %s.\n" +msgstr "Ð’Ñ‹ не можете изменить пароль Ð´Ð»Ñ %s.\n" + +#: src/passwd.c:962 +#, c-format +msgid "Changing password for %s\n" +msgstr "ИзменÑем пароль Ð´Ð»Ñ %s\n" + +#: src/passwd.c:966 +#, c-format +msgid "The password for %s is unchanged.\n" +msgstr "Пароль Ð´Ð»Ñ %s ÐЕ изменен.\n" + +#: src/passwd.c:1016 +msgid "Password changed.\n" +msgstr "Пароль изменен.\n" + +#: src/pwck.c:87 +#, fuzzy, c-format +msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n" +msgstr "ЗапуÑк: %s [-qr] [passwd [shadow]]\n" + +#: src/pwck.c:90 +#, fuzzy, c-format +msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" +msgstr "ЗапуÑк: %s [-qr] [passwd]\n" + +#: src/pwck.c:295 +msgid "invalid password file entry\n" +msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле паролей\n" + +#: src/pwck.c:357 +msgid "duplicate password entry\n" +msgstr "дублирующаÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑŒ паролÑ\n" + +#: src/pwck.c:373 +#, fuzzy, c-format +msgid "invalid user name '%s'\n" +msgstr "неверное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ `%s'\n" + +#: src/pwck.c:388 +#, fuzzy, c-format +msgid "user %s: no group %u\n" +msgstr "пользователь %s: нет группы %d\n" + +#: src/pwck.c:404 +#, c-format +msgid "user %s: directory %s does not exist\n" +msgstr "пользователь %s: каталог %s не ÑущеÑтвует\n" + +#: src/pwck.c:420 +#, c-format +msgid "user %s: program %s does not exist\n" +msgstr "пользователь %s: программа %s не ÑущеÑтвует\n" + +#: src/pwck.c:456 +msgid "invalid shadow password file entry\n" +msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в shadow-файле паролей\n" + +#: src/pwck.c:518 +msgid "duplicate shadow password entry\n" +msgstr "дублирующаÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑŒ в shadow-файле паролей\n" + +#: src/pwck.c:542 +msgid "no matching password file entry\n" +msgstr "ÑоответÑтвующей запиÑи в файле паролей нет\n" + +#: src/pwck.c:560 +#, c-format +msgid "user %s: last password change in the future\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" + +#: src/pwconv.c:90 src/pwunconv.c:84 +#, c-format +msgid "%s: can't open passwd file\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" + +#: src/pwconv.c:164 +#, c-format +msgid "%s: can't update passwd entry for %s\n" +msgstr "%s: не могу обновить запиÑÑŒ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ %s\n" + +#: src/pwconv.c:171 +#, c-format +msgid "%s: can't update shadow file\n" +msgstr "%s: не могу обновить shadow-файл\n" + +#: src/pwconv.c:176 +#, c-format +msgid "%s: can't update passwd file\n" +msgstr "%s: не могу обновить файл паролей\n" + +#: src/pwunconv.c:124 +#, c-format +msgid "%s: can't update entry for user %s\n" +msgstr "%s: не могу обновить запиÑÑŒ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" + +#: src/pwunconv.c:145 +#, c-format +msgid "%s: can't delete shadow password file\n" +msgstr "%s: не могу удалить shadow-файл паролей\n" + +#: src/su.c:133 +msgid "Sorry." +msgstr "Извините." + +#: src/su.c:216 +#, c-format +msgid "%s: must be run from a terminal\n" +msgstr "%s: должно быть запущено Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°\n" + +#: src/su.c:306 +#, c-format +msgid "%s: pam_start: error %d\n" +msgstr "%s: pam_start: ошибка %d\n" + +#: src/su.c:336 +#, c-format +msgid "Unknown id: %s\n" +msgstr "ÐеизвеÑтный id: %s\n" + +#: src/su.c:373 src/su.c:390 +#, c-format +msgid "You are not authorized to su %s\n" +msgstr "Вам не разрешено делать su %s\n" + +#: src/su.c:385 +msgid "(Enter your own password.)" +msgstr "(Введите ваш ÑобÑтвенный пароль.)" + +#: src/su.c:419 +#, c-format +msgid "" +"%s: %s\n" +"(Ignored)\n" +msgstr "" +"%s: %s\n" +"(Игнорировано)\n" + +#: src/su.c:609 +msgid "No shell\n" +msgstr "Ðет шелла\n" + +#: src/suauth.c:105 +msgid "Access to su to that account DENIED.\n" +msgstr "ДоÑтуп к su Ñ Ñтого аккаунта ЗÐПРЕЩЕÐ.\n" + +#: src/suauth.c:113 +msgid "Password authentication bypassed.\n" +msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾ паролю пропущена.\n" + +#: src/suauth.c:122 +msgid "Please enter your OWN password as authentication.\n" +msgstr "Введите ваш СОБСТВЕÐÐЫЙ пароль Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸ÐºÐ°Ñ†Ð¸Ð¸.\n" + +#: src/sulogin.c:118 +msgid "No password file\n" +msgstr "Ðет файла паролей\n" + +#: src/sulogin.c:160 +msgid "No password entry for 'root'\n" +msgstr "Ðет запиÑи Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ 'root'\n" + +#: src/sulogin.c:176 +msgid "" +"\n" +"Type control-d to proceed with normal startup,\n" +"(or give root password for system maintenance):" +msgstr "" +"\n" +"Введите control-d Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð¹ загрузки,\n" +"(или пароль root'а Ð´Ð»Ñ Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑиÑтемы):" + +#: src/sulogin.c:212 +msgid "Entering System Maintenance Mode\n" +msgstr "Вход в режим обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑиÑтемы\n" + +#: src/useradd.c:234 +#, c-format +msgid "%s: rebuild the group database\n" +msgstr "%s: переÑтроение базы данных групп\n" + +#: src/useradd.c:243 +#, c-format +msgid "%s: rebuild the shadow group database\n" +msgstr "%s: переÑтроение базы данных shadow-групп\n" + +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 +#, c-format +msgid "%s: invalid numeric argument `%s'\n" +msgstr "%s: неверный чиÑловой аргумент `%s'\n" + +#: src/useradd.c:349 +#, c-format +msgid "%s: unknown gid %s\n" +msgstr "%s: неизвеÑтный gid %s\n" + +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 +#, c-format +msgid "%s: unknown group %s\n" +msgstr "%s: неизвеÑÑ‚Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° %s\n" + +#: src/useradd.c:419 +#, fuzzy, c-format +msgid "GROUP=%u\n" +msgstr "GROUP=%ld\n" + +#: src/useradd.c:420 +#, c-format +msgid "HOME=%s\n" +msgstr "HOME=%s\n" + +#: src/useradd.c:422 +#, c-format +msgid "INACTIVE=%ld\n" +msgstr "INACTIVE=%ld\n" + +#: src/useradd.c:423 +#, c-format +msgid "EXPIRE=%s\n" +msgstr "EXPIRE=%s\n" + +#: src/useradd.c:425 +#, c-format +msgid "SHELL=%s\n" +msgstr "SHELL=%s\n" + +#: src/useradd.c:426 +#, c-format +msgid "SKEL=%s\n" +msgstr "SKEL=%s\n" + +#: src/useradd.c:462 +#, c-format +msgid "%s: cannot create new defaults file\n" +msgstr "%s: не могу Ñоздать новый файл умолчаний\n" + +#: src/useradd.c:467 +#, fuzzy, c-format +msgid "%s: cannot open new defaults file\n" +msgstr "%s: не могу Ñоздать новый файл умолчаний\n" + +#: src/useradd.c:552 src/useradd.c:564 +#, c-format +msgid "%s: rename: %s" +msgstr "%s: переименование: %s" + +#: src/useradd.c:657 src/usermod.c:265 +#, c-format +msgid "%s: group `%s' is a NIS group.\n" +msgstr "%s: группа `%s' - группа NIS.\n" + +#: src/useradd.c:666 src/usermod.c:274 +#, c-format +msgid "%s: too many groups specified (max %d).\n" +msgstr "%s: задано Ñлишком много групп (макÑ. %d).\n" + +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "запуÑк: useradd [-u uid [-o]] [-g группа] [-G группа,...] \n" + +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr " [-d дом.] [-s шелл] [-c коммент.] [-m [-k шаблоны]]\n" + +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f неактивн.] [-e иÑтекает]\n" + +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g группа] [-b база] [-s шелл]\n" + +#: src/useradd.c:793 src/usermod.c:461 +#, c-format +msgid "%s: error locking group file\n" +msgstr "%s: ошибка блокировки файла групп\n" + +#: src/useradd.c:798 src/usermod.c:467 +#, c-format +msgid "%s: error opening group file\n" +msgstr "%s: ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° групп\n" + +#: src/useradd.c:805 src/usermod.c:578 +#, c-format +msgid "%s: error locking shadow group file\n" +msgstr "%s: ошибка блокировки shadow-файла групп\n" + +#: src/useradd.c:810 src/usermod.c:584 +#, c-format +msgid "%s: error opening shadow group file\n" +msgstr "%s: ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ shadow-файла групп\n" + +#: src/useradd.c:982 +#, fuzzy, c-format +msgid "%s: uid %u is not unique\n" +msgstr "%s: uid %d не уникален\n" + +#: src/useradd.c:1012 +#, c-format +msgid "%s: can't get unique uid\n" +msgstr "%s: не могу получить уникальный uid\n" + +#: src/useradd.c:1049 +#, c-format +msgid "%s: invalid base directory `%s'\n" +msgstr "%s: неверный базовый каталог `%s'\n" + +#: src/useradd.c:1059 +#, c-format +msgid "%s: invalid comment `%s'\n" +msgstr "%s: неверный комментарий `%s'\n" + +#: src/useradd.c:1070 +#, c-format +msgid "%s: invalid home directory `%s'\n" +msgstr "%s: неверный домашний каталог `%s'\n" + +#: src/useradd.c:1089 src/usermod.c:858 +#, c-format +msgid "%s: invalid date `%s'\n" +msgstr "%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° `%s'\n" + +#: src/useradd.c:1102 +#, c-format +msgid "%s: shadow passwords required for -e\n" +msgstr "%s: Ð´Ð»Ñ -e требуютÑÑ shadow-пароли\n" + +#: src/useradd.c:1118 +#, c-format +msgid "%s: shadow passwords required for -f\n" +msgstr "%s: Ð´Ð»Ñ -f требуютÑÑ shadow-пароли\n" + +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: неверное поле `%s'\n" + +#: src/useradd.c:1196 +#, c-format +msgid "%s: invalid shell `%s'\n" +msgstr "%s: неверный шелл `%s'\n" + +#: src/useradd.c:1237 +#, fuzzy, c-format +msgid "%s: invalid user name '%s'\n" +msgstr "%s: неверное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ `%s'\n" + +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 +#, c-format +msgid "%s: cannot rewrite password file\n" +msgstr "%s: не могу перепиÑать файл паролей\n" + +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 +#, c-format +msgid "%s: cannot rewrite shadow password file\n" +msgstr "%s: не могу перепиÑать shadow-файл паролей\n" + +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 +#, c-format +msgid "%s: unable to lock password file\n" +msgstr "%s: не могу заблокировать файл паролей\n" + +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 +#, c-format +msgid "%s: unable to open password file\n" +msgstr "%s: не могу открыть файл паролей\n" + +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 +#, c-format +msgid "%s: cannot lock shadow password file\n" +msgstr "%s: не могу заблокировать shadow-файл паролей\n" + +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 +#, c-format +msgid "%s: cannot open shadow password file\n" +msgstr "%s: не могу открыть shadow-файл паролей\n" + +#: src/useradd.c:1435 +#, c-format +msgid "%s: error adding new password entry\n" +msgstr "%s: ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ запиÑи паролÑ\n" + +#: src/useradd.c:1449 +#, c-format +msgid "%s: error updating password dbm entry\n" +msgstr "%s: ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи базы данных паролей\n" + +#: src/useradd.c:1465 src/usermod.c:1151 +#, c-format +msgid "%s: error adding new shadow password entry\n" +msgstr "%s: ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ shadow-запиÑи паролÑ\n" + +#: src/useradd.c:1481 src/usermod.c:1168 +#, c-format +msgid "%s: error updating shadow passwd dbm entry\n" +msgstr "%s: ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ shadow-запиÑи базы данных паролей\n" + +#: src/useradd.c:1513 +#, c-format +msgid "%s: cannot create directory %s\n" +msgstr "%s: не могу Ñоздать каталог %s\n" + +#: src/useradd.c:1634 src/usermod.c:981 +#, c-format +msgid "%s: user %s exists\n" +msgstr "%s: пользователь %s уже ÑущеÑтвует\n" + +#: src/useradd.c:1649 +#, c-format +msgid "" +"%s: group %s exists - if you want to add this user to that group, use -g.\n" +msgstr "" + +#: src/useradd.c:1687 +#, c-format +msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" +msgstr "%s: предупреждение: CREATE_HOME не поддерживаетÑÑ, иÑпользуйте -m.\n" + +#: src/userdel.c:124 +#, fuzzy, c-format +msgid "Usage: %s [-r] name\n" +msgstr "запуÑк: %s [-r] имÑ\n" + +#: src/userdel.c:176 src/userdel.c:262 +#, c-format +msgid "%s: error updating group entry\n" +msgstr "%s: ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи группы\n" + +#: src/userdel.c:186 src/userdel.c:271 +#, c-format +msgid "%s: cannot update dbm group entry\n" +msgstr "%s: не могу обновить запиÑÑŒ базы данных групп\n" + +#: src/userdel.c:214 +#, fuzzy, c-format +msgid "%s: cannot remove dbm group entry\n" +msgstr "%s: не могу обновить запиÑÑŒ базы данных групп\n" + +#: src/userdel.c:379 +#, c-format +msgid "%s: cannot open group file\n" +msgstr "%s: не могу открыть файл групп\n" + +#: src/userdel.c:390 +#, c-format +msgid "%s: cannot open shadow group file\n" +msgstr "%s: не могу открыть shadow-файл групп\n" + +#: src/userdel.c:408 +#, c-format +msgid "%s: error deleting password entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи паролÑ\n" + +#: src/userdel.c:412 +#, c-format +msgid "%s: error deleting shadow password entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ shadow-запиÑи паролÑ\n" + +#: src/userdel.c:421 +#, c-format +msgid "%s: error deleting password dbm entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи базы данных паролей\n" + +#: src/userdel.c:440 +#, c-format +msgid "%s: error deleting shadow passwd dbm entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ shadow-запиÑи базы данных паролей\n" + +#: src/userdel.c:484 +#, c-format +msgid "%s: user %s is currently logged in\n" +msgstr "%s: пользователь %s в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð² ÑиÑтеме\n" + +#: src/userdel.c:594 +#, c-format +msgid "%s: warning: %s not owned by %s, not removing\n" +msgstr "%s: предупреждение: %s не принадлежит %s, не удалÑÑŽ\n" + +#: src/userdel.c:600 +#, c-format +msgid "%s: warning: can't remove " +msgstr "%s: предупреждение: не могу удалить " + +#: src/userdel.c:703 src/usermod.c:783 +#, c-format +msgid "%s: user %s does not exist\n" +msgstr "%s: пользователь %s не ÑущеÑтвует\n" + +#: src/userdel.c:718 src/usermod.c:799 +#, c-format +msgid "%s: user %s is a NIS user\n" +msgstr "%s: пользователь %s - пользователь NIS\n" + +#: src/userdel.c:756 +#, c-format +msgid "%s: %s not owned by %s, not removing\n" +msgstr "%s: %s не принадлежит %s, не удалÑÑŽ\n" + +#: src/userdel.c:779 +#, c-format +msgid "%s: not removing directory %s (would remove home of user %s)\n" +msgstr "%s: не удалÑÑŽ каталог %s (предполагалоÑÑŒ удаление каталога юзера %s)\n" + +#: src/userdel.c:793 +#, c-format +msgid "%s: error removing directory %s\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° %s\n" + +#: src/usermod.c:306 +#, fuzzy, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "запуÑк: %s\t[-u uid [-o]] [-g группа] [-G группа,...] \n" + +#: src/usermod.c:310 +msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" +msgstr "\t\t[-d дом. [-m]] [-s шелл] [-c коммент.t] [-l новое_имÑ]\n" + +#: src/usermod.c:313 +#, fuzzy +msgid "[-f inactive] [-e expire] " +msgstr "[-f неактивн.] [-e иÑтекает] " + +#: src/usermod.c:315 +msgid "[-p passwd] [-L|-U] name\n" +msgstr "[-p пароль] [-L|-U] имÑ\n" + +#: src/usermod.c:495 +#, c-format +msgid "%s: out of memory in update_group\n" +msgstr "%s: нехватка памÑти в update_group\n" + +#: src/usermod.c:622 +#, c-format +msgid "%s: out of memory in update_gshadow\n" +msgstr "%s: нехватка памÑти в update_gshadow\n" + +#: src/usermod.c:958 +#, c-format +msgid "%s: no flags given\n" +msgstr "%s: опции не заданы\n" + +#: src/usermod.c:965 +#, c-format +msgid "%s: shadow passwords required for -e and -f\n" +msgstr "%s: Ð´Ð»Ñ -e и -f требуютÑÑ shadow-пароли\n" + +#: src/usermod.c:987 +#, fuzzy, c-format +msgid "%s: uid %lu is not unique\n" +msgstr "%s: uid %ld не уникален\n" + +#: src/usermod.c:1116 +#, c-format +msgid "%s: error changing password entry\n" +msgstr "%s: ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи паролÑ\n" + +#: src/usermod.c:1122 +#, c-format +msgid "%s: error removing password entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи паролÑ\n" + +#: src/usermod.c:1131 +#, c-format +msgid "%s: error adding password dbm entry\n" +msgstr "%s: ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи паролÑ\n" + +#: src/usermod.c:1139 +#, c-format +msgid "%s: error removing passwd dbm entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи базы данных паролей\n" + +#: src/usermod.c:1158 +#, c-format +msgid "%s: error removing shadow password entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ shadow-запиÑи паролÑ\n" + +#: src/usermod.c:1175 +#, c-format +msgid "%s: error removing shadow passwd dbm entry\n" +msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ shadow-запиÑи базы данных паролей\n" + +#: src/usermod.c:1204 +#, c-format +msgid "%s: directory %s exists\n" +msgstr "%s: каталог %s уже ÑущеÑтвует\n" + +#: src/usermod.c:1213 +#, c-format +msgid "%s: can't create %s\n" +msgstr "%s: не могу Ñоздать %s\n" + +#: src/usermod.c:1219 +#, c-format +msgid "%s: can't chown %s\n" +msgstr "%s: не могу Ñделать chown %s\n" + +#: src/usermod.c:1236 +#, c-format +msgid "%s: cannot rename directory %s to %s\n" +msgstr "%s: не могу переименовать каталог %s в %s\n" + +#: src/usermod.c:1333 +#, c-format +msgid "%s: warning: %s not owned by %s\n" +msgstr "%s: предупреждение %s не принадлежит %s\n" + +#: src/usermod.c:1339 +msgid "failed to change mailbox owner" +msgstr "неудача Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð½Ð¾Ñти почтового Ñщика" + +#: src/usermod.c:1347 +msgid "failed to rename mailbox" +msgstr "неудача Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ñщика" + +#: src/vipw.c:105 +#, c-format +msgid "" +"\n" +"%s: %s is unchanged\n" +msgstr "" +"\n" +"%s: %s ÐЕ изменено\n" + +#: src/vipw.c:133 +msgid "Couldn't lock file" +msgstr "Ðе могу заблокировать файл" + +#: src/vipw.c:142 +msgid "Couldn't make backup" +msgstr "Ðе могу Ñоздать резервную копию" + +#: src/vipw.c:200 +#, c-format +msgid "%s: can't restore %s: %s (your changes are in %s)\n" +msgstr "%s: не могу воÑÑтановить %s: %s (ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² %s)\n" + +#: src/vipw.c:238 +msgid "" +"Usage:\n" +"`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" + +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: не могу обновить запиÑÑŒ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "Пользователь %s имеет ключ TCFS, требуетÑÑ ÐµÐ³Ð¾ Ñтарый пароль.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "Можно иÑпользовать опцию -t Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ изменениÑ.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "Предупреждение: пользователь %s имеет ключ TCFS.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "Ðе могу заблокировать базу данных ключей TCFS; попробуйте позже\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Ðе могу открыть базу данных ключей TCFS.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных ключей TCFS.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Ðе могу запиÑать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ TCFS.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: не могу перепиÑать файл ключей TCFS\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: не могу заблокировать файл ключей TCFS\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: не могу открыть файл ключей TCFS\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи TCFS\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f неактивн.] [-e иÑтекает]" + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸ÐºÐ°Ñ†Ð¸Ð¸\n" + +#, fuzzy +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|программа},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° аутентикации\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° аутентикации\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° аутентикации\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A программа] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p пароль] имÑ\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "ошибка - поиÑк '%s' не удалÑÑ\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s не найдено\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: не наÑтроено Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ shadow-групп.\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: Shadow-пароли не наÑтроены.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "запуÑк: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "ИÑполнÑÑŽ шелл %s\n" + +#~ msgid "Dialup Password: " +#~ msgstr "Dialup-пароль: " + +#, fuzzy +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "ЗапуÑк: %s [-l] [-m мин_дней] [-M макÑ_дней] [-d поÑл_день] юзер\n" + +#, fuzzy +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "ЗапуÑк: %s [-(a|d)] шелл\n" + +#~ msgid "Shell password: " +#~ msgstr "Пароль шелла: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "еще раз пароль шелла: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: Пароли не Ñовпадают, попробуйте Ñнова.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: не могу Ñоздать %s" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: не могу открыть %s" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: Шелл %s не найден.\n" + +#, fuzzy +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "группа=%s,%ld каталог=%s шаблоны=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "шелл=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "неактивный=%ld иÑтекает=%s" + +#~ msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#~ msgstr "запуÑк: %s\t[-u uid [-o]] [-g группа] [-G группа,...] \n" + +#~ msgid "%s: no aging information present\n" +#~ msgstr "%s: Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ времени дейÑÑ‚Ð²Ð¸Ñ Ð¾Ñ‚ÑутÑтвует\n" + +#~ msgid "group %s: bad GID (%d)\n" +#~ msgstr "группа %s: неверный GID (%d)\n" + +#~ msgid "uid=%d(%s)" +#~ msgstr "uid=%d(%s)" + +#~ msgid "uid=%d" +#~ msgstr "uid=%d" + +#~ msgid " gid=%d(%s)" +#~ msgstr " gid=%d(%s)" + +#~ msgid " gid=%d" +#~ msgstr " gid=%d" + +#~ msgid " euid=%d(%s)" +#~ msgstr " euid=%d(%s)" + +#~ msgid " euid=%d" +#~ msgstr " euid=%d" + +#~ msgid " egid=%d(%s)" +#~ msgstr " egid=%d(%s)" + +#~ msgid " egid=%d" +#~ msgstr " egid=%d" + +#~ msgid "unknown gid: %d\n" +#~ msgstr "неизвеÑтный gid: %d\n" + +#~ msgid "usage: %s [-f | -s] [name]\n" +#~ msgstr "запуÑк: %s [-f | -s] [имÑ]\n" + +#~ msgid "user %s: bad UID (%d)\n" +#~ msgstr "пользователь %s: неверный UID (%d)\n" + +#~ msgid "%s: permission denied (shell).\n" +#~ msgstr "%s: доÑтуп запрещен (шелл).\n" diff --git a/po/shadow.pot b/po/shadow.pot index 5b0ae118..0d255fa6 100644 --- a/po/shadow.pot +++ b/po/shadow.pot @@ -1,12 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2002-03-12 12:16+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-01-14 07:41+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,186 +16,159 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" msgstr "" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" msgstr "" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." msgstr "" -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." msgstr "" -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." msgstr "" -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" msgstr "" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" msgstr "" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" msgstr "" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" msgstr "" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" msgstr "" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" msgstr "" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" msgstr "" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" msgstr "" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" msgstr "" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" msgstr "" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" msgstr "" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" msgstr "" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" msgstr "" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" msgstr "" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." msgstr "" -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." msgstr "" -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." msgstr "" -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " msgstr "" -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" msgstr "" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" msgstr "" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" msgstr "" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" msgstr "" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" msgstr "" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" msgstr "" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" msgstr "" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" msgstr "" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "" - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" msgstr "" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " msgstr "" @@ -202,7 +177,7 @@ msgstr "" msgid "%s's Password: " msgstr "" -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "" @@ -211,460 +186,396 @@ msgstr "" msgid "Unknown error %d" msgstr "" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" - -#: src/chage.c:157 +#: src/chage.c:152 msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" msgstr "" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" msgstr "" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" msgstr "" -#: src/chage.c:183 +#: src/chage.c:177 msgid "Password Expiration Warning" msgstr "" -#: src/chage.c:189 +#: src/chage.c:183 msgid "Password Inactive" msgstr "" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" msgstr "" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" msgstr "" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" msgstr "" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" msgstr "" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" msgstr "" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" msgstr "" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" msgstr "" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" msgstr "" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" msgstr "" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" msgstr "" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" msgstr "" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, c-format msgid "%s: PAM authentication failed\n" msgstr "" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" msgstr "" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" msgstr "" -#: src/chage.c:571 +#: src/chage.c:536 #, c-format msgid "%s: can't lock shadow password file" msgstr "" -#: src/chage.c:579 +#: src/chage.c:544 #, c-format msgid "%s: can't open shadow password file" msgstr "" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" msgstr "" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" msgstr "" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" msgstr "" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" msgstr "" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" msgstr "" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" msgstr "" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" msgstr "" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, c-format msgid "%s: PAM chauthtok failed\n" msgstr "" -#: src/chfn.c:83 +#: 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 "" -#: src/chfn.c:88 +#: src/chfn.c:89 #, c-format msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n" msgstr "" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" msgstr "" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" msgstr "" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" msgstr "" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" msgstr "" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" msgstr "" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" msgstr "" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" msgstr "" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" msgstr "" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" msgstr "" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" msgstr "" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" msgstr "" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" msgstr "" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" msgstr "" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, c-format msgid "%s: cannot change user `%s' on NIS client.\n" msgstr "" -#: src/chfn.c:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, c-format msgid "%s: `%s' is the NIS master for this client.\n" msgstr "" -#: src/chfn.c:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" msgstr "" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" msgstr "" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" msgstr "" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" msgstr "" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" msgstr "" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" msgstr "" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" msgstr "" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" msgstr "" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" msgstr "" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" msgstr "" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" msgstr "" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" msgstr "" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" msgstr "" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" msgstr "" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 #, c-format -msgid "usage: %s [-e]\n" +msgid "Usage: %s [-e]\n" msgstr "" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "" + +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" msgstr "" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" msgstr "" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" msgstr "" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" msgstr "" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" msgstr "" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" msgstr "" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" msgstr "" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" msgstr "" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" msgstr "" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" msgstr "" -#: src/chsh.c:89 +#: src/chsh.c:90 msgid "Enter the new value, or press return for the default\n" msgstr "" -#: src/chsh.c:90 +#: src/chsh.c:91 msgid "Login Shell" msgstr "" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" msgstr "" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" msgstr "" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" msgstr "" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" msgstr "" -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "" - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "" - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "" - #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" msgstr "" @@ -681,7 +592,7 @@ msgstr "" #: src/faillog.c:77 #, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" msgstr "" #: src/faillog.c:131 src/lastlog.c:96 @@ -710,7 +621,7 @@ msgstr "" #: src/gpasswd.c:78 #, c-format -msgid "usage: %s [-r|-R] group\n" +msgid "Usage: %s [-r|-R] group\n" msgstr "" #: src/gpasswd.c:79 @@ -751,7 +662,7 @@ msgstr "" msgid "Who are you?\n" msgstr "" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" msgstr "" @@ -776,12 +687,6 @@ msgstr "" msgid "%s: Not a tty\n" msgstr "" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" @@ -791,7 +696,7 @@ msgstr "" msgid "New Password: " msgstr "" -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " msgstr "" @@ -854,135 +759,129 @@ msgstr "" msgid "%s: can't update DBM shadow files\n" msgstr "" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" msgstr "" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" msgstr "" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" msgstr "" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" msgstr "" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" msgstr "" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" msgstr "" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" msgstr "" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" msgstr "" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" msgstr "" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" msgstr "" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" msgstr "" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" msgstr "" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" msgstr "" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" msgstr "" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" msgstr "" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" msgstr "" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" +#: src/groupdel.c:88 +msgid "Usage: groupdel group\n" msgstr "" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" msgstr "" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" msgstr "" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" msgstr "" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" msgstr "" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" msgstr "" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" msgstr "" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" msgstr "" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" msgstr "" @@ -996,7 +895,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1023,26 +922,26 @@ msgstr "" msgid "Cannot close group file\n" msgstr "" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" +#: src/groupmod.c:104 +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" msgstr "" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, c-format msgid "%s: %s not found in /etc/group\n" msgstr "" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" msgstr "" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" msgstr "" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" msgstr "" @@ -1082,10 +981,6 @@ msgstr "" msgid "%s: cannot open file %s\n" msgstr "" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" msgstr "" @@ -1097,10 +992,6 @@ msgstr "" msgid "delete line `%s'? " msgstr "" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" msgstr "" @@ -1120,18 +1011,10 @@ msgstr "" msgid "delete member `%s'? " msgstr "" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" msgstr "" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" msgstr "" @@ -1200,59 +1083,46 @@ msgstr "" msgid "%s: can't remove shadow group %s\n" msgstr "" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" msgstr "" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" msgstr "" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" msgstr "" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" msgstr "" -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "" - #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" msgstr "" #: src/id.c:53 -msgid "usage: id [-a]\n" +msgid "Usage: id [-a]\n" msgstr "" #: src/id.c:55 -msgid "usage: id\n" +msgid "Usage: id\n" msgstr "" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" msgstr "" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 @@ -1263,93 +1133,93 @@ msgstr "" msgid "Username Port Latest\n" msgstr "" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" msgstr "" -#: src/login.c:185 +#: src/login.c:175 #, c-format -msgid "usage: %s [-p] [name]\n" +msgid "Usage: %s [-p] [name]\n" msgstr "" -#: src/login.c:188 +#: src/login.c:178 #, c-format msgid " %s [-p] [-h host] [-f name]\n" msgstr "" -#: src/login.c:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" msgstr "" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" msgstr "" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" msgstr "" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" msgstr "" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" "%s login: " msgstr "" -#: src/login.c:855 +#: src/login.c:814 msgid "login: " msgstr "" -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" msgstr "" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" msgstr "" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" msgstr "" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" msgstr "" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" msgstr "" @@ -1417,28 +1287,28 @@ msgid "Usage: %s [-vf] [-p|g] file\n" msgstr "" #: src/newgrp.c:61 -msgid "usage: newgrp [-] [group]\n" +msgid "Usage: newgrp [-] [group]\n" msgstr "" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" +msgid "Usage: sg group [[-c] command]\n" msgstr "" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" msgstr "" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" msgstr "" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" msgstr "" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" msgstr "" @@ -1447,191 +1317,161 @@ msgstr "" msgid "Usage: %s [input]\n" msgstr "" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" msgstr "" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" msgstr "" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" msgstr "" -#: src/newusers.c:480 +#: src/newusers.c:461 #, c-format msgid "%s: line %d: invalid line\n" msgstr "" -#: src/newusers.c:499 +#: src/newusers.c:480 #, c-format msgid "%s: line %d: can't create GID\n" msgstr "" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" msgstr "" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" msgstr "" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" msgstr "" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" msgstr "" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" msgstr "" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" msgstr "" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" msgstr "" -#: src/passwd.c:174 +#: src/passwd.c:155 #, c-format -msgid "usage: %s [-f|-s] [name]\n" +msgid "Usage: %s [-f|-s] [name]\n" msgstr "" -#: src/passwd.c:178 +#: src/passwd.c:159 #, c-format msgid " %s [-x max] [-n min] [-w warn] [-i inact] name\n" msgstr "" -#: src/passwd.c:180 +#: src/passwd.c:161 #, c-format msgid " %s {-l|-u|-d|-S|-e} name\n" msgstr "" -#: src/passwd.c:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " msgstr "" -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" msgstr "" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " msgstr "" -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" msgstr "" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" msgstr "" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" msgstr "" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" msgstr "" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" msgstr "" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" msgstr "" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" msgstr "" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" msgstr "" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" msgstr "" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" msgstr "" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" msgstr "" -#: src/passwd.c:1297 +#: src/passwd.c:1016 msgid "Password changed.\n" msgstr "" @@ -1645,18 +1485,10 @@ msgstr "" msgid "Usage: %s [-q] [-r] [-s] [passwd]\n" msgstr "" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" msgstr "" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" msgstr "" @@ -1666,9 +1498,6 @@ msgstr "" msgid "invalid user name '%s'\n" msgstr "" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" @@ -1679,34 +1508,19 @@ msgstr "" msgid "user %s: directory %s does not exist\n" msgstr "" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" msgstr "" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" msgstr "" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" msgstr "" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" msgstr "" @@ -1716,47 +1530,42 @@ msgstr "" msgid "user %s: last password change in the future\n" msgstr "" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: src/pwconv.c:85 src/pwunconv.c:79 #, c-format msgid "%s: can't lock passwd file\n" msgstr "" -#: src/pwconv.c:89 src/pwunconv.c:98 +#: src/pwconv.c:90 src/pwunconv.c:84 #, c-format msgid "%s: can't open passwd file\n" msgstr "" -#: src/pwconv.c:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" msgstr "" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" msgstr "" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" msgstr "" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" msgstr "" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "" - -#: src/pwunconv.c:160 +#: src/pwunconv.c:124 #, c-format msgid "%s: can't update entry for user %s\n" msgstr "" -#: src/pwunconv.c:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" msgstr "" @@ -1785,7 +1594,6 @@ msgstr "" msgid "You are not authorized to su %s\n" msgstr "" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" msgstr "" @@ -1797,571 +1605,501 @@ msgid "" "(Ignored)\n" msgstr "" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" msgstr "" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" msgstr "" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" msgstr "" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" msgstr "" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" msgstr "" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" msgstr "" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" msgstr "" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" msgstr "" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" msgstr "" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" msgstr "" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" msgstr "" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" msgstr "" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "" - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" msgstr "" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" msgstr "" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" msgstr "" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" msgstr "" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" msgstr "" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" msgstr "" -#: src/useradd.c:503 +#: src/useradd.c:467 #, c-format msgid "%s: cannot open new defaults file\n" msgstr "" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" msgstr "" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" msgstr "" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" msgstr "" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" msgstr "" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" msgstr "" -#: src/useradd.c:748 -msgid "[-A program] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" msgstr "" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr "" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" msgstr "" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" msgstr "" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" msgstr "" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" msgstr "" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" msgstr "" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" msgstr "" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" msgstr "" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" msgstr "" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" msgstr "" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" msgstr "" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" msgstr "" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" msgstr "" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" msgstr "" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" msgstr "" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" msgstr "" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" msgstr "" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" msgstr "" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" msgstr "" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" msgstr "" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" msgstr "" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" msgstr "" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" msgstr "" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" msgstr "" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" msgstr "" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" msgstr "" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" msgstr "" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, c-format msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" msgstr "" -#: src/userdel.c:129 +#: src/userdel.c:124 #, c-format -msgid "usage: %s [-r] name\n" +msgid "Usage: %s [-r] name\n" msgstr "" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" msgstr "" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" msgstr "" -#: src/userdel.c:219 +#: src/userdel.c:214 #, c-format msgid "%s: cannot remove dbm group entry\n" msgstr "" -#: src/userdel.c:308 -#, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "" - -#: src/userdel.c:392 -#, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "" - -#: src/userdel.c:408 +#: src/userdel.c:379 #, c-format msgid "%s: cannot open group file\n" msgstr "" -#: src/userdel.c:419 +#: src/userdel.c:390 #, c-format msgid "%s: cannot open shadow group file\n" msgstr "" -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "" - -#: src/userdel.c:479 +#: src/userdel.c:408 #, c-format msgid "%s: error deleting password entry\n" msgstr "" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" msgstr "" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" msgstr "" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" msgstr "" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" msgstr "" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" msgstr "" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " msgstr "" -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" msgstr "" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" msgstr "" -#: src/userdel.c:799 +#: src/userdel.c:756 #, c-format msgid "%s: %s not owned by %s, not removing\n" msgstr "" -#: src/userdel.c:818 +#: src/userdel.c:779 #, c-format msgid "%s: not removing directory %s (would remove home of user %s)\n" msgstr "" -#: src/userdel.c:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" msgstr "" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" msgstr "" -#: src/usermod.c:332 -msgid "[-A {DEFAULT|program},... ] " +#: src/usermod.c:313 +msgid "[-f inactive] [-e expire] " msgstr "" -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" msgstr "" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" msgstr "" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" msgstr "" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" msgstr "" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" msgstr "" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" msgstr "" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" msgstr "" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" msgstr "" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" msgstr "" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" msgstr "" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" msgstr "" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" msgstr "" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" msgstr "" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" msgstr "" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" msgstr "" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" msgstr "" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" msgstr "" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" msgstr "" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" msgstr "" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" msgstr "" -#: src/vipw.c:206 +#: src/vipw.c:200 #, c-format msgid "%s: can't restore %s: %s (your changes are in %s)\n" msgstr "" -#: src/vipw.c:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" diff --git a/stamp-h.in b/po/stamp-po similarity index 100% rename from stamp-h.in rename to po/stamp-po diff --git a/po/sv.gmo b/po/sv.gmo index d7d02afffd947e954991b9f5ac64a662b5a3ff28..8611fde1629eec4995cfee4cdfe10a430b55307f 100644 GIT binary patch literal 36932 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 HPiFsrNJE$V literal 38965 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 diff --git a/po/sv.po b/po/sv.po index a03e211d..8fda7cf6 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,711 +1,619 @@ # Swedish messages for Shadow Copyright (C) 1999 Free Software Foundation, -# Inc. Kristoffer Brånemyr , 1999. +# Inc. Kristoffer BrÃ¥nemyr , 1999. # msgid "" msgstr "" "Project-Id-Version: shadow 19990709\n" -"POT-Creation-Date: 2002-03-12 12:16+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-01-14 07:41+0100\n" "PO-Revision-Date: 1999-08-16 21:20+0100\n" -"Last-Translator: Kristoffer Brånemyr \n" +"Last-Translator: Kristoffer BrÃ¥nemyr \n" "Language-Team: sv \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: 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:71 +#: libmisc/addgrps.c:68 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:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "Ditt lösenord har upphört" +msgstr "Ditt lösenord har upphört" -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "Ditt lösenord är inaktivt" +msgstr "Ditt lösenord är inaktivt" -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "Din användare har upphört." +msgstr "Din användare har upphört." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " Kontakta systemoperatören.\n" +msgstr " Kontakta systemoperatören.\n" -#: libmisc/age.c:99 +#: 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:176 +#: libmisc/age.c:168 #, 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:178 +#: libmisc/age.c:172 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:180 +#: libmisc/age.c:174 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:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" msgstr "Kunde inte byta tty %s" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "Miljön överflödades\n" +msgstr "Miljön överflödades\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, 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:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" -msgstr "%d %s sedan förra inloggningen. Den sista var %s på %s.\n" +msgstr "%d %s sedan förra inloggningen. Den sista var %s pÃ¥ %s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" msgstr "felaktiga inloggningar" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" msgstr "felaktig inloggning" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" -msgstr "För många inloggningar.\n" +msgstr "För mÃ¥nga inloggningar.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "Lösenordet avkrypterar inte den hemliga nyckeln för %s.\n" +msgstr "Lösenordet avkrypterar inte den hemliga nyckeln för %s.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" msgstr "" -"Kunde inte sätta den hemliga nyckeln för %s: är keyserv demonen igång?\n" +"Kunde inte sätta den hemliga nyckeln för %s: är keyserv demonen igÃ¥ng?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." msgstr "Du har ny post." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." msgstr "Ingen post." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." msgstr "Du har post." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " -msgstr "Felaktigt lösenord: %s. " +msgstr "Felaktigt lösenord: %s. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" msgstr "passwd: pam_start() misslyckades, fel %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" msgstr "passwd: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" msgstr "Kunde inte byta aktuell katalog till \"%s\"\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" msgstr "Ingen hemkatalog, loggar in med HOME=/" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "Startar skal %s\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" msgstr "Kan inte starta %s" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" msgstr "Felaktig rotkatalog \"%s\"\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" msgstr "Kan inte byta rotkatalog till \"%s\"\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" msgstr "malloc(%d) misslyckades\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "Uppringningslösenord: " - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" -msgstr "Kunde inte allokera rum för konfigureringsinformation.\n" +msgstr "Kunde inte allokera rum för konfigureringsinformation.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "konfigurerings fel - okänt object \"%s\" (meddela systemoperatören)\n" +msgstr "konfigurerings fel - okänt object \"%s\" (meddela systemoperatören)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "fel - kunde inte hitta \"%s\"\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s hittades inte\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " -msgstr "Lösenord: " +msgstr "Lösenord: " #: lib/pwauth.c:56 #, c-format msgid "%s's Password: " -msgstr "Lösenord för %s: " +msgstr "Lösenord för %s: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "" #: lib/strerror.c:20 #, c-format msgid "Unknown error %d" -msgstr "Okänt fel %d" +msgstr "Okänt fel %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"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" +"Användning: chage [-l] [-m min_dagar] [-M max_dagar] [-W varna]\n" +" [-I inaktiv] [-E utgÃ¥ng] [-d senaste_dag] användare\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" -"Användning: %s [-l] [-m min_dagar] [-M max_dagar] [-d senaste_dag] " -"användare\n" - -#: src/chage.c:157 +#: src/chage.c:152 #, fuzzy msgid "" "Enter the new value, or press ENTER for the default\n" "\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:160 +#: src/chage.c:155 msgid "Minimum Password Age" -msgstr "Minsta lösenordsålder" +msgstr "Minsta lösenordsÃ¥lder" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" -msgstr "Högsta lösenordsålder" +msgstr "Högsta lösenordsÃ¥lder" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "Senaste lösenordsändring (ÅÅÅÅ-MM-DD)" +msgstr "Senaste lösenordsändring (Ã…Ã…Ã…Ã…-MM-DD)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "Lösenords upphörningsvarning" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "Lösenords upphörningsvarning" - -#: src/chage.c:189 msgid "Password Inactive" -msgstr "Lösenord inaktivt" +msgstr "Lösenord inaktivt" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "Kontot upphör (ÅÅÅÅ-MM-DD)" +msgstr "Kontot upphör (Ã…Ã…Ã…Ã…-MM-DD)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" msgstr "Minst:\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" -msgstr "Högst:\t%ld\n" +msgstr "Högst:\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" msgstr "Varning:\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" msgstr "Inaktivt:\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" -msgstr "Senaste ändring:\t\t" +msgstr "Senaste ändring:\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" msgstr "Aldrig\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "Lösenordet upphör:\t" +msgstr "Lösenordet upphör:\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "Lösenord inaktiv:\t" +msgstr "Lösenord inaktiv:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "Lösenordet upphör:\t" +msgstr "Lösenordet upphör:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" msgstr "%s: inkludera inte \"l\" tillsammands med andra flaggor\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s: tillåtelse nekas\n" +msgstr "%s: tillÃ¥telse nekas\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, fuzzy, c-format msgid "%s: PAM authentication failed\n" -msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n" +msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n" -#: src/chage.c:533 src/chpasswd.c:157 -#, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: kan inte låsa lösenordsfilen\n" - -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, 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:552 +#: src/chage.c:518 #, 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:571 +#: src/chage.c:536 #, 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:579 +#: src/chage.c:544 #, 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:674 +#: src/chage.c:605 #, 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:677 +#: src/chage.c:608 #, 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:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, 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:737 src/pwunconv.c:168 +#: src/chage.c:661 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:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" -msgstr "Fel under uppdatering av DBM-lösenordsnoteringen.\n" +msgstr "Fel under uppdatering av DBM-lösenordsnoteringen.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, 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:838 +#: src/chage.c:707 #, 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:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" -msgstr "%s: kan inte låsa upp filen\n" +msgstr "%s: kan inte lÃ¥sa upp filen\n" -#: src/chfn.c:83 +#: 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 "" "%s [-f hela_namnet] [-r rumsnummer] [-w arbetstele]\n" -"\t[-h hemtele] [-o övrigt] [användare]\n" +"\t[-h hemtele] [-o övrigt] [användare]\n" -#: src/chfn.c:88 +#: 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:139 +#: src/chfn.c:140 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/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" msgstr "Hela namnet" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" msgstr "\tHela namnet: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" msgstr "Rumsnummer" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" msgstr "\tRumsnummer: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" msgstr "Arbetstelefonnummer" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" msgstr "\tArbetstelefonnummer: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" msgstr "Hemtelefonnummer" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" msgstr "\tHemtelefonnummer: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" -msgstr "Övrigt" +msgstr "Övrigt" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "%s: Tillåtelse nekas.\n" +msgstr "%s: TillÃ¥telse nekas.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, 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/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, 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:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, 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:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, 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:441 +#: src/chfn.c:442 #, 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:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" msgstr "%s: felaktigt namn: \"%s\"\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" msgstr "%s: felaktigt rumsnummer: \"%s\"\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" msgstr "%s: felaktigt arbetstelefonnummer: \"%s\"\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" msgstr "%s: felaktigt hemtelefonnummer: \"%s\"\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, 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:488 +#: src/chfn.c:489 #, 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:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 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:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 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:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "Kan inte öppna lösenordsfilen.\n" +msgstr "Kan inte öppna lösenordsfilen.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" msgstr "%s: %s hittades inte i /etc/passwd\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 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:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 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:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 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:66 +#: src/chpasswd.c:67 #, c-format -msgid "usage: %s [-e]\n" -msgstr "Användning: %s [-e]\n" +msgid "Usage: %s [-e]\n" +msgstr "Användning: %s [-e]\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:154 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: kan inte lÃ¥sa lösenordsfilen\n" + +#: src/chpasswd.c:168 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:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 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:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, 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:220 +#: src/chpasswd.c:217 #, 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:237 +#: src/chpasswd.c:234 #, 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:290 +#: src/chpasswd.c:280 #, 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:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, 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:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" msgstr "%s: fel under uppdatering av skuggfilen\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, 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:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "Användning: %s [-s skal] [namn]\n" - -#: src/chsh.c:89 -msgid "Enter the new value, or press return for the default\n" -msgstr "Skriv in det nya värdet, eller tryck på ENTER för standardvärdet\n" +msgstr "Användning: %s [-s skal] [namn]\n" #: src/chsh.c:90 +msgid "Enter the new value, or press return for the default\n" +msgstr "Skriv in det nya värdet, eller tryck pÃ¥ ENTER för standardvärdet\n" + +#: src/chsh.c:91 msgid "Login Shell" msgstr "Inloggningsskal" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:234 src/chsh.c:248 #, 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:282 +#: src/chsh.c:277 #, 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:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" msgstr "%s: Felaktig notering: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "%s är ett felaktigt skal.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "Användning: %s [-(a|d)] skal\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "Skallösenord: " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "skriv in skallösenordet igen: " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s: Lösenorden matchar inte varandra, försök igen.\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: kan inte skapa %s" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s: kan inte öppna %s" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s: Hittade inte skalet %s.\n" +msgstr "%s är ett felaktigt skal.\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "Användning: expiry {-f|-c}\n" +msgstr "Användning: expiry {-f|-c}\n" #: src/expiry.c:113 #, 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:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s: okänd användare\n" +msgstr "%s: okänd användare\n" #: src/faillog.c:77 #, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" msgstr "" -"Användning: %s [-a|-u användare] [-m högst] [-r] [-t dagar] [-l låssek]\n" +"Användning: %s [-a|-u användare] [-m högst] [-r] [-t dagar] [-l lÃ¥ssek]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format msgid "Unknown User: %s\n" -msgstr "Okänd användare: %s\n" +msgstr "Okänd användare: %s\n" #: src/faillog.c:212 msgid "Username Failures Maximum Latest\n" -msgstr "Användarnamn Felaktiga inloggningar Högsta Senaste\n" +msgstr "Användarnamn Felaktiga inloggningar Högsta Senaste\n" #: src/faillog.c:229 #, c-format msgid " %s on %s" -msgstr " %s på %s" +msgstr " %s pÃ¥ %s" #: src/faillog.c:233 #, c-format @@ -715,118 +623,112 @@ msgstr " [%lds kvar]" #: src/faillog.c:237 #, c-format msgid " [%lds lock]" -msgstr " [%lds låsning]" +msgstr " [%lds lÃ¥sning]" #: src/gpasswd.c:78 #, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "Användning: %s [-r|-R] grupp\n" +msgid "Usage: %s [-r|-R] group\n" +msgstr "Användning: %s [-r|-R] grupp\n" #: src/gpasswd.c:79 #, 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:80 #, 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:83 #, 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:85 #, 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:146 src/gpasswd.c:230 #, 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/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "Tillåtelse nekas.\n" +msgstr "TillÃ¥telse nekas.\n" #: src/gpasswd.c:243 #, 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:294 msgid "Who are you?\n" -msgstr "Vem är du?\n" +msgstr "Vem är du?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "okänd grupp: %s\n" +msgstr "okänd grupp: %s\n" #: src/gpasswd.c:422 #, 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:440 #, 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:454 #, 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:501 #, c-format msgid "%s: Not a tty\n" msgstr "%s: Inte en tty\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, 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:525 msgid "New Password: " -msgstr "Nytt lösenord: " +msgstr "Nytt lösenord: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "Skriv in det nya lösenordet igen: " +msgstr "Skriv in det nya lösenordet igen: " #: src/gpasswd.c:542 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:546 #, 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:578 #, 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:584 #, 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:590 #, 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:602 #, c-format @@ -851,7 +753,7 @@ msgstr "%s: kan inte skriva om skuggfilen\n" #: src/gpasswd.c:630 #, 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/gpasswd.c:635 #, c-format @@ -863,138 +765,132 @@ msgstr "%s: kan inte uppdatera DBM-filer\n" msgid "%s: can't update DBM shadow files\n" msgstr "%s: kan inte uppdatera DBM-skuggfiler\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "Användning: groupadd [-g gid [-o]] grupp\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "Användning: groupadd [-g gid [-o]] [-f] grupp\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, 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:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s: kan inte lägga till en ny dbm-gruppnotering\n" +msgstr "%s: kan inte lägga till en ny dbm-gruppnotering\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, 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:270 +#: src/groupadd.c:271 #, 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:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" msgstr "%s: kan inte hitta ett unikt gid\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a 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:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" msgstr "%s: ogiltig grupp %s\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, 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:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" msgstr "%s: kan inte skriva om gruppfilen\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" msgstr "%s: kan inte skriva om skuggruppfilen\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, 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:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, 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:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, 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:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, 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:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" msgstr "%s: grupp %s existerar\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "Användning: groupdel grupp\n" +#: src/groupdel.c:88 +msgid "Usage: groupdel group\n" +msgstr "Användning: groupdel grupp\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" msgstr "%s: fel under borttagning av gruppnotering\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" msgstr "%s: fel under borttagning av dbm-gruppnotering\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" msgstr "%s: fel under borttagning av skuggruppnotering\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" msgstr "%s: fel under borttagning av dbm-skuggruppnotering\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, 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:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" msgstr "%s: grupp %s existerar inte\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, 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:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, 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/groupmems.c:95 msgid "Member already exists\n" @@ -1005,7 +901,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1022,54 +918,54 @@ msgstr "" #: src/groupmems.c:215 msgid "Unable to lock group file\n" -msgstr "Kan inte låsa gruppfilen\n" +msgstr "Kan inte lÃ¥sa gruppfilen\n" #: src/groupmems.c:220 msgid "Unable to open group file\n" -msgstr "Kan inte öppna gruppfilen\n" +msgstr "Kan inte öppna gruppfilen\n" #: src/groupmems.c:240 msgid "Cannot close group file\n" -msgstr "Kan inte öppna gruppfilen\n" +msgstr "Kan inte öppna gruppfilen\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "Användning: groupmod [-g gid [-o]] [-n namn] grupp\n" +#: src/groupmod.c:104 +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "Användning: groupmod [-g gid [-o]] [-n namn] grupp\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, c-format msgid "%s: %s not found in /etc/group\n" msgstr "%s: %s hittades inte i /etc/group\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s: kunde inte lägga till en ny dbm-skuggruppnotering\n" +msgstr "%s: kunde inte lägga till en ny dbm-skuggruppnotering\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, 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:330 +#: src/groupmod.c:331 #, 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/groups.c:59 #, c-format msgid "unknown user %s\n" -msgstr "okänd användare %s\n" +msgstr "okänd användare %s\n" #: src/grpck.c:87 #, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" -msgstr "Användning: %s [-s] [-r] [grupp [gshadow]]\n" +msgstr "Användning: %s [-s] [-r] [grupp [gshadow]]\n" #: src/grpck.c:90 #, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "Användning: %s [-s] [-r] [grupp]\n" +msgstr "Användning: %s [-s] [-r] [grupp]\n" #: src/grpck.c:108 src/pwck.c:108 msgid "No" @@ -1083,18 +979,14 @@ msgstr "" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, 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:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, 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" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" msgstr "felaktig gruppfilsnotering\n" @@ -1106,10 +998,6 @@ msgstr "felaktig gruppfilsnotering\n" msgid "delete line `%s'? " msgstr "ta bort rad \"%s\"? " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" msgstr "dubblett av gruppnotering\n" @@ -1122,25 +1010,17 @@ msgstr "ogiltigt gruppnamn \"%s\"\n" #: src/grpck.c:418 #, 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:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " msgstr "ta bort medlem \"%s\"? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" msgstr "felaktig skuggruppfilsnotering\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" msgstr "dubblett av skuggruppfilsnotering\n" @@ -1152,7 +1032,7 @@ msgstr "inga matchande gruppfilsnoteringar\n" #: src/grpck.c:558 #, 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:560 #, c-format @@ -1162,7 +1042,7 @@ msgstr "ta bort administrativa medlemmen \"%s\"? " #: src/grpck.c:588 #, 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:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format @@ -1172,227 +1052,214 @@ msgstr "%s: kan inte uppdatera filen %s\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s: filerna är uppdaterade; kör mkpasswd\n" +msgstr "%s: filerna är uppdaterade; kör mkpasswd\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format msgid "%s: no changes\n" -msgstr "%s: inga ändringar\n" +msgstr "%s: inga ändringar\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format msgid "%s: the files have been updated\n" -msgstr "%s: filerna är uppdaterade\n" +msgstr "%s: filerna är uppdaterade\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:76 src/grpunconv.c:72 #, 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:94 #, c-format msgid "%s: can't remove shadow group %s\n" msgstr "%s: kan inte ta bort skuggruppen %s\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, 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:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, 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:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" msgstr "%s: kan inte uppdatera skuggruppfilen\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" msgstr "%s: kan inte uppdatera gruppfilen\n" -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: inte konfigurerad med stöd för skuggrupper.\n" - #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" msgstr "%s: kan inte ta bort skuggruppfilen\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "Användning: id [-a]\n" +msgid "Usage: id [-a]\n" +msgstr "Användning: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "Användning: id\n" +msgid "Usage: id\n" +msgstr "Användning: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" msgstr " grupper=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 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:183 msgid "Username Port Latest\n" -msgstr "Användarnamn Port Senaste\n" +msgstr "Användarnamn Port Senaste\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" msgstr "**Aldrig inloggad**" -#: src/login.c:185 +#: src/login.c:175 #, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "Användning: %s [-p] [namn]\n" +msgid "Usage: %s [-p] [name]\n" +msgstr "Användning: %s [-p] [namn]\n" -#: src/login.c:188 +#: src/login.c:178 #, 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:190 +#: src/login.c:180 #, 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:274 +#: src/login.c:259 msgid "Invalid login time\n" msgstr "Felaktig inloggningstid\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "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:340 +#: src/login.c:325 msgid "" "\n" "[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:377 +#: src/login.c:362 #, c-format msgid "" "\n" "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:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" -msgstr " på \"%.100s\" från \"%.200s\"" +msgstr " pÃ¥ \"%.100s\" frÃ¥n \"%.200s\"" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" -msgstr " på \"%.100s\"" +msgstr " pÃ¥ \"%.100s\"" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" "%s login: " msgstr "" "\n" -"%s användare: " +"%s användare: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " -msgstr "användare: " +msgstr "användare: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" msgstr "Felaktig inloggning" -#: src/login.c:1265 +#: src/login.c:1193 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:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" -msgstr "Senaste inloggning: %s på %s" +msgstr "Senaste inloggning: %s pÃ¥ %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" -msgstr "Senaste inloggning: %.19s på %s" +msgstr "Senaste inloggning: %.19s pÃ¥ %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" -msgstr " från %.*s" +msgstr " frÃ¥n %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" msgstr "Startar rad_login\n" #: 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:232 src/mkpasswd.c:237 #, 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:252 #, 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:287 #, c-format msgid "%s: the beginning with " -msgstr "%s: början med " +msgstr "%s: början med " #: src/mkpasswd.c:288 msgid " is too long\n" -msgstr " för långa fält\n" +msgstr " för lÃ¥nga fält\n" #: src/mkpasswd.c:315 #, c-format @@ -1401,7 +1268,7 @@ msgstr "%s: fel under analysering av rad \"%s\"\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " -msgstr "lägger till notering för namn " +msgstr "lägger till notering för namn " #: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 #: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 @@ -1411,385 +1278,324 @@ msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 #, c-format msgid "%s: error adding record for " -msgstr "%s: fel under tillägg av notering för " +msgstr "%s: fel under tillägg av notering för " #: src/mkpasswd.c:378 #, 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:392 #, 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:395 #, 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:398 #, 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 -msgid "usage: newgrp [-] [group]\n" -msgstr "Användning: newgrp [-] [grupp]\n" +msgid "Usage: newgrp [-] [group]\n" +msgstr "Användning: newgrp [-] [grupp]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" -msgstr "Användning: sg grupp [[-c] kommando]\n" +msgid "Usage: sg group [[-c] command]\n" +msgstr "Användning: sg grupp [[-c] kommando]\n" -#: src/newgrp.c:136 +#: 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:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" -msgstr "okänt gid: %lu\n" +msgstr "okänt gid: %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" -msgstr "Tyvärr.\n" +msgstr "Tyvärr.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 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:407 +#: src/newusers.c:388 #, 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:419 +#: src/newusers.c:400 #, 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:435 +#: src/newusers.c:416 #, 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:480 +#: src/newusers.c:461 #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: rad %d: ogiltig rad\n" -#: src/newusers.c:499 +#: src/newusers.c:480 #, c-format msgid "%s: line %d: can't create GID\n" msgstr "%s: rad %d: kan inte skapa GID\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" msgstr "%s: rad %d: kan inte skapa UID\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, 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:537 +#: src/newusers.c:518 #, 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:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" msgstr "%s: rad %d: mkdir misslyckades\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" msgstr "%s: rad %d: chown misslyckades\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" msgstr "%s: rad %d: kan inte uppdatera notering\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" msgstr "%s: kunde inte uppdatera filerna\n" -#: src/passwd.c:174 +#: src/passwd.c:155 #, c-format -msgid "usage: %s [-f|-s] [name]\n" -msgstr "Användning: %s [-f|-s] [namn]\n" +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "Användning: %s [-f|-s] [namn]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, 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:180 +#: src/passwd.c:161 #, c-format msgid " %s {-l|-u|-d|-S|-e} name\n" msgstr " %s {-l|-u|-d|-S|-e} namn\n" -#: src/passwd.c:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "Användare %s har en TCFS-nyckel, hans förra lösenord krävs.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "Du kan använda flaggan -t för att påtvinga ändringen.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "Förra lösenordet: " +msgstr "Förra lösenordet: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, 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:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "Varning: användare %s har en TCFS-nyckel.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -"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:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "Nytt lösenord: " +msgstr "Nytt lösenord: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" -msgstr "Försök igen.\n" +msgstr "Försök igen.\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "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:371 +#: src/passwd.c:287 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:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, 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:494 +#: src/passwd.c:396 #, 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:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s: slut på minne\n" +msgstr "%s: slut pÃ¥ minne\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "Kan inte låsa TCFS-nyckeldatabasen; försök igen senare\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "Kan inte öppna TCFS-nyckeldatabasen.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "Fel under uppdatering av TCFS-nyckeldatabasen.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "Kan inte utföra TCFS ändringar.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" msgstr "%s: Kan inte starta %s" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, 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:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s: Tillåtelse nekas\n" +msgstr "%s: TillÃ¥telse nekas\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "Du får inte ändra lösenordet för %s.\n" +msgstr "Du fÃ¥r inte ändra lösenordet för %s.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, 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:1246 +#: src/passwd.c:966 #, 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:1297 +#: src/passwd.c:1016 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" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "felaktig notering i lösenordsfilen\n" +msgstr "felaktig notering i lösenordsfilen\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "dubblett av lösenords notering\n" +msgstr "dubblett av lösenords notering\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "ogiltigt användarnamn '%s'\n" +msgstr "ogiltigt användarnamn '%s'\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, 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:404 #, 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" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, 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" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "felaktig notering i skugglösenordsfilen\n" +msgstr "felaktig notering i skugglösenordsfilen\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "dubblett av notering i skugglösenordsfilen\n" +msgstr "dubblett av notering i skugglösenordsfilen\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 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:560 #, 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:84 src/pwunconv.c:93 +#: 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:89 src/pwunconv.c:98 +#: 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:117 +#: 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 +#: src/pwconv.c:164 #, 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 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" msgstr "%s: kan inte uppdatera skuggfilen\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, 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:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s: Shadowlösenord är inte konfigurerade.\n" - -#: src/pwunconv.c:160 +#: 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:181 +#: src/pwunconv.c:145 #, 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:133 msgid "Sorry." -msgstr "Tyvärr." +msgstr "Tyvärr." #: src/su.c:216 #, 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:306 #, c-format @@ -1799,17 +1605,16 @@ msgstr "%s: pam_start: fel %d\n" #: src/su.c:336 #, c-format msgid "Unknown id: %s\n" -msgstr "Okänt id: %s\n" +msgstr "Okänt id: %s\n" #: src/su.c:373 src/su.c:390 #, 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" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" -msgstr "(Skriv in ditt eget lösenord.)" +msgstr "(Skriv in ditt eget lösenord.)" #: src/su.c:419 #, c-format @@ -1820,606 +1625,649 @@ msgstr "" "%s: %s\n" "(Ignorerad)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" msgstr "Inget skal\n" -#: src/suauth.c:100 +#: src/suauth.c:105 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:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "Hoppade över lösenordskontroll.\n" +msgstr "Hoppade över lösenordskontroll.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 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" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" -msgstr "Ingen lösenordsfil\n" +msgstr "Ingen lösenordsfil\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 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:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(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):" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 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:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" msgstr "%s: bygg om gruppdatabasen\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" msgstr "%s: bygg om skuggruppdatabasen\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" msgstr "%s: ogiltigt numeriskt argument \"%s\"\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, 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:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, 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:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "grupp=%s,%u baskatalog=%s skel=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "skal=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "inaktiv=%ld upphör=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" msgstr "GRUPP=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" msgstr "HEM=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" msgstr "INAKTIV=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" -msgstr "UPPHÖR=%s\n" +msgstr "UPPHÖR=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" msgstr "SKAL=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "SKEL=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" msgstr "%s: kan inte skapa en ny standardfil\n" -#: src/useradd.c:503 -#, fuzzy, c-format +#: src/useradd.c:467 +#, c-format msgid "%s: cannot open new defaults file\n" msgstr "%s: kan inte skapa en ny standardfil\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" msgstr "%s: rename: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, 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:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, 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:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "Användning: %s [-u uid [-o]] [-g grupp] [-G grupp,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Användning: useradd [-u uid [-o]] [-g grupp] [-G grupp,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t [-d hem] [-s skal] [-c kommentar] [-m [-k mall]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr " [-d hem] [-s skal] [-c kommentar] [-m [-k mall]]\n" -#: src/useradd.c:745 src/usermod.c:329 -#, fuzzy -msgid "[-f inactive] [-e expire ] " -msgstr " [-f inaktiv] [-e upphör] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f inaktiv] [-e upphör]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A program] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g grupp] [-b bas] [-s skal]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p passwd] namn\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s -D [-g grupp] [-b bas] [-s skal]\n" - -#: src/useradd.c:756 -#, fuzzy -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t [-f inaktiv] [-e utgång]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, 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:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, 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:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, 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:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, 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:1039 +#: src/useradd.c:982 #, 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:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" msgstr "%s: kan inte hitta ett unikt uid\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s: felaktigt fält \"%s\"\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" msgstr "%s: felaktig baskatalog \"%s\"\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" msgstr "%s: felaktig kommentar \"%s\"\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" msgstr "%s: felaktig hemkatalog \"%s\"\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" msgstr "%s: felaktigt datum \"%s\"\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, 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:1258 +#: src/useradd.c:1118 #, 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:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: felaktigt fält \"%s\"\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" msgstr "%s: felaktigt skal \"%s\"\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, 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:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, 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:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, 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:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, 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:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, 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:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, 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:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, 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:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, 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:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" -msgstr "%s: fel under uppdatering av dbm-lösenordsnotering\n" +msgstr "%s: fel under uppdatering av dbm-lösenordsnotering\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, 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:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" -msgstr "%s: fel under uppdatering av dbm-skugglösenordsnotering\n" +msgstr "%s: fel under uppdatering av dbm-skugglösenordsnotering\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" msgstr "%s: kan inte skapa katalog %s\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, 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:1821 +#: src/useradd.c:1649 #, c-format msgid "" "%s: group %s exists - if you want to add this user to that group, use -g.\n" msgstr "" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, 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:129 +#: src/userdel.c:124 #, c-format -msgid "usage: %s [-r] name\n" -msgstr "Användning: %s [-r] namn\n" +msgid "Usage: %s [-r] name\n" +msgstr "Användning: %s [-r] namn\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" msgstr "%s: fel under uppdatering av gruppnotering\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" msgstr "%s: kan inte uppdatera dbm-gruppnotering\n" -#: src/userdel.c:219 -#, fuzzy, c-format +#: src/userdel.c:214 +#, c-format msgid "%s: cannot remove dbm group entry\n" msgstr "%s: kan inte uppdatera dbm-gruppnotering\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: kan inte skriva om TCFS-nyckelfilen\n" +msgid "%s: cannot open group file\n" +msgstr "%s: kan inte öppna gruppfilen\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: kan inte låsa TCFS-nyckelfilen\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: kan inte öppna TCFS-nyckelfilen\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: kan inte öppna skuggruppfilen\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: kan inte öppna gruppfilen\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: kan inte öppna skuggruppfilen\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n" - -#: src/userdel.c:479 -#, 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:485 +#: src/userdel.c:412 #, 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:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: fel under borttagning av TCFS-notering\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n" +msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n" +msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, 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:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s: varning: %s ägs inte av %s, tar inte bort\n" +msgstr "%s: varning: %s ägs inte av %s, tar inte bort\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " msgstr "%s: varning: kan inte ta bort " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, 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:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, 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:799 +#: src/userdel.c:756 #, 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:818 +#: src/userdel.c:779 #, 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:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" msgstr "%s: fel under borttagning av katalogen %s\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, 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" + +#: src/usermod.c:310 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:332 +#: src/usermod.c:313 #, fuzzy -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DEFAULT|program},...] " +msgid "[-f inactive] [-e expire] " +msgstr " [-f inaktiv] [-e upphör] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" msgstr "[-p passwd] [-L|-U] namn\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, 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:641 +#: src/usermod.c:622 #, 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:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" msgstr "%s: inga flaggor givna\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, 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:1239 +#: src/usermod.c:987 #, 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:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: fel under ändring av metod för äkthetsbevisning\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, 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:1442 +#: src/usermod.c:1122 #, 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:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" -msgstr "%s: fel under tilläggning av dbm-lösenordsnotering\n" +msgstr "%s: fel under tilläggning av dbm-lösenordsnotering\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n" +msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, 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:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" -msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n" +msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" msgstr "%s: katalogen %s existerar\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" msgstr "%s: kan inte skapa %s\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, 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:1556 +#: src/usermod.c:1236 #, 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" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, 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:1659 +#: src/usermod.c:1339 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:1667 +#: src/usermod.c:1347 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 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s: %s är oförändrad\n" +"%s: %s är oförändrad\n" -#: src/vipw.c:132 +#: src/vipw.c:133 msgid "Couldn't lock file" -msgstr "Kunde inte låsa filen" +msgstr "Kunde inte lÃ¥sa filen" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" -msgstr "Kunde inte göra en backup" +msgstr "Kunde inte göra en backup" -#: src/vipw.c:206 +#: src/vipw.c:200 #, 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:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" "`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n" msgstr "" -"Användning:\n" +"Användning:\n" "\"vipw\" editerar /etc/passwd \"vipw -w\" editerar /etc/shadow\n" "\"vipg\" editerar /etc/group \"vipg -w\" editerar /etc/gshadow\n" -#~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s: gid %ld är inte unikt\n" +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: kan inte uppdatera noteringen för användaren %s\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "Användare %s har en TCFS-nyckel, hans förra lösenord krävs.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "Du kan använda flaggan -t för att pÃ¥tvinga ändringen.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "Varning: användare %s har en TCFS-nyckel.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "Kan inte lÃ¥sa TCFS-nyckeldatabasen; försök igen senare\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Kan inte öppna TCFS-nyckeldatabasen.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Fel under uppdatering av TCFS-nyckeldatabasen.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Kan inte utföra TCFS ändringar.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: kan inte skriva om TCFS-nyckelfilen\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: kan inte lÃ¥sa TCFS-nyckelfilen\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: kan inte öppna TCFS-nyckelfilen\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: fel under borttagning av TCFS-notering\n" + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n" #, fuzzy +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|program},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: fel under ändring av metod för äkthetsbevisning\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A program] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p passwd] namn\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "fel - kunde inte hitta \"%s\"\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s hittades inte\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: inte konfigurerad med stöd för skuggrupper.\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: Shadowlösenord är inte konfigurerade.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "Användning: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "Startar skal %s\n" + +#~ msgid "Dialup Password: " +#~ msgstr "Uppringningslösenord: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "" +#~ "Användning: %s [-l] [-m min_dagar] [-M max_dagar] [-d senaste_dag] " +#~ "användare\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "Användning: %s [-(a|d)] skal\n" + +#~ msgid "Shell password: " +#~ msgstr "Skallösenord: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "skriv in skallösenordet igen: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: Lösenorden matchar inte varandra, försök igen.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: kan inte skapa %s" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: kan inte öppna %s" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: Hittade inte skalet %s.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "grupp=%s,%u baskatalog=%s skel=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "skal=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "inaktiv=%ld upphör=%s" + +#~ msgid "%s: gid %ld is not unique\n" +#~ msgstr "%s: gid %ld är inte unikt\n" + #~ msgid "unknown gid: %u\n" -#~ msgstr "okänt gid: %d\n" +#~ msgstr "okänt gid: %d\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s: uid %d är inte unikt\n" +#~ msgstr "%s: uid %d är inte unikt\n" #~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "användare %s: felaktigt UID (%d)\n" +#~ msgstr "användare %s: felaktigt UID (%d)\n" #~ msgid "%s: no aging information present\n" -#~ msgstr "%s: ingen åldringsinformation finns tillgänglig\n" +#~ msgstr "%s: ingen Ã¥ldringsinformation finns tillgänglig\n" #~ msgid "group %s: bad GID (%d)\n" #~ msgstr "grupp %s: felaktigt GID (%d)\n" #~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s: tillåtelse nekas (skal).\n" +#~ msgstr "%s: tillÃ¥telse nekas (skal).\n" diff --git a/po/uk.gmo b/po/uk.gmo index abb3a627cad3cb4d109ba9857efde99a65b3fe18..f556a7f886fc13e81daf2d1489e54a149908d080 100644 GIT binary patch literal 44839 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 literal 39432 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\n" "Language-Team: Roman Festchook \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=koi8-u\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: libmisc/addgrps.c:60 +#: libmisc/addgrps.c:56 #, c-format msgid "Warning: unknown group %s\n" -msgstr "úÁÓÔÅÒÅÖÅÎÎÑ: ÎÅצÄÏÍÁ ÇÒÕÐÁ %s\n" +msgstr "ЗаÑтереженнÑ: невідома група %s\n" -#: libmisc/addgrps.c:71 +#: libmisc/addgrps.c:68 msgid "Warning: too many groups\n" -msgstr "úÁÓÔÅÒÅÖÅÎÎÑ: ÚÁÎÁÄÔÏ ÂÁÇÁÔÏ ÇÒÕÐ\n" +msgstr "ЗаÑтереженнÑ: занадто багато груп\n" -#: libmisc/age.c:77 +#: libmisc/age.c:72 msgid "Your password has expired." -msgstr "÷ÁÛ ÐÁÒÏÌØ ÐÒÏÓÔÒÏÞÅÎÏ." +msgstr "Ваш пароль проÑтрочено." -#: libmisc/age.c:80 +#: libmisc/age.c:75 msgid "Your password is inactive." -msgstr "÷ÁÛ ÐÁÒÏÌØ ¤ ÎÅÁËÔÉ×ÎÉÍ." +msgstr "Ваш пароль Ñ” неактивним." -#: libmisc/age.c:83 +#: libmisc/age.c:78 msgid "Your login has expired." -msgstr "÷ÁÛ ÌÏǦΠÐÒÏÓÔÒÏÞÅÎÏ." +msgstr "Ваш логін проÑтрочено." -#: libmisc/age.c:96 +#: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " ú'×ÑÖ¦ÔØÓÑ Ú ÓÉÓÔÅÍÎÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ.\n" +msgstr " З'вÑжітьÑÑ Ð· ÑиÑтемним адмініÑтратором.\n" -#: libmisc/age.c:99 +#: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " ÷ÉÂÅÒ¦ÔØ ÎÏ×ÉÊ ÐÁÒÏÌØ.\n" +msgstr " Виберіть новий пароль.\n" -#: libmisc/age.c:176 +#: libmisc/age.c:168 #, c-format msgid "Your password will expire in %ld days.\n" -msgstr "÷ÁÛ ÐÁÒÏÌØ ÂÕÄÅ ÐÒÏÓÔÏÒÏÞÅÎÏ ÚÁ %ld ÄΦ×.\n" +msgstr "Ваш пароль буде проÑторочено за %ld днів.\n" -#: libmisc/age.c:178 +#: libmisc/age.c:172 msgid "Your password will expire tomorrow.\n" -msgstr "÷ÁÛ ÐÁÒÏÌØ ÂÕÄÅ ÐÒÏÓÔÒÏÞÅÎÏ ÚÁ×ÔÒÁ.\n" +msgstr "Ваш пароль буде проÑтрочено завтра.\n" -#: libmisc/age.c:180 +#: libmisc/age.c:174 msgid "Your password will expire today.\n" -msgstr "÷ÁÛ ÐÁÒÏÌØ ÂÕÄÅ ÐÒÏÓÔÒÏÞÅÎÏ ÓØÏÇÏÄΦ.\n" +msgstr "Ваш пароль буде проÑтрочено Ñьогодні.\n" -#: libmisc/chowntty.c:113 +#: libmisc/chowntty.c:106 #, c-format msgid "Unable to change tty %s" -msgstr "îÅ ÍÏÖÕ ÚͦÎÉÔÉ tty %s" +msgstr "Ðе можу змінити tty %s" -#: libmisc/env.c:160 +#: libmisc/env.c:155 msgid "Environment overflow\n" -msgstr "ðÅÒÅÐÏ×ÎÅÎÎÑ ÏÔÏÞÅÎÎÑ\n" +msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ\n" -#: libmisc/env.c:200 +#: libmisc/env.c:195 #, c-format msgid "You may not change $%s\n" -msgstr "÷É ÎÅ ÍÏÖÅÔÅ ÚͦÎÉÔÉ $%s\n" +msgstr "Ви не можете змінити $%s\n" -#: libmisc/failure.c:238 +#: libmisc/failure.c:230 #, c-format msgid "%d %s since last login. Last was %s on %s.\n" -msgstr "%d %s Ú ÞÁÓÕ ÏÓÔÁÎÎØÇÏ ×ÈÏÄÕ. ïÓÔÁÎÎ¦Ê ×ȦÄ: %s Ú %s.\n" +msgstr "%d %s з чаÑу оÑтанньго входу. ОÑтанній вхід: %s з %s.\n" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failures" -msgstr "ÐÏÍÉÌËÉ" +msgstr "помилки" -#: libmisc/failure.c:239 +#: libmisc/failure.c:232 msgid "failure" -msgstr "ÐÏÍÉÌËÁ" +msgstr "помилка" -#: libmisc/limits.c:397 +#: libmisc/limits.c:396 msgid "Too many logins.\n" -msgstr "úÁÎÁÄÔÏ ÂÁÇÁÔÏ ÓÅÓ¦Ê.\n" +msgstr "Занадто багато ÑеÑій.\n" -#: libmisc/login_desrpc.c:63 +#: libmisc/login_desrpc.c:59 #, c-format msgid "Password does not decrypt secret key for %s.\n" -msgstr "ðÁÒÏÌØ ÎÅ ÄÅÛÉÆÒÕ¤ ÔÁ¤ÍÎÉÊ ËÌÀÞ ÄÌÑ %s.\n" +msgstr "Пароль не дешифрує таємний ключ Ð´Ð»Ñ %s.\n" -#: libmisc/login_desrpc.c:69 +#: libmisc/login_desrpc.c:66 #, c-format msgid "Could not set %s's secret key: is the keyserv daemon running?\n" -msgstr "îÅ ÍÏÖÕ ×ÓÔÁÎÏ×ÉÔÉ ÔÁ¤ÍÎÏÇÏ ËÌÀÞÁ ÄÌÑ %s: ÞÉ ÚÁÐÕÝÅÎÏ ÓÅÒ×ÅÒ ËÌÀÞ¦×?\n" +msgstr "Ðе можу вÑтановити таємного ключа Ð´Ð»Ñ %s: чи запущено Ñервер ключів?\n" -#: libmisc/mail.c:62 libmisc/mail.c:77 +#: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." -msgstr "÷É ÍÁ¤ÔÅ ÎÏ×Õ ÐÏÞÔÕ." +msgstr "Ви маєте нову почту." -#: libmisc/mail.c:73 +#: libmisc/mail.c:72 msgid "No mail." -msgstr "ðÏÞÔÉ ÎÅ ÍÁ¤." +msgstr "Почти не має." -#: libmisc/mail.c:75 +#: libmisc/mail.c:74 msgid "You have mail." -msgstr "÷É ÍÁ¤ÔÅ ÐÏÞÔÕ." +msgstr "Ви маєте почту." -#: libmisc/obscure.c:281 src/passwd.c:244 +#: libmisc/obscure.c:271 src/passwd.c:183 #, c-format msgid "Bad password: %s. " -msgstr "ðÏÇÁÎÉÊ ÐÁÒÏÌØ: %s. " +msgstr "Поганий пароль: %s. " -#: libmisc/pam_pass.c:42 +#: libmisc/pam_pass.c:38 #, c-format msgid "passwd: pam_start() failed, error %d\n" -msgstr "passwd: pam_start() ÎÅ ×ÉËÏÎÁÎÏ, ÐÏÍÉÌËÁ %d\n" +msgstr "passwd: pam_start() не виконано, помилка %d\n" -#: libmisc/pam_pass.c:49 +#: libmisc/pam_pass.c:44 #, c-format msgid "passwd: %s\n" msgstr "passwd: %s\n" -#: libmisc/setupenv.c:211 +#: libmisc/pam_pass.c:50 +msgid "passwd: password updated successfully\n" +msgstr "" + +#: libmisc/setupenv.c:208 #, c-format msgid "Unable to cd to \"%s\"\n" -msgstr "îÅ ÍÏÖÕ ÐÅÒÅÊÔÉ ÄÏ ÔÅËÉ \"%s\"\n" +msgstr "Ðе можу перейти до теки \"%s\"\n" -#: libmisc/setupenv.c:219 +#: libmisc/setupenv.c:216 msgid "No directory, logging in with HOME=/" -msgstr "îÅÍÁ ÔÅËÉ, צÄËÒÉ×Á¤ÍÏ ÓÅÓÓ¦À Ú HOME=/" +msgstr "Ðема теки, відкриваємо ÑеÑÑÑ–ÑŽ з HOME=/" -#: libmisc/shell.c:78 -#, c-format -msgid "Executing shell %s\n" -msgstr "÷ÉËÏÎÕÀ shell %s\n" - -#. -#. * Obviously something is really wrong - I can't figure out -#. * how to execute this stupid shell, so I might as well give -#. * up in disgust ... -#. -#: libmisc/shell.c:122 +#: libmisc/shell.c:119 #, c-format msgid "Cannot execute %s" -msgstr "îÅ ÍÏÖÕ ×ÉËÏÎÁÔÉ %s" +msgstr "Ðе можу виконати %s" -#: libmisc/sub.c:61 +#: libmisc/sub.c:55 #, c-format msgid "Invalid root directory \"%s\"\n" -msgstr "îÅצÒÎÁ ËÏÒÅÎÅ×Á ÔÅËÁ \"%s\"\n" +msgstr "Ðевірна коренева тека \"%s\"\n" -#: libmisc/sub.c:73 +#: libmisc/sub.c:67 #, c-format msgid "Can't change root directory to \"%s\"\n" -msgstr "îÅ ÍÏÖÕ ÚͦÎÉÔÉ ËÏÒÅÎÅ×Õ ÔÅËÕ ÎÁ \"%s\"\n" +msgstr "Ðе можу змінити кореневу теку на \"%s\"\n" -#: libmisc/xmalloc.c:28 +#: libmisc/xmalloc.c:24 #, c-format msgid "malloc(%d) failed\n" -msgstr "malloc(%d) ÎÅ ×ÉËÏÎÁÎÏ\n" +msgstr "malloc(%d) не виконано\n" -#: lib/dialchk.c:71 -msgid "Dialup Password: " -msgstr "ðÁÒÏÌØ ÎÁ ÍÏÄÅÍΊЦÄËÌÀÞÅÎÎÑ: " - -#: lib/getdef.c:276 +#: lib/getdef.c:274 msgid "Could not allocate space for config info.\n" -msgstr "îÅ ÍÏÖÕ ×ÉĦÌÉÔÉ ÒÅÓÕÒÓÉ ÄÌÑ ËÏÎÆ¦ÇÕÒÁæÊÎÉÈ ÄÁÎÎÉÈ.\n" +msgstr "Ðе можу виділити реÑурÑи Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¸Ñ… данних.\n" -#. -#. * Item was never found. -#. -#: lib/getdef.c:330 +#: lib/getdef.c:328 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -"ÐÏÍÉÌËÁ Õ ËÏÎÆ¦ÇÕÒÁæ§ - ÎÅצÄÏÍÁ ÐÏÚÉÃ¦Ñ '%s' (ÐÏצÄÏÍÔÅ ÁÄͦΦÓÔÒÁÔÏÒÁ)\n" +"помилка у конфігурації - невідома Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ '%s' (повідомте адмініÑтратора)\n" -#: lib/getdef.c:417 -#, c-format -msgid "error - lookup '%s' failed\n" -msgstr "ÐÏÍÉÌËÁ - ÐÏÛÕË '%s' ÎÅ ×ÉËÏÎÁÎÏ\n" - -#: lib/getdef.c:425 -#, c-format -msgid "%s not found\n" -msgstr "%s ÎÅ ÚÎÁÊÄÅÎÏ\n" - -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: lib/pwauth.c:54 src/newgrp.c:348 +#: lib/pwauth.c:54 src/newgrp.c:343 msgid "Password: " -msgstr "ðÁÒÏÌØ: " +msgstr "Пароль: " #: lib/pwauth.c:56 #, c-format msgid "%s's Password: " -msgstr "ðÁÒÏÌØ ËÏÒÉÓÔÕ×ÁÞÁ %s: " +msgstr "Пароль кориÑтувача %s: " -#: lib/pwauth.c:270 +#: lib/pwauth.c:247 msgid "(Echo on) " msgstr "" #: lib/strerror.c:20 #, c-format msgid "Unknown error %d" -msgstr "îÅצÄÏÍÁ ÐÏÍÉÌËÁ %d" +msgstr "Ðевідома помилка %d" -#: src/chage.c:116 -#, c-format +#: src/chage.c:118 msgid "" -"Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" -"\t[-I inactive] [-E expire] [-d last_day] user\n" +"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" +" [-I inactive] [-E expire] [-d last_day] user\n" msgstr "" -"÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-l] [-m ͦÎ_ÄΦ×] [-M ÍÁËÓ_ÄΦ×] [-W ÚÁÓÔÅÒÅÖÅÎÎÑ]\n" -"\t[-I ÎÅÁËÔÉ×ΦÓÔØ] [-E ÐÒÏÓÔÒÏÞÅÎÎÏ] [-d ÏÓÔÁÎΦÊ_ÄÅÎØ] ËÏÒÉÓÔÕ×ÁÞ\n" +"ВикориÑтовуйте: chage [-l] [-m мін_днів] [-M макÑ_днів] [-W заÑтереженнÑ]\n" +" [-I неактивніÑть] [-E проÑтроченно]\n" +" [-d оÑтанній_день] кориÑтувач\n" -#: src/chage.c:122 -#, c-format -msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" -msgstr "" -"÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-l] [-m ͦÎ_ÄΦ×] [-M ÍÁËÓ_ÄΦ×] [-d ÏÓÔÁÎΦÊ_ÄÅÎØ] " -"ËÏÒÉÓÔÕ×ÁÞ\n" - -#: src/chage.c:157 +#: src/chage.c:152 msgid "" "Enter the new value, or press ENTER for the default\n" "\n" msgstr "" -"÷×ÅÄ¦ÔØ ÎÏ×Å ÚÎÁÞÅÎÎÑ, ÁÂÏ ÎÁÖÍ¦ÔØ ENTER ÄÌÑ ÚÎÁÞÅÎÎÑ ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ\n" +"Введіть нове значеннÑ, або нажміть ENTER Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ замовчуванню\n" "\n" -#: src/chage.c:160 +#: src/chage.c:155 msgid "Minimum Password Age" -msgstr "í¦Î¦ÍÁÌØÎÉÊ ×¦Ë ÐÁÒÏÌÑ" +msgstr "Мінімальний вік паролÑ" -#: src/chage.c:166 +#: src/chage.c:161 msgid "Maximum Password Age" -msgstr "íÁËÓ¦ÍÁÌØÎÉÊ ×¦Ë ÐÁÒÏÌÑ" +msgstr "МакÑімальний вік паролÑ" -#: src/chage.c:174 +#: src/chage.c:169 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "ïÓÔÁÎÎÑ ÚͦÎÁ ÐÁÒÏÌÑ (òòòò-íí-ää)" +msgstr "ОÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð° Ð¿Ð°Ñ€Ð¾Ð»Ñ (РРРР-ММ-ДД)" + +#: src/chage.c:177 +msgid "Password Expiration Warning" +msgstr "ЗаÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ проÑÑ‚Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ" #: src/chage.c:183 -msgid "Password Expiration Warning" -msgstr "úÁÓÔÅÒÅÖÅÎÎÑ ÐÒÏ ÐÒÏÓÔÒÏÞÅÎÎÑ ÐÁÒÏÌÑ" - -#: src/chage.c:189 msgid "Password Inactive" -msgstr "ðÁÒÏÌØ ÎÅÁËÔÉ×ÎÉÊ" +msgstr "Пароль неактивний" -#: src/chage.c:197 +#: src/chage.c:191 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "äÁÔÁ ÐÒÏÓÔÒÏÞÅÎÎÑ ÒÁÈÕÎËÕ (òòòò-íí-ää)" +msgstr "Дата проÑÑ‚Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð°Ñ…ÑƒÐ½ÐºÑƒ (РРРР-ММ-ДД)" -#. -#. * Start with the easy numbers - the number of days before the -#. * password can be changed, the number of days after which the -#. * password must be chaged, the number of days before the password -#. * expires that the user is told, and the number of days after the -#. * password expires that the account becomes unusable. -#. -#: src/chage.c:248 +#: src/chage.c:241 #, c-format msgid "Minimum:\t%ld\n" -msgstr "í¦Î¦ÍÕÍ:\t%ld\n" +msgstr "Мінімум:\t%ld\n" -#: src/chage.c:249 +#: src/chage.c:242 #, c-format msgid "Maximum:\t%ld\n" -msgstr "íÁËÓ¦ÍÕÍ:\t%ld\n" +msgstr "МакÑімум:\t%ld\n" -#: src/chage.c:251 +#: src/chage.c:243 #, c-format msgid "Warning:\t%ld\n" -msgstr "úÁÓÔÅÒÅÖÅÎÎÑ:\t%ld\n" +msgstr "ЗаÑтереженнÑ:\t%ld\n" -#: src/chage.c:252 +#: src/chage.c:244 #, c-format msgid "Inactive:\t%ld\n" -msgstr "îÅÁËÔÉ×ÎÉÊ:\t%ld\n" +msgstr "Ðеактивний:\t%ld\n" -#. -#. * The "last change" date is either "Never" or the date the password -#. * was last modified. The date is the number of days since 1/1/1970. -#. -#: src/chage.c:260 +#: src/chage.c:251 msgid "Last Change:\t\t" -msgstr "ïÓÔÁÎÎÑ ÚͦÎÁ:\t\t" +msgstr "ОÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð°:\t\t" -#: src/chage.c:262 src/chage.c:276 src/chage.c:293 src/chage.c:306 +#: src/chage.c:253 src/chage.c:267 src/chage.c:283 src/chage.c:296 msgid "Never\n" -msgstr "î¦ËÏÌÉ\n" +msgstr "Ðіколи\n" -#. -#. * The password expiration date is determined from the last change -#. * date plus the number of days the password is valid for. -#. -#: src/chage.c:273 +#: src/chage.c:264 msgid "Password Expires:\t" -msgstr "ðÁÒÏÌØ ÐÒÏÓÔÒÏÞÅÎÎÏ:\t" +msgstr "Пароль проÑтроченно:\t" -#. -#. * The account becomes inactive if the password is expired for more -#. * than "inactdays". The expiration date is calculated and the -#. * number of inactive days is added. The resulting date is when the -#. * active will be disabled. -#. -#: src/chage.c:290 +#: src/chage.c:280 msgid "Password Inactive:\t" -msgstr "ðÁÒÏÌØ ÎÅÁËÔÉ×ÎÉÊ:\t" +msgstr "Пароль неактивний:\t" -#. -#. * The account will expire on the given date regardless of the -#. * password expiring or not. -#. -#: src/chage.c:304 +#: src/chage.c:294 msgid "Account Expires:\t" -msgstr "òÁÈÕÎÏË ÐÒÏÓÔÒÏÞÅÎÏ:\t" +msgstr "Рахунок проÑтрочено:\t" -#: src/chage.c:468 +#: src/chage.c:445 #, c-format msgid "%s: do not include \"l\" with other flags\n" -msgstr "%s: ÎÅ ×ÉËÏÒÉÓÔÏ×ÕÊÔÅ \"l\" Ú ¦ÎÛ¦ÍÉ ÆÌÁÇÁÍÉ\n" +msgstr "%s: не викориÑтовуйте \"l\" з іншіми флагами\n" -#: src/chage.c:481 src/chage.c:652 src/login.c:518 +#: src/chage.c:458 src/chage.c:588 src/login.c:503 #, c-format msgid "%s: permission denied\n" -msgstr "%s: Õ ÄÏÓÔÕЦ צÄÍÏ×ÌÅÎÏ\n" +msgstr "%s: у доÑтупі відмовлено\n" -#: src/chage.c:512 src/chpasswd.c:139 src/groupadd.c:529 src/groupdel.c:322 -#: src/groupmod.c:520 src/newusers.c:381 src/useradd.c:1754 src/userdel.c:717 -#: src/usermod.c:1732 -#, fuzzy, c-format -msgid "%s: PAM authentication failed\n" -msgstr "%s: PAM ÁÕÔÅÎÔÉÆ¦ËÁÃ¦Ñ ÎÅ ÐÒÏÊÛÌÁ\n" - -#: src/chage.c:533 src/chpasswd.c:157 +#: src/chage.c:489 src/chpasswd.c:136 src/groupadd.c:530 src/groupdel.c:325 +#: src/groupmod.c:521 src/newusers.c:362 src/useradd.c:1582 src/userdel.c:657 +#: src/usermod.c:1413 #, c-format -msgid "%s: can't lock password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgid "%s: PAM authentication failed\n" +msgstr "%s: PAM Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð½Ðµ пройшла\n" -#: src/chage.c:544 src/chpasswd.c:162 +#: src/chage.c:510 src/chpasswd.c:159 #, c-format msgid "%s: can't open password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу відкрити файл паролей\n" -#: src/chage.c:552 +#: src/chage.c:518 #, c-format msgid "%s: unknown user: %s\n" -msgstr "%s: ÎÅצÄÏÍÉÊ ËÏÒÉÓÔÕ×ÁÞ: %s\n" +msgstr "%s: невідомий кориÑтувач: %s\n" -#: src/chage.c:571 +#: src/chage.c:536 #, fuzzy, c-format msgid "%s: can't lock shadow password file" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу заблокувати файл прихованих паролей\n" -#: src/chage.c:579 +#: src/chage.c:544 #, fuzzy, c-format msgid "%s: can't open shadow password file" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу відкрити файл прихованих паролей\n" -#: src/chage.c:674 +#: src/chage.c:605 #, c-format msgid "Changing the aging information for %s\n" -msgstr "úͦÎÀÀ צËÏ×Õ ¦ÎÆÏÒÍÁæÀ ÄÌÑ %s\n" +msgstr "Змінюю вікову інформацію Ð´Ð»Ñ %s\n" -#: src/chage.c:677 +#: src/chage.c:608 #, c-format msgid "%s: error changing fields\n" -msgstr "%s: ÐÏÍÉÌËÁ ÚÁͦÎÉ ÐÏÌÑ\n" +msgstr "%s: помилка заміни полÑ\n" -#: src/chage.c:705 src/chage.c:771 src/pwunconv.c:174 +#: src/chage.c:632 src/pwunconv.c:138 #, c-format msgid "%s: can't update password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу оновити файл паролей\n" -#: src/chage.c:737 src/pwunconv.c:168 +#: src/chage.c:661 src/pwunconv.c:132 #, c-format msgid "%s: can't update shadow password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу оновити файл прихованих паролей\n" -#: src/chage.c:789 src/chage.c:805 src/chfn.c:570 src/chsh.c:382 -#: src/passwd.c:747 src/passwd.c:859 +#: src/chage.c:676 src/chfn.c:571 src/chsh.c:377 src/passwd.c:543 +#: src/passwd.c:615 msgid "Error updating the DBM password entry.\n" -msgstr "ðÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÚÁÐÉÓÕ ÐÁÒÏÌÑ Õ DBM.\n" +msgstr "Помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñƒ DBM.\n" -#: src/chage.c:823 +#: src/chage.c:693 #, c-format msgid "%s: can't rewrite shadow password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу перепиÑати файл прихованих паролей\n" -#: src/chage.c:838 +#: src/chage.c:707 #, c-format msgid "%s: can't rewrite password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу перепиÑати файл паролей\n" -#: src/chage.c:857 src/chpasswd.c:343 src/groupadd.c:590 src/groupdel.c:409 -#: src/groupmod.c:604 src/newusers.c:628 src/useradd.c:1869 src/userdel.c:849 -#: src/usermod.c:1811 +#: src/chage.c:727 src/chpasswd.c:336 src/groupadd.c:592 src/groupdel.c:413 +#: src/groupmod.c:606 src/newusers.c:609 src/useradd.c:1705 src/userdel.c:814 +#: src/usermod.c:1494 #, fuzzy, c-format msgid "%s: PAM chauthtok failed\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÒÁÚÂÌÏËÕ×ÁÔÉ ÆÁÊÌ\n" +msgstr "%s: не можу разблокувати файл\n" -#: src/chfn.c:83 +#: 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 "" -"÷ÉËÏÒÉÓÔÏ×ÕÊÔ¤: %s [-f ÐÏ×ÎÅ_¦Í'Ñ] [-r ÎÏÍÅÒ_˦ÍÎÁÔÉ] [-w ÒÏÂÏÞ¦Ê_ÔÅÌÅÆÏÎ]\n" -"\t[-h ÄÏÍÁÛΦÊ_ÔÅÌÅÆÏÎ] [-o ¦ÎÛÅ] [ËÏÒÉÓÔÕ×ÁÞ]\n" +"ВикориÑтовуйтє: %s [-f повне_ім'Ñ] [-r номер_кімнати] [-w робочій_телефон]\n" +"\t[-h домашній_телефон] [-o інше] [кориÑтувач]\n" -#: src/chfn.c:88 +#: 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 ÎÏÍÅÒ_˦ÍÎÁÔÉ]\n" -"\t[-w ÒÏÂÏÞ¦Ê_ÔÅÌÅÆÏÎ] [-h ÄÏÍÁÛΦÊ_ÔÅÌÅÆÏÎ]\n" +"ВикориÑтовуйте: %s [-f повне_ім'Ñ] [-r номер_кімнати]\n" +"\t[-w робочій_телефон] [-h домашній_телефон]\n" -#: src/chfn.c:139 +#: src/chfn.c:140 msgid "Enter the new value, or press ENTER for the default\n" msgstr "" -"÷×ÅÄ¦ÔØ ÎÏ×Å ÚÎÁÞÅÎÎÑ, ÁÂÏ ÎÁÖÍ¦ÔØ ENTER, ÄÌÑ ÚÎÁÞÅÎÎÑ ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ\n" +"Введіть нове значеннÑ, або нажміть ENTER, Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ замовчуванню\n" -#: src/chfn.c:142 +#: src/chfn.c:143 msgid "Full Name" -msgstr "ðÏ×ÎÅ ¦Í'Ñ" +msgstr "Повне ім'Ñ" -#: src/chfn.c:144 +#: src/chfn.c:145 #, c-format msgid "\tFull Name: %s\n" -msgstr "\tðÏ×ÎÅ ¦Í'Ñ: %s\n" +msgstr "\tПовне ім'Ñ: %s\n" -#: src/chfn.c:147 +#: src/chfn.c:148 msgid "Room Number" -msgstr "îÏÍÅÒ Ë¦ÍÎÁÔÉ" +msgstr "Ðомер кімнати" -#: src/chfn.c:149 +#: src/chfn.c:150 #, c-format msgid "\tRoom Number: %s\n" -msgstr "\tîÏÍÅÒ Ë¦ÍÎÁÔÉ: %s\n" +msgstr "\tÐомер кімнати: %s\n" -#: src/chfn.c:152 +#: src/chfn.c:153 msgid "Work Phone" -msgstr "òÏÂÏÞ¦Ê ÔÅÌÅÆÏÎ" +msgstr "Робочій телефон" -#: src/chfn.c:154 +#: src/chfn.c:155 #, c-format msgid "\tWork Phone: %s\n" -msgstr "\tòÏÂÏÞ¦Ê ÔÅÌÅÆÏÎ: %s\n" +msgstr "\tРобочій телефон: %s\n" -#: src/chfn.c:157 +#: src/chfn.c:158 msgid "Home Phone" -msgstr "äÏÍÁÛÎ¦Ê ÔÅÌÅÆÏÎ" +msgstr "Домашній телефон" -#: src/chfn.c:159 +#: src/chfn.c:160 #, c-format msgid "\tHome Phone: %s\n" -msgstr "\täÏÍÁÛÎ¦Ê ÔÅÌÅÆÏÎ: %s\n" +msgstr "\tДомашній телефон: %s\n" -#: src/chfn.c:162 +#: src/chfn.c:163 msgid "Other" -msgstr "¶ÎÛÅ" +msgstr "Інше" -#: src/chfn.c:271 src/chfn.c:281 src/chfn.c:291 src/chfn.c:301 src/chfn.c:311 -#: src/chfn.c:379 src/passwd.c:1115 +#: src/chfn.c:272 src/chfn.c:282 src/chfn.c:292 src/chfn.c:302 src/chfn.c:312 +#: src/chfn.c:380 src/passwd.c:853 #, c-format msgid "%s: Permission denied.\n" -msgstr "%s: õ ÄÏÓÔÕЦ צÄÍÏ×ÌÅÎÏ.\n" +msgstr "%s: У доÑтупі відмовлено.\n" -#: src/chfn.c:332 src/chsh.c:190 src/passwd.c:1165 +#: src/chfn.c:333 src/chsh.c:185 src/passwd.c:903 #, c-format msgid "%s: Unknown user %s\n" -msgstr "%s: îÅצÄÏÍÉÊ ËÏÒÉÓÔÕ×ÁÞ %s\n" +msgstr "%s: Ðевідомий кориÑтувач %s\n" -#: src/chfn.c:341 src/chsh.c:198 src/passwd.c:1096 +#: src/chfn.c:342 src/chsh.c:193 src/passwd.c:834 #, c-format msgid "%s: Cannot determine your user name.\n" -msgstr "%s: îÅ ÍÏÖÕ ×ÉÚÎÁÞÉÔÉ ×ÁÛÅ ¦Í'Ñ ËÏÒÉÓÔÕ×ÁÞÁ.\n" +msgstr "%s: Ðе можу визначити ваше ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача.\n" -#: src/chfn.c:358 src/chsh.c:215 +#: src/chfn.c:359 src/chsh.c:210 #, 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:366 src/chsh.c:223 +#: src/chfn.c:367 src/chsh.c:218 #, 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:441 +#: src/chfn.c:442 #, c-format msgid "Changing the user information for %s\n" -msgstr "úͦÎÁ ¦ÎÆÏÒÍÁæ§ ÐÒÏ ËÏÒÉÓÔÕ×ÁÞÁ %s\n" +msgstr "Зміна інформації про кориÑтувача %s\n" -#: src/chfn.c:450 +#: src/chfn.c:451 #, c-format msgid "%s: invalid name: \"%s\"\n" -msgstr "%s: ÎÅצÒÎÅ ¦Í'Ñ: \"%s\"\n" +msgstr "%s: невірне ім'Ñ: \"%s\"\n" -#: src/chfn.c:456 +#: src/chfn.c:457 #, c-format msgid "%s: invalid room number: \"%s\"\n" -msgstr "%s: ÎÅצÒÎÉÊ ÎÏÍÅÒ Ë¦ÍÎÁÔÉ: \"%s\"\n" +msgstr "%s: невірний номер кімнати: \"%s\"\n" -#: src/chfn.c:462 +#: src/chfn.c:463 #, c-format msgid "%s: invalid work phone: \"%s\"\n" -msgstr "%s: ÎÅצÒÎÉÊ ÒÏÂÏÞÉÊ ÔÅÌÅÆÏÎ: \"%s\"\n" +msgstr "%s: невірний робочий телефон: \"%s\"\n" -#: src/chfn.c:468 +#: src/chfn.c:469 #, c-format msgid "%s: invalid home phone: \"%s\"\n" -msgstr "%s: ÎÅצÒÎÉÊ ÄÏÍÁÛÎ¦Ê ÔÅÌÅÆÏÎ: \"%s\"\n" +msgstr "%s: невірний домашній телефон: \"%s\"\n" -#: src/chfn.c:475 +#: src/chfn.c:476 #, c-format msgid "%s: \"%s\" contains illegal characters\n" -msgstr "%s: \"%s\" ×ËÌÀÞÁ¤ ÚÁÂÏÒÏÎÅΦ ÓÉÍ×ÏÌÉ\n" +msgstr "%s: \"%s\" включає заборонені Ñимволи\n" -#: src/chfn.c:488 +#: src/chfn.c:489 #, c-format msgid "%s: fields too long\n" -msgstr "%s: ÐÏÌÑ ÚÁÎÁÄÔÏ ÄÏ×Ǧ\n" +msgstr "%s: Ð¿Ð¾Ð»Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ довгі\n" -#: src/chfn.c:504 src/chsh.c:316 src/gpasswd.c:570 src/passwd.c:1277 +#: src/chfn.c:505 src/chsh.c:311 src/gpasswd.c:570 src/passwd.c:994 msgid "Cannot change ID to root.\n" -msgstr "îÅ ÍÏÖÕ ÚͦÎÉÔÉ ID ÎÁ root.\n" +msgstr "Ðе можу змінити ID на root.\n" -#: src/chfn.c:519 src/chsh.c:331 src/passwd.c:656 src/passwd.c:811 +#: src/chfn.c:520 src/chsh.c:326 src/passwd.c:515 src/passwd.c:567 msgid "Cannot lock the password file; try again later.\n" -msgstr "îÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ; ÓÐÒÏÂÕÊÔŠЦÚΦÛÅ.\n" +msgstr "Ðе можу блокувати файл паролей; Ñпробуйте пізніше.\n" -#: src/chfn.c:525 src/chsh.c:337 src/passwd.c:661 src/passwd.c:816 +#: src/chfn.c:526 src/chsh.c:332 src/passwd.c:520 src/passwd.c:572 msgid "Cannot open the password file.\n" -msgstr "îÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ.\n" +msgstr "Ðе можу відкрити файл паролей.\n" -#: src/chfn.c:542 src/chsh.c:352 src/passwd.c:667 src/usermod.c:1348 +#: src/chfn.c:543 src/chsh.c:347 src/passwd.c:526 src/usermod.c:1092 #, c-format msgid "%s: %s not found in /etc/passwd\n" -msgstr "%s: %s ÎÅ ÚÎÁÊÄÅÎÏ Õ /etc/passwd\n" +msgstr "%s: %s не знайдено у /etc/passwd\n" -#: src/chfn.c:561 src/chsh.c:373 src/passwd.c:740 src/passwd.c:852 +#: src/chfn.c:562 src/chsh.c:368 src/passwd.c:536 src/passwd.c:608 msgid "Error updating the password entry.\n" -msgstr "îÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÁÒÏÌÅÊ.\n" +msgstr "Ðе можу оновити Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі паролей.\n" -#: src/chfn.c:585 src/chsh.c:397 src/passwd.c:755 src/passwd.c:867 +#: src/chfn.c:586 src/chsh.c:392 src/passwd.c:551 src/passwd.c:623 msgid "Cannot commit password file changes.\n" -msgstr "îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÚͦÎÉ ÄÏ ÆÁÊÌÕ ÐÁÒÏÌÅÊ.\n" +msgstr "Ðе можу запиÑати зміни до файлу паролей.\n" -#: src/chfn.c:592 src/chsh.c:404 +#: src/chfn.c:593 src/chsh.c:399 msgid "Cannot unlock the password file.\n" -msgstr "îÅ ÍÏÖÕ ÒÁÚÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ.\n" +msgstr "Ðе можу разблокувати файл паролей.\n" -#: src/chpasswd.c:66 +#: src/chpasswd.c:67 +#, fuzzy, c-format +msgid "Usage: %s [-e]\n" +msgstr "викориÑтовуйте: %s [-e]\n" + +#: src/chpasswd.c:154 #, c-format -msgid "usage: %s [-e]\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-e]\n" +msgid "%s: can't lock password file\n" +msgstr "%s: не можу заблокувати файл паролей\n" -#: src/chpasswd.c:171 src/pwconv.c:94 +#: src/chpasswd.c:168 src/pwconv.c:95 #, c-format msgid "%s: can't lock shadow file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ Ú ÐÒÉÈÏ×ÁÎÉÍÉ ÐÁÒÏÌÑÍÉ\n" +msgstr "%s: не можу заблокувати файл з прихованими паролÑми\n" -#: src/chpasswd.c:177 src/gpasswd.c:596 src/pwconv.c:99 src/pwunconv.c:103 -#: src/pwunconv.c:108 +#: src/chpasswd.c:174 src/gpasswd.c:596 src/pwconv.c:100 src/pwunconv.c:89 +#: src/pwunconv.c:94 #, c-format msgid "%s: can't open shadow file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ Ú ÐÒÉÈÏ×ÁÎÉÍÉ ÐÁÒÏÌÑÍÉ\n" +msgstr "%s: не можу відкрити файл з прихованими паролÑми\n" -#: src/chpasswd.c:200 src/newusers.c:460 +#: src/chpasswd.c:197 src/newusers.c:441 #, c-format msgid "%s: line %d: line too long\n" -msgstr "%s: ÒÑÄÏË %d: ÒÑÄÏË ÚÁÎÁÄÔÏ ÄÏ×ÇÉÊ\n" +msgstr "%s: Ñ€Ñдок %d: Ñ€Ñдок занадто довгий\n" -#: src/chpasswd.c:220 +#: src/chpasswd.c:217 #, c-format msgid "%s: line %d: missing new password\n" -msgstr "%s: ÒÑÄÏË %d: ÂÒÁËÕ¤ ÎÏ×ÏÇÏ ÐÁÒÏÌÑ\n" +msgstr "%s: Ñ€Ñдок %d: бракує нового паролÑ\n" -#: src/chpasswd.c:237 +#: src/chpasswd.c:234 #, c-format msgid "%s: line %d: unknown user %s\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅצÄÏÍÉÊ ËÏÒÉÓÔÕ×ÁÞ %s\n" +msgstr "%s: Ñ€Ñдок %d: невідомий кориÑтувач %s\n" -#: src/chpasswd.c:290 +#: src/chpasswd.c:280 #, c-format msgid "%s: line %d: cannot update password entry\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÚÁÐÉÓ Õ ÂÁÚ¦ ÐÁÒÏÌÅÊ\n" +msgstr "%s: Ñ€Ñдок %d: не можу оновити Ð·Ð°Ð¿Ð¸Ñ Ñƒ базі паролей\n" -#: src/chpasswd.c:307 src/newusers.c:588 +#: src/chpasswd.c:297 src/newusers.c:569 #, c-format msgid "%s: error detected, changes ignored\n" -msgstr "%s: ×ÉÑ×ÌÅÎÏ ÐÏÍÉÌËÕ, ÚͦÎÉ ¦ÇÎÏÒÕÀÔØÓÑ\n" +msgstr "%s: виÑвлено помилку, зміни ігноруютьÑÑ\n" -#: src/chpasswd.c:319 +#: src/chpasswd.c:309 #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÆÁÊÌÕ Ú ÐÒÉÈÏ×ÁÎÉÍÉ ÐÁÒÏÌÑÍÉ\n" +msgstr "%s: помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ з прихованими паролÑми\n" -#: src/chpasswd.c:328 +#: src/chpasswd.c:318 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÆÁÊÌÕ Ú ÐÁÒÏÌÑÍÉ\n" +msgstr "%s: помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ з паролÑми\n" -#: src/chsh.c:75 +#: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-s shell] [¦Í'Ñ]\n" - -#: src/chsh.c:89 -msgid "Enter the new value, or press return for the default\n" -msgstr "" -"÷×ÅÄ¦ÔØ ÎÏ×Å ÚÎÁÞÅÎÎÑ, ÁÂÏ ÎÁÖÍ¦ÔØ ENTER, ÄÌÑ ÚÎÁÞÅÎÎÑ ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ\n" +msgstr "ВикориÑтовуйте: %s [-s shell] [ім'Ñ]\n" #: src/chsh.c:90 +msgid "Enter the new value, or press return for the default\n" +msgstr "" +"Введіть нове значеннÑ, або нажміть ENTER, Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ замовчуванню\n" + +#: src/chsh.c:91 msgid "Login Shell" msgstr "Login Shell" -#: src/chsh.c:239 src/chsh.c:253 +#: src/chsh.c:234 src/chsh.c:248 #, c-format msgid "You may not change the shell for %s.\n" -msgstr "îÅ ÍÏÖÎÁ ÚͦÎÉÔÉ shell ÄÌÑ %s.\n" +msgstr "Ðе можна змінити shell Ð´Ð»Ñ %s.\n" -#: src/chsh.c:282 +#: src/chsh.c:277 #, c-format msgid "Changing the login shell for %s\n" -msgstr "úͦÎÀÀ shell ÄÌÑ %s\n" +msgstr "Змінюю shell Ð´Ð»Ñ %s\n" -#: src/chsh.c:294 +#: src/chsh.c:289 #, c-format msgid "%s: Invalid entry: %s\n" -msgstr "%s: îÅצÒÎÉÊ ÚÁÐÉÓ: %s\n" +msgstr "%s: Ðевірний запиÑ: %s\n" -#: src/chsh.c:301 +#: src/chsh.c:296 #, c-format msgid "%s is an invalid shell.\n" -msgstr "%s ¤ ÎÅצÒÎÉÊ shell.\n" - -#: src/dpasswd.c:52 -#, c-format -msgid "Usage: %s [-(a|d)] shell\n" -msgstr "÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-(a|d)] shell\n" - -#: src/dpasswd.c:115 -msgid "Shell password: " -msgstr "Shell ÐÁÒÏÌØ: " - -#: src/dpasswd.c:121 -msgid "re-enter Shell password: " -msgstr "ðÏ×ÔÏÒ¦ÔØ ÐÁÒÏÌØ ÄÌÑ shell: " - -#: src/dpasswd.c:129 -#, c-format -msgid "%s: Passwords do not match, try again.\n" -msgstr "%s: ðÁÒÏÌØ ÎÅ ÓЦ×ÐÁÄÁ¤, ÓÐÒÏÂÕÊÔÅ ÚÎÏ×Õ.\n" - -#: src/dpasswd.c:149 -#, c-format -msgid "%s: can't create %s" -msgstr "%s: ÎÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ %s" - -#: src/dpasswd.c:155 -#, c-format -msgid "%s: can't open %s" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ %s" - -#: src/dpasswd.c:183 -#, c-format -msgid "%s: Shell %s not found.\n" -msgstr "%s: Shell %s ÎÅ ÚÎÁÊÄÅÎÏ.\n" +msgstr "%s Ñ” невірний shell.\n" #: src/expiry.c:59 msgid "Usage: expiry {-f|-c}\n" -msgstr "÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: expiry {-f|-c}\n" +msgstr "ВикориÑтовуйте: expiry {-f|-c}\n" #: src/expiry.c:113 #, c-format msgid "%s: WARNING! Must be set-UID root!\n" -msgstr "%s: úáóôåòåöåîîñ! ðÒÏÇÒÁÍÁ ÐÏ×ÉÎÁ ÂÕÔÉ SUID root!\n" +msgstr "%s: ЗÐСТЕРЕЖЕÐÐЯ! Програма повина бути SUID root!\n" #: src/expiry.c:124 #, c-format msgid "%s: unknown user\n" -msgstr "%s: ÎÅצÄÏÍÉÊ ËÏÒÉÓÔÕ×ÁÞ\n" +msgstr "%s: невідомий кориÑтувач\n" #: src/faillog.c:77 -#, c-format -msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +#, fuzzy, c-format +msgid "Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" msgstr "" -"×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-a|-u ËÏÒÉÓÔÕ×ÁÞ] [-m ÍÁËÓ] [-r] [-t ÄΦ×] [-l ÌÏË_ÓÅË]\n" +"викориÑтовуйте: %s [-a|-u кориÑтувач] [-m макÑ] [-r] [-t днів] [-l лок_Ñек]\n" #: src/faillog.c:131 src/lastlog.c:96 #, c-format msgid "Unknown User: %s\n" -msgstr "îÅצÄÏÍÉÊ ËÏÒÉÓÔÕ×ÁÞ: %s\n" +msgstr "Ðевідомий кориÑтувач: %s\n" #: src/faillog.c:212 #, fuzzy msgid "Username Failures Maximum Latest\n" -msgstr "ëÏÒÉÓÔÕ×ÁÞ ðÏÍÉÌÏË íÁËÓ¦ÍÕÍ ïÓÔÁÎÎÑ\n" +msgstr "КориÑтувач Помилок МакÑімум ОÑтаннÑ\n" #: src/faillog.c:229 #, c-format msgid " %s on %s" -msgstr " %s ÎÁ %s" +msgstr " %s на %s" #: src/faillog.c:233 #, c-format msgid " [%lds left]" -msgstr " [%lds ÚÁÌÉÛÉÌÏÓØ]" +msgstr " [%lds залишилоÑÑŒ]" #: src/faillog.c:237 #, c-format msgid " [%lds lock]" -msgstr " [%lds ÂÌÏËÏ×ÁÎÏ]" +msgstr " [%lds блоковано]" #: src/gpasswd.c:78 -#, c-format -msgid "usage: %s [-r|-R] group\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-r|-R] ÇÒÕÐÁ\n" +#, fuzzy, c-format +msgid "Usage: %s [-r|-R] group\n" +msgstr "викориÑтовуйте: %s [-r|-R] група\n" #: src/gpasswd.c:79 #, c-format msgid " %s [-a user] group\n" -msgstr " %s [-a ËÏÒÉÓÔÕ×ÁÞ] ÇÒÕÐÁ\n" +msgstr " %s [-a кориÑтувач] група\n" #: src/gpasswd.c:80 #, c-format msgid " %s [-d user] group\n" -msgstr " %s [-d ËÏÒÉÓÔÕ×ÁÞ] ÇÒÕÐÁ\n" +msgstr " %s [-d кориÑтувач] група\n" #: src/gpasswd.c:83 #, c-format msgid " %s [-A user,...] [-M user,...] group\n" -msgstr " %s [-A ËÏÒÉÓÔÕ×ÁÞ,...] [-M ËÏÒÉÓÔÕ×ÁÞ,...] ÇÒÕÐÁ\n" +msgstr " %s [-A кориÑтувач,...] [-M кориÑтувач,...] група\n" #: src/gpasswd.c:85 #, c-format msgid " %s [-M user,...] group\n" -msgstr " %s [-M ËÏÒÉÓÔÕ×ÁÞ,...] ÇÒÕÐÁ\n" +msgstr " %s [-M кориÑтувач,...] група\n" #: src/gpasswd.c:146 src/gpasswd.c:230 #, c-format msgid "%s: unknown user %s\n" -msgstr "%s: ÎÅצÄÏÍÉÊ ËÏÒÉÓÔÕ×ÁÞ %s\n" +msgstr "%s: невідомий кориÑтувач %s\n" #: src/gpasswd.c:157 msgid "Permission denied.\n" -msgstr "äÏÓÔÕÐ ÚÁÂÏÒÏÎÅÎÏ.\n" +msgstr "ДоÑтуп заборонено.\n" #: src/gpasswd.c:243 #, c-format msgid "%s: shadow group passwords required for -A\n" -msgstr "%s: ÐÒÉÈÏ×ÁΦ ÐÁÒÏ̦ ÇÒÕÐ ÐÏÔÒ¦ÂΦ ÄÌÑ -A\n" +msgstr "%s: приховані паролі груп потрібні Ð´Ð»Ñ -A\n" #: src/gpasswd.c:294 msgid "Who are you?\n" -msgstr "÷É ÈÔÏ?\n" +msgstr "Ви хто?\n" -#: src/gpasswd.c:313 src/newgrp.c:297 +#: src/gpasswd.c:313 src/newgrp.c:292 #, c-format msgid "unknown group: %s\n" -msgstr "ÎÅצÄÏÍÁ ÇÒÕÐÁ: %s\n" +msgstr "невідома група: %s\n" #: src/gpasswd.c:422 #, c-format msgid "Adding user %s to group %s\n" -msgstr "äÏÄÁÎÏ ÎÏ×ÏÇÏ ËÏÒÉÓÔÕ×ÁÞÁ %s ÄÏ ÇÒÕÐÉ %s\n" +msgstr "Додано нового кориÑтувача %s до групи %s\n" #: src/gpasswd.c:440 #, c-format msgid "Removing user %s from group %s\n" -msgstr "÷ÉÄÁÌÅÎÏ ËÏÒÉÓÔÕ×ÁÞÁ %s Ú ÇÒÕÐÉ %s\n" +msgstr "Видалено кориÑтувача %s з групи %s\n" #: src/gpasswd.c:454 #, c-format msgid "%s: unknown member %s\n" -msgstr "%s: ÎÅצÄÏÍÉÊ ÞÌÅÎ %s\n" +msgstr "%s: невідомий член %s\n" #: src/gpasswd.c:501 #, c-format msgid "%s: Not a tty\n" -msgstr "%s: îÅ ¤ tty\n" +msgstr "%s: Ðе Ñ” tty\n" -#. -#. * A new password is to be entered and it must be encrypted, etc. -#. * The password will be prompted for twice, and both entries must be -#. * identical. There is no need to validate the old password since -#. * the invoker is either the group owner, or root. -#. #: src/gpasswd.c:522 #, c-format msgid "Changing the password for group %s\n" -msgstr "úͦÎÁ ÐÁÒÏÌÑ ÄÌÑ ÇÒÕÐÉ %s\n" +msgstr "Зміна Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¸ %s\n" #: src/gpasswd.c:525 msgid "New Password: " -msgstr "îÏ×ÉÊ ÐÁÒÏÌØ: " +msgstr "Ðовий пароль: " -#: src/gpasswd.c:530 src/passwd.c:365 +#: src/gpasswd.c:530 src/passwd.c:281 msgid "Re-enter new password: " -msgstr "ðÏ×ÔÏÒ¦ÔØ ÎÏ×ÉÊ ÐÁÒÏÌØ: " +msgstr "Повторіть новий пароль: " #: src/gpasswd.c:542 msgid "They don't match; try again" -msgstr "ÎÅ ÓЦ×ÐÁÄÁ¤; ÓÐÒÏÂÕÊÔÅ ÚÎÏ×Õ" +msgstr "не Ñпівпадає; Ñпробуйте знову" #: src/gpasswd.c:546 #, c-format msgid "%s: Try again later\n" -msgstr "%s: óÐÒÏÂÕÊÔÅ ÚÎÏ×Õ Ð¦ÚΦÛÅ\n" +msgstr "%s: Спробуйте знову пізніше\n" #: src/gpasswd.c:578 #, c-format msgid "%s: can't get lock\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ\n" +msgstr "%s: не можу заблокувати\n" #: src/gpasswd.c:584 #, c-format msgid "%s: can't get shadow lock\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÂÁÚÕ ÐÒÉÈÏ×ÁÎÉÊ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу заблокувати базу прихований паролей\n" #: src/gpasswd.c:590 #, c-format msgid "%s: can't open file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ\n" +msgstr "%s: не можу відкрити файл\n" #: src/gpasswd.c:602 #, c-format msgid "%s: can't update entry\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÚÁÐÉÓ\n" +msgstr "%s: не можу оновити запиÑ\n" #: src/gpasswd.c:608 #, c-format msgid "%s: can't update shadow entry\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÚÁÐÉÓ Õ ÂÁÚ¦ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу оновити Ð·Ð°Ð¿Ð¸Ñ Ñƒ базі прихованих паролей\n" #: src/gpasswd.c:615 #, c-format msgid "%s: can't re-write file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ\n" +msgstr "%s: не можу перепиÑати файл\n" #: src/gpasswd.c:621 #, c-format msgid "%s: can't re-write shadow file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÊ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу перепиÑати файл прихований паролей\n" #: src/gpasswd.c:630 #, c-format msgid "%s: can't unlock file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÒÁÚÂÌÏËÕ×ÁÔÉ ÆÁÊÌ\n" +msgstr "%s: не можу разблокувати файл\n" #: src/gpasswd.c:635 #, c-format msgid "%s: can't update DBM files\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ DBM ÆÁÊÌ\n" +msgstr "%s: не можу оновити DBM файл\n" #: src/gpasswd.c:642 #, c-format msgid "%s: can't update DBM shadow files\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ DBM ÆÁÊÌ Ú ÐÒÉÈÏ×ÁÎÉÍÉ ÐÁÒÏÌÑÍÉ\n" +msgstr "%s: не можу оновити DBM файл з прихованими паролÑми\n" -#: src/groupadd.c:101 -msgid "usage: groupadd [-g gid [-o]] group\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: groupadd [-g gid [-o]] ÇÒÕÐÁ\n" +#: src/groupadd.c:102 +msgid "Usage: groupadd [-g gid [-o]] [-f] group\n" +msgstr "викориÑтовуйте: groupadd [-g gid [-o]] [-f] група\n" -#: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228 -#: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695 +#: src/groupadd.c:168 src/groupadd.c:193 src/groupmod.c:180 src/groupmod.c:229 +#: src/useradd.c:913 src/usermod.c:533 src/usermod.c:676 #, c-format msgid "%s: error adding new group entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÄÏÄÁÎÎÑ ÎÏ×ÏÇÏ ÚÁÐÉÓÕ Õ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "%s: помилка Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ запиÑу у файл груп\n" -#: src/groupadd.c:178 src/groupadd.c:203 src/groupmod.c:197 src/useradd.c:981 -#: src/usermod.c:564 src/usermod.c:708 +#: src/groupadd.c:179 src/groupadd.c:204 src/groupmod.c:198 src/useradd.c:924 +#: src/usermod.c:545 src/usermod.c:689 #, c-format msgid "%s: cannot add new dbm group entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÄÏÄÁÎÎÑ ÎÏ×ÏÇÏ ÚÁÐÉÓÕ Õ ÆÁÊÌ ÇÒÕÐ dbm\n" +msgstr "%s: помилка Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ запиÑу у файл груп dbm\n" -#: src/groupadd.c:255 src/useradd.c:1034 +#: src/groupadd.c:256 src/useradd.c:977 #, c-format msgid "%s: name %s is not unique\n" -msgstr "%s: ¦Í'Ñ %s ÎÅ ¤ ÕΦËÁÌØÎÉÍ\n" +msgstr "%s: ім'Ñ %s не Ñ” унікальним\n" -#: src/groupadd.c:270 +#: src/groupadd.c:271 #, c-format msgid "%s: gid %u is not unique\n" -msgstr "%s: uid %u ÎÅ ¤ ÕΦËÁÌØÎÉÍ\n" +msgstr "%s: uid %u не Ñ” унікальним\n" -#: src/groupadd.c:294 +#: src/groupadd.c:295 #, c-format msgid "%s: can't get unique gid\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÔÒÉÍÁÔÉ ÕΦËÁÌØÎÉÊ gid\n" +msgstr "%s: не можу отримати унікальний gid\n" -#. -#. * All invalid group names land here. -#. -#: src/groupadd.c:317 src/groupmod.c:341 +#: src/groupadd.c:318 src/groupmod.c:342 #, c-format msgid "%s: %s is a not a valid group name\n" -msgstr "%s: %s: ÔÏ ÎÅ ¤ צÒÎÅ ¦Í'Ñ ÇÒÕÐÉ\n" +msgstr "%s: %s: то не Ñ” вірне ім'Ñ Ð³Ñ€ÑƒÐ¿Ð¸\n" -#: src/groupadd.c:346 src/groupmod.c:366 +#: src/groupadd.c:347 src/groupmod.c:367 #, c-format msgid "%s: invalid group %s\n" -msgstr "%s: ÎÅצÒÎÁ ÇÒÕÐÁ %s\n" +msgstr "%s: невірна група %s\n" -#: src/groupadd.c:363 src/useradd.c:1313 +#: src/groupadd.c:364 src/useradd.c:1173 #, c-format msgid "%s: -O requires NAME=VALUE\n" -msgstr "%s: -O ×ÉÍÁÇÁ¤ úí¶îîá=úîáþåîîñ\n" +msgstr "%s: -O вимагає ЗМІÐÐÐ=ЗÐÐЧЕÐÐЯ\n" -#: src/groupadd.c:407 src/groupdel.c:173 src/groupmod.c:401 src/useradd.c:1428 -#: src/userdel.c:312 src/usermod.c:576 +#: src/groupadd.c:408 src/groupdel.c:171 src/groupmod.c:402 src/useradd.c:1288 +#: src/userdel.c:302 src/usermod.c:557 #, c-format msgid "%s: cannot rewrite group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "%s: не можу перепиÑати файл груп\n" -#: src/groupadd.c:415 src/groupdel.c:179 src/groupmod.c:409 src/useradd.c:1437 -#: src/userdel.c:319 src/usermod.c:722 +#: src/groupadd.c:416 src/groupdel.c:179 src/groupmod.c:410 src/useradd.c:1297 +#: src/userdel.c:309 src/usermod.c:703 #, c-format msgid "%s: cannot rewrite shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу перепиÑати файл прихованих груп\n" -#: src/groupadd.c:433 src/groupdel.c:198 src/groupmod.c:427 src/userdel.c:403 +#: src/groupadd.c:434 src/groupdel.c:197 src/groupmod.c:428 src/userdel.c:374 #, c-format msgid "%s: unable to lock group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "%s: не можу заблокувати файл груп\n" -#: src/groupadd.c:438 src/groupdel.c:202 src/groupmod.c:432 +#: src/groupadd.c:439 src/groupdel.c:202 src/groupmod.c:433 #, c-format msgid "%s: unable to open group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "%s: не можу відкрити файл груп\n" -#: src/groupadd.c:445 src/groupdel.c:207 src/groupmod.c:439 src/userdel.c:414 +#: src/groupadd.c:446 src/groupdel.c:209 src/groupmod.c:440 src/userdel.c:385 #, c-format msgid "%s: unable to lock shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу блокувати файл прихованих груп\n" -#: src/groupadd.c:451 src/groupdel.c:212 src/groupmod.c:445 +#: src/groupadd.c:452 src/groupdel.c:215 src/groupmod.c:446 #, c-format msgid "%s: unable to open shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу відкрити файл прихованих груп\n" -#: src/groupadd.c:562 +#: src/groupadd.c:563 #, c-format msgid "%s: group %s exists\n" -msgstr "%s: ÇÒÕÐÁ %s ¦ÓÎÕ¤\n" +msgstr "%s: група %s Ñ–Ñнує\n" -#: src/groupdel.c:92 -msgid "usage: groupdel group\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: groupdel ÇÒÕÐÁ\n" +#: src/groupdel.c:88 +#, fuzzy +msgid "Usage: groupdel group\n" +msgstr "викориÑтовуйте: groupdel група\n" -#: src/groupdel.c:110 src/groupmod.c:184 src/groupmod.c:233 +#: src/groupdel.c:105 src/groupmod.c:185 src/groupmod.c:234 #, c-format msgid "%s: error removing group entry\n" -msgstr "%s: ÐÏÍÉÌËÁ צÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÇÒÕÐ\n" +msgstr "%s: помилка Ð²Ñ–Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази груп\n" -#: src/groupdel.c:122 src/groupmod.c:204 +#: src/groupdel.c:119 src/groupmod.c:205 #, c-format msgid "%s: error removing group dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ צÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÇÒÕÐ dbm\n" +msgstr "%s: помилка Ð²Ñ–Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази груп dbm\n" -#: src/groupdel.c:137 +#: src/groupdel.c:135 #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s: ÐÏÍÉÌËÁ צÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: помилка Ð²Ñ–Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази прихованих груп\n" -#: src/groupdel.c:150 src/groupmod.c:254 +#: src/groupdel.c:149 src/groupmod.c:255 #, c-format msgid "%s: error removing shadow group dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ צÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ dbm\n" +msgstr "%s: помилка Ð²Ñ–Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази прихованих груп dbm\n" -#. -#. * Can't remove the group. -#. -#: src/groupdel.c:254 +#: src/groupdel.c:255 #, c-format msgid "%s: cannot remove user's primary group.\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×ÉÄÁÌÉÔÉ ÇÏÌÏ×ÎÕ ÇÒÕÐÕ ËÏÒÉÓÔÕ×ÁÞÁ.\n" +msgstr "%s: не можу видалити головну групу кориÑтувача.\n" -#: src/groupdel.c:355 src/groupmod.c:550 +#: src/groupdel.c:359 src/groupmod.c:551 #, c-format msgid "%s: group %s does not exist\n" -msgstr "%s: ÇÒÕÐÁ %s ÎÅ ¦ÓÎÕ¤\n" +msgstr "%s: група %s не Ñ–Ñнує\n" -#: src/groupdel.c:369 src/groupmod.c:566 +#: src/groupdel.c:373 src/groupmod.c:567 #, c-format msgid "%s: group %s is a NIS group\n" -msgstr "%s: ÇÒÕÐÁ %s ¤ ÇÒÕÐÏÀ NIS\n" +msgstr "%s: група %s Ñ” групою NIS\n" -#: src/groupdel.c:375 src/groupmod.c:571 src/userdel.c:776 src/usermod.c:1045 +#: src/groupdel.c:378 src/groupmod.c:572 src/userdel.c:724 src/usermod.c:805 #, c-format msgid "%s: %s is the NIS master\n" -msgstr "%s: %s ¤ ÓÅÒ×ÅÒ NIS\n" +msgstr "%s: %s Ñ” Ñервер NIS\n" #: src/groupmems.c:95 msgid "Member already exists\n" @@ -1009,7 +907,7 @@ msgid "Member to remove could not be found\n" msgstr "" #: src/groupmems.c:158 -msgid "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" +msgid "Usage: groupmems -a username | -d username | -D | -l [-g groupname]\n" msgstr "" #: src/groupmems.c:201 @@ -1027,59 +925,60 @@ msgstr "" #: src/groupmems.c:215 #, fuzzy msgid "Unable to lock group file\n" -msgstr "ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "не можу заблокувати файл груп\n" #: src/groupmems.c:220 #, fuzzy msgid "Unable to open group file\n" -msgstr "ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "не можу відкрити файл груп\n" #: src/groupmems.c:240 msgid "Cannot close group file\n" -msgstr "ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "не можу відкрити файл груп\n" -#: src/groupmod.c:103 -msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: groupmod [-g gid [-o]] [-n ¦Í'Ñ] ÇÒÕÐÁ\n" +#: src/groupmod.c:104 +#, fuzzy +msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "викориÑтовуйте: groupmod [-g gid [-o]] [-n ім'Ñ] група\n" -#: src/groupmod.c:161 +#: src/groupmod.c:162 #, c-format msgid "%s: %s not found in /etc/group\n" -msgstr "%s: %s ÎÅ ÚÎÁÊÄÅÎÏ Õ /etc/passwd\n" +msgstr "%s: %s не знайдено у /etc/passwd\n" -#: src/groupmod.c:247 +#: src/groupmod.c:248 #, c-format msgid "%s: cannot add new dbm shadow group entry\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÄÏÄÁÔÉ ÚÁÐÉÓ Õ ÂÁÚÕ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ dbm\n" +msgstr "%s: не можу додати Ð·Ð°Ð¿Ð¸Ñ Ñƒ базу прихованих груп dbm\n" -#: src/groupmod.c:300 +#: src/groupmod.c:301 #, c-format msgid "%s: %u is not a unique gid\n" -msgstr "%s: %u ÎÅ ¤ ÕΦËÁÌØÎÉÊ gid\n" +msgstr "%s: %u не Ñ” унікальний gid\n" -#: src/groupmod.c:330 +#: src/groupmod.c:331 #, c-format msgid "%s: %s is not a unique name\n" -msgstr "%s: %s ÎÅ ¤ ÕΦËÁÌØÎÅ ¦Í'Ñ\n" +msgstr "%s: %s не Ñ” унікальне ім'Ñ\n" #: src/groups.c:59 #, c-format msgid "unknown user %s\n" -msgstr "ÎÅצÄÏÍÉÊ ËÏÒÉÓÔÕ×ÁÞ %s\n" +msgstr "невідомий кориÑтувач %s\n" #: src/grpck.c:87 #, c-format msgid "Usage: %s [-r] [-s] [group [gshadow]]\n" -msgstr "÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-r] [-s] [ÇÒÕÐÁ [gshadow]]\n" +msgstr "ВикориÑтовуйте: %s [-r] [-s] [група [gshadow]]\n" #: src/grpck.c:90 #, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-r] [-s] [ÇÒÕÐÁ]\n" +msgstr "ВикориÑтовуйте: %s [-r] [-s] [група]\n" #: src/grpck.c:108 src/pwck.c:108 msgid "No" -msgstr "î¦" +msgstr "ÐÑ–" #: src/grpck.c:192 src/pwck.c:175 #, c-format @@ -1089,254 +988,227 @@ msgstr "" #: src/grpck.c:232 src/grpck.c:242 src/pwck.c:215 src/pwck.c:225 #, c-format msgid "%s: cannot lock file %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ %s\n" +msgstr "%s: не можу заблокувати файл %s\n" #: src/grpck.c:259 src/grpck.c:268 src/mkpasswd.c:202 src/pwck.c:242 #: src/pwck.c:251 #, c-format msgid "%s: cannot open file %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ %s\n" +msgstr "%s: не можу відкрити файл %s\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:311 msgid "invalid group file entry\n" -msgstr "ÎÅצÒÎÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÇÒÕÐ\n" +msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі груп\n" #: src/grpck.c:312 src/grpck.c:375 src/grpck.c:458 src/grpck.c:521 #: src/grpck.c:538 src/pwck.c:296 src/pwck.c:358 src/pwck.c:457 src/pwck.c:519 #: src/pwck.c:543 #, c-format msgid "delete line `%s'? " -msgstr "×ÉÄÁÌÉÔÉ ÚÁÐÉÓ `%s'? " +msgstr "видалити Ð·Ð°Ð¿Ð¸Ñ `%s'? " -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:374 msgid "duplicate group entry\n" -msgstr "ÐÏ×ÔÏÒÀÀÞÉÓÑ ÚÁÐÉÓÉ Õ ÂÁÚ¦ ÇÒÕÐ\n" +msgstr "повторюючиÑÑ Ð·Ð°Ð¿Ð¸Ñи у базі груп\n" #: src/grpck.c:391 #, c-format msgid "invalid group name `%s'\n" -msgstr "ÎÅצÒÎÅ ¦Í'Ñ ÇÒÕÐÉ `%s'\n" +msgstr "невірне ім'Ñ Ð³Ñ€ÑƒÐ¿Ð¸ `%s'\n" #: src/grpck.c:418 #, c-format msgid "group %s: no user %s\n" -msgstr "ÇÒÕÐÁ %s: ÎÅ ÍÁ¤ ËÏÒÉÓÔÕ×ÁÞ¦× %s\n" +msgstr "група %s: не має кориÑтувачів %s\n" #: src/grpck.c:420 src/grpck.c:590 #, c-format msgid "delete member `%s'? " -msgstr "×ÉÄÁÌÉÔÉ ÞÌÅÎÁ `%s'? " +msgstr "видалити члена `%s'? " -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/grpck.c:457 msgid "invalid shadow group file entry\n" -msgstr "ÎÅצÒÎÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі прихованих груп\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/grpck.c:520 msgid "duplicate shadow group entry\n" -msgstr "ÐÏ×ÔÏÒÀÀÞÉÊÓÑ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "повторюючийÑÑ Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі прихованих груп\n" #: src/grpck.c:537 msgid "no matching group file entry\n" -msgstr "צÄÓÕÔÎ¦Ê ×¦ÄÐÏצÄÎÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÇÒÕÐ\n" +msgstr "відÑутній відповідний Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі груп\n" #: src/grpck.c:558 #, c-format msgid "shadow group %s: no administrative user %s\n" -msgstr "ÐÒÉÈÏ×ÁÎÁ ÇÒÕÐÁ %s: ÎÅ ÍÁ¤ ÁÄͦΦÓÔÒÁÔÏÒÁ %s\n" +msgstr "прихована група %s: не має адмініÑтратора %s\n" #: src/grpck.c:560 #, c-format msgid "delete administrative member `%s'? " -msgstr "×ÉÄÁÌÉÔÉ ÁÄͦΦÓÔÒÁÔÏÒÁ `%s'? " +msgstr "видалити адмініÑтратора `%s'? " #: src/grpck.c:588 #, c-format msgid "shadow group %s: no user %s\n" -msgstr "ÐÒÉÈÏ×ÁÎÁ ÇÒÕÐÁ %s: ÎÅ ÍÁ¤ ËÏÒÉÓÔÕ×ÁÞ¦× %s\n" +msgstr "прихована група %s: не має кориÑтувачів %s\n" #: src/grpck.c:616 src/grpck.c:622 src/pwck.c:577 src/pwck.c:585 #, c-format msgid "%s: cannot update file %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÆÁÊÌ %s\n" +msgstr "%s: не можу оновити файл %s\n" #: src/grpck.c:647 src/pwck.c:612 #, c-format msgid "%s: the files have been updated; run mkpasswd\n" -msgstr "%s: ÆÁÊÌÉ ÂÕÌÏ ÏÎÏ×ÌÅÎÏ; ×ÉËÏÎÁÊÔÅ mkpasswd\n" +msgstr "%s: файли було оновлено; виконайте mkpasswd\n" #: src/grpck.c:648 src/grpck.c:652 src/pwck.c:613 src/pwck.c:617 #, c-format msgid "%s: no changes\n" -msgstr "%s: ÂÅÚ ÚͦÎ\n" +msgstr "%s: без змін\n" #: src/grpck.c:651 src/pwck.c:616 #, c-format msgid "%s: the files have been updated\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: ÎÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу блокувати файл прихованих груп\n" #: src/grpconv.c:76 src/grpunconv.c:72 #, c-format msgid "%s: can't open shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу відкрити файл прихованих груп\n" #: src/grpconv.c:94 #, c-format msgid "%s: can't remove shadow group %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×ÉÄÁÌÉÔÉ ÐÒÉÈÏ×ÁÎÕ ÇÒÕÐÕ %s\n" +msgstr "%s: не можу видалити приховану групу %s\n" -#: src/grpconv.c:138 src/pwconv.c:153 +#: src/grpconv.c:133 src/pwconv.c:154 #, c-format msgid "%s: can't update shadow entry for %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÐÒÉÈÏ×ÁÎÉÊ ÚÁÐÉÓ ÄÌÑ %s\n" +msgstr "%s: не можу оновити прихований Ð·Ð°Ð¿Ð¸Ñ Ð´Ð»Ñ %s\n" -#: src/grpconv.c:148 src/grpunconv.c:91 +#: src/grpconv.c:143 src/grpunconv.c:91 #, c-format msgid "%s: can't update entry for group %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÚÁÐÉÓ ÄÌÑ ÇÒÕÐÉ %s\n" +msgstr "%s: не можу оновити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¸ %s\n" -#: src/grpconv.c:155 src/grpunconv.c:99 +#: src/grpconv.c:150 src/grpunconv.c:99 #, c-format msgid "%s: can't update shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу оновити файл прихованих груп\n" -#: src/grpconv.c:160 src/grpunconv.c:105 +#: src/grpconv.c:155 src/grpunconv.c:105 #, c-format msgid "%s: can't update group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÆÁÊÌ ÇÒÕÐ\n" - -#: src/grpconv.c:175 src/grpunconv.c:127 -#, c-format -msgid "%s: not configured for shadow group support.\n" -msgstr "%s: ÎÅ ÚËÏÎÆ¦ÇÕÒÏ×ÁÎÏ ÄÌÑ Ð¦ÄÔÒÉÍËÉ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ.\n" +msgstr "%s: не можу оновити файл груп\n" #: src/grpunconv.c:110 #, c-format msgid "%s: can't delete shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×ÉÄÁÌÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу видалити файл прихованих груп\n" #: src/id.c:53 -msgid "usage: id [-a]\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: id [-a]\n" +#, fuzzy +msgid "Usage: id [-a]\n" +msgstr "викориÑтовуйте: id [-a]\n" #: src/id.c:55 -msgid "usage: id\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: id\n" +#, fuzzy +msgid "Usage: id\n" +msgstr "викориÑтовуйте: id\n" -#. -#. * Start off the group message. It will be of the format -#. * -#. * groups=###(aaa),###(aaa),###(aaa) -#. * -#. * where "###" is a numerical value and "aaa" is the -#. * corresponding name for each respective numerical value. -#. #: src/id.c:169 msgid " groups=" -msgstr " ÇÒÕÐÉ=" +msgstr " групи=" #: src/lastlog.c:110 src/lastlog.c:116 #, c-format -msgid "Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n" +msgid "Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n" msgstr "" #: src/lastlog.c:181 msgid "Username Port From Latest\n" -msgstr "ëÏÒÉÓÔÕ×ÁÞ ëÏÎÓÏÌØ úצÄËÉ ïÓÔÁÎÎ¦Ê ×ȦÄ\n" +msgstr "КориÑтувач КонÑоль Звідки ОÑтанній вхід\n" #: src/lastlog.c:183 msgid "Username Port Latest\n" -msgstr "ëÏÒÉÓÔÕ×ÁÞ ðÏÒÔ ïÓÔÁÎÎ¦Ê ×ȦÄ\n" +msgstr "КориÑтувач Порт ОÑтанній вхід\n" -#: src/lastlog.c:197 +#: src/lastlog.c:198 msgid "**Never logged in**" -msgstr "**î¦ËÏÌÉ ÎÅ ×ÈÏÄÉ×**" +msgstr "**Ðіколи не входив**" -#: src/login.c:185 -#, c-format -msgid "usage: %s [-p] [name]\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-p] [¦Í'Ñ]\n" +#: src/login.c:175 +#, fuzzy, c-format +msgid "Usage: %s [-p] [name]\n" +msgstr "викориÑтовуйте: %s [-p] [ім'Ñ]\n" -#: src/login.c:188 +#: src/login.c:178 #, 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:190 +#: src/login.c:180 #, c-format msgid " %s [-p] -r host\n" -msgstr " %s [-p] -r ÈÏÓÔ\n" +msgstr " %s [-p] -r хоÑÑ‚\n" -#: src/login.c:274 +#: src/login.c:259 msgid "Invalid login time\n" -msgstr "îÅצÒÎÉÊ ÞÁÓ ÄÌÑ ×ÈÏÄÕ\n" +msgstr "Ðевірний Ñ‡Ð°Ñ Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñƒ\n" -#: src/login.c:329 +#: src/login.c:314 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" "\n" -"óÉÓÔÅÍÕ ÚÁËÒÉÔÏ ÄÌÑ ÐÒÏÆ¦ÌÁËÔÉËÉ.\n" +"СиÑтему закрито Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ð°ÐºÑ‚Ð¸ÐºÐ¸.\n" -#: src/login.c:340 +#: src/login.c:325 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[ðÒÏÊÛÌÏ ×¦ÄËÌÀÞÅÎÎÑ -- ÄÏÚ×ÏÌÅÎÏ ÌÉÛÅ ×È¦Ä root-a.]\n" +"[Пройшло Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ -- дозволено лише вхід root-a.]\n" -#: src/login.c:377 +#: src/login.c:362 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" "\n" -"þÁÓ ÌÏǦÎÕ ×ÉÞÅÒÐÁÎÏ ÚÁ %d ÓÅËÕÎÄ.\n" +"Ð§Ð°Ñ Ð»Ð¾Ð³Ñ–Ð½Ñƒ вичерпано за %d Ñекунд.\n" -#: src/login.c:689 +#: src/login.c:648 #, c-format msgid " on `%.100s' from `%.200s'" -msgstr " ÎÁ `%s.100s' Ú `%.200s'" +msgstr " на `%s.100s' з `%.200s'" -#: src/login.c:693 +#: src/login.c:652 #, c-format msgid " on `%.100s'" -msgstr " ÎÁ `%.100s'" +msgstr " на `%.100s'" -#: src/login.c:852 +#: src/login.c:811 #, c-format msgid "" "\n" @@ -1345,69 +1217,69 @@ msgstr "" "\n" "%s login: " -#: src/login.c:855 +#: src/login.c:814 msgid "login: " msgstr "login: " -#: src/login.c:1071 src/sulogin.c:233 +#: src/login.c:1013 src/sulogin.c:205 msgid "Login incorrect" -msgstr "îÅצÒÎÉÊ ÌÏǦÎ" +msgstr "Ðевірний логін" -#: src/login.c:1265 +#: src/login.c:1193 msgid "Warning: login re-enabled after temporary lockout.\n" -msgstr "úÁÓÔÅÒÅÖÅÎÎÑ: login ÐÏÎÏ×ÌÅÎÏ Ð¦ÓÌÑ ÔÉÍÞÁÓÏ×ÏÇÏ ÂÌÏËÕ×ÁÎÎÑ.\n" +msgstr "ЗаÑтереженнÑ: login поновлено піÑÐ»Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового блокуваннÑ.\n" -#: src/login.c:1278 +#: src/login.c:1207 #, c-format msgid "Last login: %s on %s" -msgstr "ïÓÔÁÎÎ¦Ê ×È¦Ä × ÓÉÓÔÅÍÕ: %s ÎÁ %s" +msgstr "ОÑтанній вхід в ÑиÑтему: %s на %s" -#: src/login.c:1281 +#: src/login.c:1210 #, c-format msgid "Last login: %.19s on %s" -msgstr "ïÓÔÁÎÎ¦Ê ×È¦Ä × ÓÉÓÔÅÍÕ: %s ÎÁ %s" +msgstr "ОÑтанній вхід в ÑиÑтему: %s на %s" -#: src/login.c:1287 +#: src/login.c:1216 #, c-format msgid " from %.*s" -msgstr " Ú %.*s" +msgstr " з %.*s" -#: src/login.c:1364 +#: src/login.c:1293 msgid "Starting rad_login\n" -msgstr "óÔÁÒÔÕ¤ÍÏ rad_login\n" +msgstr "Стартуємо rad_login\n" #: 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:232 src/mkpasswd.c:237 #, c-format msgid "%s: cannot overwrite file %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÚÁÐÉÓÁÔÉ ÆÁÊÌ %s\n" +msgstr "%s: не можу перезапиÑати файл %s\n" #: src/mkpasswd.c:252 #, c-format msgid "%s: cannot open DBM files for %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌÉ DBM ÄÌÑ %s\n" +msgstr "%s: не можу відкрити файли DBM Ð´Ð»Ñ %s\n" #: src/mkpasswd.c:287 #, c-format msgid "%s: the beginning with " -msgstr "%s: ÒÏÚÐÏÞÉÎÁ¤ÍÏ Ú " +msgstr "%s: розпочинаємо з " #: src/mkpasswd.c:288 msgid " is too long\n" -msgstr " ÐÏÌÑ ÚÁÎÁÄÔÏ ÄÏ×Ǧ\n" +msgstr " Ð¿Ð¾Ð»Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ довгі\n" #: src/mkpasswd.c:315 #, c-format msgid "%s: error parsing line \"%s\"\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÂÒÏÂËÉ ÒÑÄËÕ \"%s\"\n" +msgstr "%s: помилка обробки Ñ€Ñдку \"%s\"\n" #: src/mkpasswd.c:323 src/mkpasswd.c:328 src/mkpasswd.c:333 src/mkpasswd.c:338 msgid "adding record for name " -msgstr "ÄÏÄÁÎÏ ÚÁÐÉÓ ÄÌÑ ¦ÍÅΦ " +msgstr "додано Ð·Ð°Ð¿Ð¸Ñ Ð´Ð»Ñ Ñ–Ð¼ÐµÐ½Ñ– " #: src/mkpasswd.c:324 src/mkpasswd.c:329 src/mkpasswd.c:334 src/mkpasswd.c:339 #: src/mkpasswd.c:345 src/mkpasswd.c:351 src/mkpasswd.c:356 src/mkpasswd.c:361 @@ -1417,406 +1289,346 @@ msgstr "" #: src/mkpasswd.c:344 src/mkpasswd.c:350 src/mkpasswd.c:355 src/mkpasswd.c:360 #, c-format msgid "%s: error adding record for " -msgstr "%s: ÐÏÍÉÌËÁ ÄÏÄÁÎÎÑ ÚÁÐÉÓÕ " +msgstr "%s: помилка Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу " #: src/mkpasswd.c:378 #, c-format msgid "added %d entries, longest was %d\n" -msgstr "ÄÏÄÁÎÏ %d ÚÁÐÉÓ¦×, ÄÏ×ÖÉÎÏÀ %d\n" +msgstr "додано %d запиÑів, довжиною %d\n" #: src/mkpasswd.c:392 #, 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:395 #, 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:398 #, 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 -msgid "usage: newgrp [-] [group]\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: newgrp [-] [ÇÒÕÐÁ]\n" +#, fuzzy +msgid "Usage: newgrp [-] [group]\n" +msgstr "викориÑтовуйте: newgrp [-] [група]\n" #: src/newgrp.c:63 -msgid "usage: sg group [[-c] command]\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: sg ÇÒÕÐÁ [[-c] ËÏÍÁÎÄÁ]\n" +#, fuzzy +msgid "Usage: sg group [[-c] command]\n" +msgstr "викориÑтовуйте: sg група [[-c] команда]\n" -#: src/newgrp.c:136 +#: src/newgrp.c:131 #, c-format msgid "unknown uid: %u\n" -msgstr "ÎÅצÄÏÍÉÊ uid: %u\n" +msgstr "невідомий uid: %u\n" -#: src/newgrp.c:219 +#: src/newgrp.c:214 #, c-format msgid "unknown gid: %lu\n" -msgstr "ÎÅצÄÏÍÉÊ gid: %lu\n" +msgstr "невідомий gid: %lu\n" -#: src/newgrp.c:365 src/newgrp.c:374 +#: src/newgrp.c:360 src/newgrp.c:369 msgid "Sorry.\n" -msgstr "÷ÉÂÁÞÔÅ.\n" +msgstr "Вибачте.\n" -#: src/newgrp.c:472 +#: src/newgrp.c:469 msgid "too many groups\n" -msgstr "ÚÁÎÁÄÔÏ ÂÁÇÁÔÏ ÇÒÕÐ\n" +msgstr "занадто багато груп\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "÷ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [input]\n" +msgstr "ВикориÑтовуйте: %s [input]\n" -#: src/newusers.c:407 +#: src/newusers.c:388 #, c-format msgid "%s: can't lock /etc/passwd.\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ /etc/passwd.\n" +msgstr "%s: не можу блокувати /etc/passwd.\n" -#: src/newusers.c:419 +#: src/newusers.c:400 #, c-format msgid "%s: can't lock files, try again later\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌÉ, ÓÐÒÏÂÕÊÔŠЦÚΦÛÅ\n" +msgstr "%s: не можу блокувати файли, Ñпробуйте пізніше\n" -#: src/newusers.c:435 +#: src/newusers.c:416 #, c-format msgid "%s: can't open files\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ\n" +msgstr "%s: не можу відкрити файл\n" + +#: src/newusers.c:461 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: Ñ€Ñдок %d: невірний Ñ€Ñдок\n" #: src/newusers.c:480 #, c-format -msgid "%s: line %d: invalid line\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅצÒÎÉÊ ÒÑÄÏË\n" - -#: src/newusers.c:499 -#, c-format msgid "%s: line %d: can't create GID\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ GID\n" +msgstr "%s: Ñ€Ñдок %d: не можу Ñтворити GID\n" -#: src/newusers.c:515 +#: src/newusers.c:496 #, c-format msgid "%s: line %d: can't create UID\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ UID\n" +msgstr "%s: Ñ€Ñдок %d: не можу Ñтворити UID\n" -#: src/newusers.c:528 +#: src/newusers.c:509 #, c-format msgid "%s: line %d: cannot find user %s\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅ ÍÏÖÕ ÚÎÁÊÔÉ ËÏÒÉÓÔÕ×ÁÞÁ %s\n" +msgstr "%s: Ñ€Ñдок %d: не можу знайти кориÑтувача %s\n" -#: src/newusers.c:537 +#: src/newusers.c:518 #, c-format msgid "%s: line %d: can't update password\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÐÁÒÏÌØ\n" +msgstr "%s: Ñ€Ñдок %d: не можу оновити пароль\n" -#: src/newusers.c:555 +#: src/newusers.c:536 #, c-format msgid "%s: line %d: mkdir failed\n" -msgstr "%s: ÒÑÄÏË %d: mkdir ÎÅ ×ÉËÏÎÁ×ÓÑ\n" +msgstr "%s: Ñ€Ñдок %d: mkdir не виконавÑÑ\n" -#: src/newusers.c:561 +#: src/newusers.c:542 #, c-format msgid "%s: line %d: chown failed\n" -msgstr "%s: ÒÑÄÏË %d: chown ÎÅ ×ÉËÏÎÁ×ÓÑ\n" +msgstr "%s: Ñ€Ñдок %d: chown не виконавÑÑ\n" -#: src/newusers.c:571 +#: src/newusers.c:552 #, c-format msgid "%s: line %d: can't update entry\n" -msgstr "%s: ÒÑÄÏË %d: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÚÁÐÉÓ\n" +msgstr "%s: Ñ€Ñдок %d: не можу оновити запиÑ\n" -#: src/newusers.c:603 +#: src/newusers.c:584 #, c-format msgid "%s: error updating files\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÆÁÊÌÕ\n" +msgstr "%s: помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ\n" -#: src/passwd.c:174 -#, c-format -msgid "usage: %s [-f|-s] [name]\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-f|-s] [¦Í'Ñ]\n" +#: src/passwd.c:155 +#, fuzzy, c-format +msgid "Usage: %s [-f|-s] [name]\n" +msgstr "викориÑтовуйте: %s [-f|-s] [ім'Ñ]\n" -#: src/passwd.c:178 +#: src/passwd.c:159 #, 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:180 +#: src/passwd.c:161 #, 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:283 -#, c-format -msgid "User %s has a TCFS key, his old password is required.\n" -msgstr "ëÏÒÉÓÔÕ×ÁÞ %s ÍÁ¤ TCFS ËÌÀÞ, ÐÏÔÒ¦ÂÅÎ ÊÏÇÏ ÓÔÁÒÉÊ ÐÁÒÏÌØ.\n" - -#: src/passwd.c:286 -msgid "You can use -t option to force the change.\n" -msgstr "÷É ÍÁ¤ÔÅ ÚÍÏÇÕ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ËÌÀÞ -t ÄÌÑ ÐÒÉÓËÏÒÅÎÎÑ ÚͦÎ.\n" - -#: src/passwd.c:292 +#: src/passwd.c:216 msgid "Old password: " -msgstr "óÔÁÒÉÊ ÐÁÒÏÌØ: " +msgstr "Старий пароль: " -#: src/passwd.c:301 +#: src/passwd.c:225 #, c-format msgid "Incorrect password for `%s'\n" -msgstr "îÅצÒÎÉÊ ÐÁÒÏÌØ ÄÌÑ `%s'\n" +msgstr "Ðевірний пароль Ð´Ð»Ñ `%s'\n" -#: src/passwd.c:314 -#, c-format -msgid "Warning: user %s has a TCFS key.\n" -msgstr "úÁÓÔÅÒÅÖÅÎÎÑ: ËÏÒÉÓÔÕ×ÁÞ %s ÍÁ¤ TCFS ËÌÀÞ.\n" - -#: src/passwd.c:333 +#: src/passwd.c:249 #, 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 "" -"÷×ÅÄ¦ÔØ ÎÏ×ÉÊ ÐÁÒÏÌØ (×¦Ä %d ÄÏ %d ÚÎÁ˦×)\n" -"úͦÛÕÊÔÅ ×ÅÌÉ˦ ÔÁ ÍÁ̦ ̦ÔÅÒÉ ÔÁ ÃÉÆÒÉ.\n" +"Введіть новий пароль (від %d до %d знаків)\n" +"Змішуйте великі та малі літери та цифри.\n" -#: src/passwd.c:339 +#: src/passwd.c:255 msgid "New password: " -msgstr "îÏ×ÉÊ ÐÁÒÏÌØ: " +msgstr "Ðовий пароль: " -#: src/passwd.c:350 +#: src/passwd.c:266 msgid "Try again.\n" -msgstr "óÐÒÏÂÕÊ ÝÅ.\n" +msgstr "Спробуй ще.\n" -#: src/passwd.c:361 +#: src/passwd.c:277 msgid "" "\n" "Warning: weak password (enter it again to use it anyway).\n" msgstr "" "\n" -"úÁÓÔÅÒÅÖÅÎÎÑ: ðÏÇÁÎÉÊ ÐÁÒÏÌØ (××ÅÄ¦ÔØ ÊÏÇÏ ÚÎÏ×Õ, ÑËÝÏ ×ÓÅ ÏÄÎÏ ÂÁÖÁ¤ÔÅ ÊÏÇÏ " -"×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ).\n" +"ЗаÑтереженнÑ: Поганий пароль (введіть його знову, Ñкщо вÑе одно бажаєте його " +"викориÑтовувати).\n" -#: src/passwd.c:371 +#: src/passwd.c:287 msgid "They don't match; try again.\n" -msgstr "îÅ ÓЦ×ÐÁÄÁ¤; ÓÐÒÏÂÕÊÔÅ ÚÎÏ×Õ.\n" +msgstr "Ðе Ñпівпадає; Ñпробуйте знову.\n" -#: src/passwd.c:451 src/passwd.c:469 +#: src/passwd.c:364 src/passwd.c:382 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "ðÁÒÏÌØ ÄÌÑ %s ÎÅ ÍÏÖÅ ÂÕÔÉ ÚͦÎÅÎÉÊ.\n" +msgstr "Пароль Ð´Ð»Ñ %s не може бути змінений.\n" -#: src/passwd.c:494 +#: src/passwd.c:396 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "÷ÉÂÁÞÔÅ, ÐÁÒÏÌØ ÄÌÑ %s ÎÇÅ ÍÏÖÅ ÂÕÔÉ ÚͦÎÅÎÏ ÚÁÒÁÚ.\n" +msgstr "Вибачте, пароль Ð´Ð»Ñ %s нге може бути змінено зараз.\n" -#: src/passwd.c:614 +#: src/passwd.c:479 #, c-format msgid "%s: out of memory\n" -msgstr "%s: ÂÒÁË ÐÁÍ'ÑÔ¦\n" +msgstr "%s: брак пам'Ñті\n" -#: src/passwd.c:769 -msgid "Cannot lock the TCFS key database; try again later\n" -msgstr "îÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÂÁÚÕ ËÌÀÞÅÊ TCFS; ÓÐÒÏÂÕÊÔŠЦÚΦÛÅ\n" - -#: src/passwd.c:777 -msgid "Cannot open the TCFS key database.\n" -msgstr "îÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÂÁÚÕ ËÌÀÞÅÊ TCFS.\n" - -#: src/passwd.c:785 -msgid "Error updating the TCFS key database.\n" -msgstr "îÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÂÁÚÕ ËÌÀÞÅÊ TCFS.\n" - -#: src/passwd.c:792 -msgid "Cannot commit TCFS changes.\n" -msgstr "îÅ ÍÏÖÕ ×ÎÅÓÔÉ ÚͦÎÉ Õ ÂÁÚÕ ËÌÀÞÅÊ TCFS.\n" - -#: src/passwd.c:975 +#: src/passwd.c:730 #, c-format msgid "%s: Cannot execute %s" -msgstr "%s: îÅ ÍÏÖÕ ×ÉËÏÎÁÔÉ %s" +msgstr "%s: Ðе можу виконати %s" -#: src/passwd.c:1077 +#: src/passwd.c:815 #, c-format msgid "%s: repository %s not supported\n" -msgstr "%s: ÒÅÐÏÚÉÔÏÒ¦Ê %s ΊЦÄÔÒÉÍÕ¤ÔØÓÑ\n" +msgstr "%s: репозиторій %s не підтримуєтьÑÑ\n" -#: src/passwd.c:1152 +#: src/passwd.c:890 #, c-format msgid "%s: Permission denied\n" -msgstr "%s: äÏÓÔÕÐ ÚÁÂÏÒÏÎÅÎÏ\n" +msgstr "%s: ДоÑтуп заборонено\n" -#: src/passwd.c:1176 +#: src/passwd.c:914 #, c-format msgid "You may not change the password for %s.\n" -msgstr "÷É ÎÅ ÍÏÖÅÔÅ ÚͦÎÉÔÉ ÐÁÒÏÌØ ÄÌÑ %s.\n" +msgstr "Ви не можете змінити пароль Ð´Ð»Ñ %s.\n" -#: src/passwd.c:1242 +#: src/passwd.c:962 #, c-format msgid "Changing password for %s\n" -msgstr "úͦÎÁ ÐÁÒÏÌÑ ÄÌÑ %s\n" +msgstr "Зміна Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ %s\n" -#: src/passwd.c:1246 +#: src/passwd.c:966 #, c-format msgid "The password for %s is unchanged.\n" -msgstr "ðÁÒÏÌØ ÄÌÑ %s ÎÅ ÚͦÎÅÎÏ.\n" +msgstr "Пароль Ð´Ð»Ñ %s не змінено.\n" -#: src/passwd.c:1297 +#: src/passwd.c:1016 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] [пароль [shadow]]\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" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:295 msgid "invalid password file entry\n" -msgstr "ÎÅצÒÎÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÁÒÏÌÅÊ\n" +msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі паролей\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:357 msgid "duplicate password entry\n" -msgstr "ÄÕÂÌÀÀÞÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÁÒÏÌÅÊ\n" +msgstr "дублюючий Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі паролей\n" #: src/pwck.c:373 #, c-format msgid "invalid user name '%s'\n" -msgstr "ÎÅצÒÎÅ ¦Í'Ñ ËÏÒÉÓÔÕ×ÁÞÁ '%s'\n" +msgstr "невірне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача '%s'\n" -#. -#. * No primary group, just give a warning -#. #: src/pwck.c:388 #, c-format msgid "user %s: no group %u\n" -msgstr "ËÏÒÉÓÔÕ×ÁÞ %s: ÎÅ ÍÁ¤ ÇÒÕÐÉ %u\n" +msgstr "кориÑтувач %s: не має групи %u\n" #: src/pwck.c:404 #, c-format msgid "user %s: directory %s does not exist\n" -msgstr "ËÏÒÉÓÔÕ×ÁÞ %s: ÔÅËÁ %s ÎÅ ¦ÓÎÕ¤\n" +msgstr "кориÑтувач %s: тека %s не Ñ–Ñнує\n" -#. -#. * Login shell doesn't exist, give a warning -#. #: src/pwck.c:420 #, c-format msgid "user %s: program %s does not exist\n" -msgstr "ËÏÒÉÓÔÕ×ÁÞ %s: ÐÒÏÇÒÁÍÁ %s ÎÅ ¦ÓÎÕ¤\n" +msgstr "кориÑтувач %s: програма %s не Ñ–Ñнує\n" -#. -#. * Tell the user this entire line is bogus and ask -#. * them to delete it. -#. #: src/pwck.c:456 msgid "invalid shadow password file entry\n" -msgstr "ÎÅצÒÎÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі прихованих паролей\n" -#. -#. * Tell the user this entry is a duplicate of -#. * another and ask them to delete it. -#. #: src/pwck.c:518 msgid "duplicate shadow password entry\n" -msgstr "ÄÕÂÌÀÀÞÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "дублюючий Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі прихованих паролей\n" -#. -#. * Tell the user this entry has no matching -#. * /etc/passwd entry and ask them to delete it. -#. #: src/pwck.c:542 msgid "no matching password file entry\n" -msgstr "צÄÓÕÔÎ¦Ê ×¦ÄÐÏצÄÎÉÊ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÁÒÏÌÅÊ\n" +msgstr "відÑутній відповідний Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі паролей\n" #: src/pwck.c:560 #, c-format msgid "user %s: last password change in the future\n" -msgstr "ËÏÒÉÓÔÕ×ÁÞ %s: ÏÓÔÁÎÎÑ ÚͦÎÁ ÐÁÒÏÌÑ Õ ÍÁÊÂÕÔÎØÏÍÕ\n" +msgstr "кориÑтувач %s: оÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð° Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñƒ майбутньому\n" -#: src/pwconv.c:84 src/pwunconv.c:93 +#: 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:89 src/pwunconv.c:98 +#: 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:117 +#: src/pwconv.c:118 #, c-format msgid "%s: can't remove shadow entry for %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄÁÌÉÔÉ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ ÄÌÑ %s\n" +msgstr "%s: не можу відалити Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі прихованих паролей Ð´Ð»Ñ %s\n" -#: src/pwconv.c:163 +#: src/pwconv.c:164 #, c-format msgid "%s: can't update passwd entry for %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÚÁÐÉÓ Õ ÆÁÊ̦ ÐÁÒÏÌÅÊ ÄÌÑ %s\n" +msgstr "%s: не можу оновити Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі паролей Ð´Ð»Ñ %s\n" -#: src/pwconv.c:170 +#: src/pwconv.c:171 #, c-format msgid "%s: can't update shadow file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу оновити файл прихованих паролей\n" -#: src/pwconv.c:175 +#: src/pwconv.c:176 #, c-format msgid "%s: can't update passwd file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу оновити файл паролей\n" -#: src/pwunconv.c:50 -#, c-format -msgid "%s: Shadow passwords are not configured.\n" -msgstr "%s: ðÒÉÈÏ×ÁΦ ÐÁÒÏ̦ ÎÅ ÚËÏÎÆ¦ÇÕÒÏ×ÁÎÏ.\n" - -#: src/pwunconv.c:160 +#: 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:181 +#: src/pwunconv.c:145 #, c-format msgid "%s: can't delete shadow password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×ÉÄÁÌÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу видалити файл прихованих паролей\n" #: src/su.c:133 msgid "Sorry." -msgstr "÷ÉÂÁÞÔÅ." +msgstr "Вибачте." #: src/su.c:216 #, c-format msgid "%s: must be run from a terminal\n" -msgstr "%s: ÐÏ×ÉÎÏ ÂÕÔÉ ÚÁÐÕÝÅÎÏ Ú ÔÅÒͦÎÁÌÕ\n" +msgstr "%s: повино бути запущено з терміналу\n" #: src/su.c:306 #, c-format msgid "%s: pam_start: error %d\n" -msgstr "%s: pam_start: ÐÏÍÉÌËÁ %d\n" +msgstr "%s: pam_start: помилка %d\n" #: src/su.c:336 #, c-format msgid "Unknown id: %s\n" -msgstr "îÅצÄÏÍÉÊ id: %s\n" +msgstr "Ðевідомий id: %s\n" #: src/su.c:373 src/su.c:390 #, c-format msgid "You are not authorized to su %s\n" -msgstr "÷É ÎÅ Á×ÔÏÒÉÚÏ×ÁΦ ÄÌÑ su %s\n" +msgstr "Ви не авторизовані Ð´Ð»Ñ su %s\n" -#. require own password #: src/su.c:385 msgid "(Enter your own password.)" -msgstr "(÷×ÅÄ¦ÔØ ×ÁÛ ÐÁÒÏÌØ.)" +msgstr "(Введіть ваш пароль.)" #: src/su.c:419 #, c-format @@ -1825,615 +1637,669 @@ msgid "" "(Ignored)\n" msgstr "" "%s: %s\n" -"(¶ÇÎÏÒÕÀ)\n" +"(Ігнорую)\n" -#: src/su.c:626 +#: src/su.c:609 msgid "No shell\n" -msgstr "îÅÍÁ¤ shell\n" +msgstr "Ðемає shell\n" -#: src/suauth.c:100 +#: src/suauth.c:105 msgid "Access to su to that account DENIED.\n" -msgstr "äÏÓÔÕÐ ÃØÏÇÏ ËÏÒÉÓÔÕ×ÁÞÁ ÄÏ su úáâïòïîåîï.\n" +msgstr "ДоÑтуп цього кориÑтувача до su ЗÐБОРОÐЕÐО.\n" -#: src/suauth.c:107 +#: src/suauth.c:113 msgid "Password authentication bypassed.\n" -msgstr "áÕÔÅÎÔÉÆ¦ËÁæÀ ÐÒÏÊÄÅÎÏ.\n" +msgstr "Ðутентифікацію пройдено.\n" -#: src/suauth.c:114 +#: src/suauth.c:122 msgid "Please enter your OWN password as authentication.\n" -msgstr "âÕÄØÌÁÓËÁ ××ÅÄ¦ÔØ ×ÁÛ ×ÌÁÓÎÉÊ ÐÁÒÏÌØ ÄÌÑ ÁÕÔÅÎÔÉÆ¦ËÁæ§.\n" +msgstr "БудьлаÑка введіть ваш влаÑний пароль Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ—.\n" -#. must be a password file! -#: src/sulogin.c:132 +#: src/sulogin.c:118 msgid "No password file\n" -msgstr "îÅÍÁ¤ ÆÁÊÌÁ ÐÁÒÏÌÅÊ\n" +msgstr "Ðемає файла паролей\n" -#. -#. * Fail secure -#. -#: src/sulogin.c:174 +#: src/sulogin.c:160 msgid "No password entry for 'root'\n" -msgstr "âÒÁËÕ¤ ÚÁÐÉÓÕ Õ ÂÁÚ¦ ÐÁÒÏÌÅÊ ÄÌÑ 'root'\n" +msgstr "Бракує запиÑу у базі паролей Ð´Ð»Ñ 'root'\n" -#: src/sulogin.c:190 +#: src/sulogin.c:176 msgid "" "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):" msgstr "" "\n" -"îÁÔÉÓÎ¦ÔØ control-d ÄÌÑ ×ÉËÏÎÁÎÎÑ Ú×ÉÞÁÊÎÏÇÏ ÚÁ×ÁÎÔÁÖÅÎÎÑ,\n" -"(ÁÂÏ ××ÅÄ¦ÔØ ÐÁÒÏÌØ ÁÄͦΦÓÔÒÁÔÏÒÁ ÄÌÑ ×¦ÄÎÏ×ÌÅÎÎÑ ÓÉÓÔÅÍÉ):" +"ÐатиÑніть control-d Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ завантаженнÑ,\n" +"(або введіть пароль адмініÑтратора Ð´Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми):" -#. make new environment active -#: src/sulogin.c:243 +#: src/sulogin.c:212 msgid "Entering System Maintenance Mode\n" -msgstr "÷ÈÏÄÉÍÏ Õ ÒÅÖÉÍ ×¦ÄÎÏ×ÌÅÎÎÑ ÓÉÓÔÅÍÉ\n" +msgstr "Входимо у режим Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми\n" -#: src/useradd.c:251 +#: src/useradd.c:234 #, c-format msgid "%s: rebuild the group database\n" -msgstr "%s: ÐÅÒÅÓÔÒÏÀÀ ÂÁÚÕ ÇÒÕÐ\n" +msgstr "%s: переÑтроюю базу груп\n" -#: src/useradd.c:260 +#: src/useradd.c:243 #, c-format msgid "%s: rebuild the shadow group database\n" -msgstr "%s: ÐÅÒÅÓÔÒÏÀÀ ÂÁÚÕ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: переÑтроюю базу прихованих груп\n" -#: src/useradd.c:295 src/useradd.c:309 src/usermod.c:981 src/usermod.c:995 +#: src/useradd.c:278 src/useradd.c:292 src/usermod.c:741 src/usermod.c:755 #, c-format msgid "%s: invalid numeric argument `%s'\n" -msgstr "%s: ÎÅצÒÎÉÊ ÞÉÓÌÏ×ÉÊ ÁÒÇÕÍÅÎÔ `%s'\n" +msgstr "%s: невірний чиÑловий аргумент `%s'\n" -#: src/useradd.c:365 +#: src/useradd.c:349 #, c-format msgid "%s: unknown gid %s\n" -msgstr "%s: ÎÅצÄÏÍÉÊ gid %s\n" +msgstr "%s: невідомий gid %s\n" -#: src/useradd.c:373 src/useradd.c:676 src/useradd.c:1269 src/usermod.c:260 -#: src/usermod.c:1128 +#: src/useradd.c:357 src/useradd.c:636 src/useradd.c:1129 src/usermod.c:244 +#: src/usermod.c:876 #, c-format msgid "%s: unknown group %s\n" -msgstr "%s: ÎÅצÄÏÍÁ ÇÒÕÐÁ %s\n" +msgstr "%s: невідома група %s\n" -#: src/useradd.c:440 -#, c-format -msgid "group=%s,%u basedir=%s skel=%s\n" -msgstr "ÇÒÕÐÁ=%s,%u ÇÏÌÏ×ÎÁ_ÔÅËÁ=%s skel=%s\n" - -#: src/useradd.c:444 -#, c-format -msgid "shell=%s " -msgstr "shell=%s " - -#: src/useradd.c:446 -#, c-format -msgid "inactive=%ld expire=%s" -msgstr "ÎÅÁËÔÉ×ÎÉÊ=%ld ÐÒÏÓÔÏÒÏÞÅÎÉÊ=%s" - -#: src/useradd.c:450 +#: src/useradd.c:419 #, c-format msgid "GROUP=%u\n" -msgstr "çòõðá=%u\n" +msgstr "ГРУПÐ=%u\n" -#: src/useradd.c:451 +#: src/useradd.c:420 #, c-format msgid "HOME=%s\n" -msgstr "äïíáûîñ_ôåëá=%s\n" +msgstr "ДОМÐШÐЯ_ТЕКÐ=%s\n" -#: src/useradd.c:453 +#: src/useradd.c:422 #, c-format msgid "INACTIVE=%ld\n" -msgstr "îåáëôé÷îéê=%ld\n" +msgstr "ÐЕÐКТИВÐИЙ=%ld\n" -#: src/useradd.c:454 +#: src/useradd.c:423 #, c-format msgid "EXPIRE=%s\n" -msgstr "ðòïóôòïþåîéê=%s\n" +msgstr "ПРОСТРОЧЕÐИЙ=%s\n" -#: src/useradd.c:456 +#: src/useradd.c:425 #, c-format msgid "SHELL=%s\n" msgstr "SHELL=%s\n" -#: src/useradd.c:457 +#: src/useradd.c:426 #, c-format msgid "SKEL=%s\n" msgstr "SKEL=%s\n" -#: src/useradd.c:498 +#: src/useradd.c:462 #, c-format msgid "%s: cannot create new defaults file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ ÎÏ×ÉÊ ÆÁÊÌ ¦Ú ÚÎÁÞÅÎÎÑÍÉ ÐÏ ÚÁÍÏ×ÞÅ×ÁÎÎÀ\n" +msgstr "%s: не можу Ñтворити новий файл із значеннÑми по замовчеванню\n" -#: src/useradd.c:503 +#: src/useradd.c:467 #, fuzzy, c-format msgid "%s: cannot open new defaults file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ ÎÏ×ÉÊ ÆÁÊÌ ¦Ú ÚÎÁÞÅÎÎÑÍÉ ÐÏ ÚÁÍÏ×ÞÅ×ÁÎÎÀ\n" +msgstr "%s: не можу Ñтворити новий файл із значеннÑми по замовчеванню\n" -#: src/useradd.c:596 src/useradd.c:608 +#: src/useradd.c:552 src/useradd.c:564 #, c-format msgid "%s: rename: %s" -msgstr "%s: ÐÅÒÅÊÍÅÎÕ×ÁÎÎÑ: %s" +msgstr "%s: перейменуваннÑ: %s" -#: src/useradd.c:697 src/usermod.c:281 +#: src/useradd.c:657 src/usermod.c:265 #, c-format msgid "%s: group `%s' is a NIS group.\n" -msgstr "%s: ÇÒÕÐÁ `%s' ¤ ÇÒÕÐÏÀ NIS.\n" +msgstr "%s: група `%s' Ñ” групою NIS.\n" -#: src/useradd.c:706 src/usermod.c:290 +#: src/useradd.c:666 src/usermod.c:274 #, c-format msgid "%s: too many groups specified (max %d).\n" -msgstr "%s: ÚÁÎÁÄÔÏ ÂÁÇÁÔÏ ÇÒÕÐ ×ËÁÚÁÎÎÏ (ÍÁËÓ %d).\n" +msgstr "%s: занадто багато груп вказанно (Ð¼Ð°ÐºÑ %d).\n" -#: src/useradd.c:738 src/usermod.c:322 -#, c-format -msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s\t[-u uid [-o]] [-g ÇÒÕÐÁ] [-G ÇÒÕÐÁ,...] \n" +#: src/useradd.c:698 +msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "викориÑтовуйте: useradd [-u uid [-o]] [-g група] [-G група,...] \n" -#: src/useradd.c:742 -msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" -msgstr "\t\t[-d ÄÏÍÁÛÎÑ_ÔÅËÁ] [-s shell] [-c ËÏÍÅÎÔÁÒ] [-m [-k ÛÁÂÌÏÎ]]\n" +#: src/useradd.c:701 +msgid " [-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "" +" [-d домашнÑ_тека] [-s shell] [-c коментар]\n" +" [-m [-k шаблон]]\n" -#: src/useradd.c:745 src/usermod.c:329 -msgid "[-f inactive] [-e expire ] " -msgstr "[-f ÎÅÁËÔÉ×ÎÉÊ] [-e ÐÒÏÓÔÒÏÞÅÎÉÊ] " +#: src/useradd.c:703 src/useradd.c:708 +msgid " [-f inactive] [-e expire]\n" +msgstr " [-f неактивний] [-e проÑтрочений]\n" -#: src/useradd.c:748 -msgid "[-A program] " -msgstr "[-A ÐÒÏÇÒÁÍÁ] " +#: src/useradd.c:706 +msgid " useradd -D [-g group] [-b base] [-s shell]\n" +msgstr " useradd -D [-g група] [-b базова_тека] [-s shell]\n" -#: src/useradd.c:750 -msgid "[-p passwd] name\n" -msgstr "[-p ÐÁÒÏÌØ] ¦Í'Ñ\n" - -#: src/useradd.c:753 -#, c-format -msgid " %s\t-D [-g group] [-b base] [-s shell]\n" -msgstr " %s\t-D [-g ÇÒÕÐÁ] [-b ÂÁÚÏ×Á_ÔÅËÁ] [-s shell]\n" - -#: src/useradd.c:756 -msgid "\t\t[-f inactive] [-e expire ]\n" -msgstr "\t\t[-f ÎÅÁËÔÉ×ÎÉÊ] [-e ÐÒÏÓÔÒÏÞÅÎÉÊ]\n" - -#: src/useradd.c:850 src/usermod.c:480 +#: src/useradd.c:793 src/usermod.c:461 #, c-format msgid "%s: error locking group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "%s: не можу заблокувати файл груп\n" -#: src/useradd.c:855 src/usermod.c:486 +#: src/useradd.c:798 src/usermod.c:467 #, c-format msgid "%s: error opening group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÇÒÕÐ\n" +msgstr "%s: не можу відкрити файл груп\n" -#: src/useradd.c:862 src/usermod.c:597 +#: src/useradd.c:805 src/usermod.c:578 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚÁÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу заблокувати файл прихованих груп\n" -#: src/useradd.c:867 src/usermod.c:603 +#: src/useradd.c:810 src/usermod.c:584 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" +msgstr "%s: не можу відкрити файл прихованих груп\n" -#: src/useradd.c:1039 +#: src/useradd.c:982 #, c-format msgid "%s: uid %u is not unique\n" -msgstr "%s: uid %u ÎÅ ¤ ÕΦËÁÌØÎÉÍ\n" +msgstr "%s: uid %u не Ñ” унікальним\n" -#: src/useradd.c:1069 +#: src/useradd.c:1012 #, c-format msgid "%s: can't get unique uid\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÏÔÒÉÍÁÔÉ ÕΦËÁÌØÎ¦Ê uid\n" +msgstr "%s: не можу отримати унікальній uid\n" -#: src/useradd.c:1174 src/useradd.c:1325 src/usermod.c:1075 src/usermod.c:1086 -#: src/usermod.c:1096 src/usermod.c:1143 src/usermod.c:1187 -#, c-format -msgid "%s: invalid field `%s'\n" -msgstr "%s: ÎÅצÒÎÅ ÐÏÌÅ `%s'\n" - -#: src/useradd.c:1189 +#: src/useradd.c:1049 #, c-format msgid "%s: invalid base directory `%s'\n" -msgstr "%s: ÎÅצÒÎÁ ÂÁÚÏ×Á ÔÅËÁ `%s'\n" +msgstr "%s: невірна базова тека `%s'\n" -#: src/useradd.c:1199 +#: src/useradd.c:1059 #, c-format msgid "%s: invalid comment `%s'\n" -msgstr "%s: ÎÅצÒÎÉÊ ËÏÍÅÎÔÁÒ `%s'\n" +msgstr "%s: невірний коментар `%s'\n" -#: src/useradd.c:1210 +#: src/useradd.c:1070 #, c-format msgid "%s: invalid home directory `%s'\n" -msgstr "%s: ÎÅצÒÎÁ ÄÏÍÁÛÎÑ ÔÅËÁ `%s'\n" +msgstr "%s: невірна Ð´Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñ‚ÐµÐºÐ° `%s'\n" -#: src/useradd.c:1229 src/usermod.c:1110 +#: src/useradd.c:1089 src/usermod.c:858 #, c-format msgid "%s: invalid date `%s'\n" -msgstr "%s: ÎÅצÒÎÁ ÄÁÔÁ `%s'\n" +msgstr "%s: невірна дата `%s'\n" -#: src/useradd.c:1242 +#: src/useradd.c:1102 #, c-format msgid "%s: shadow passwords required for -e\n" -msgstr "%s: ÐÒÉÈÏ×ÁΦ ÐÁÒÏ̦ ÐÏÔÒ¦ÂΦ ÄÌÑ -e\n" +msgstr "%s: приховані паролі потрібні Ð´Ð»Ñ -e\n" -#: src/useradd.c:1258 +#: src/useradd.c:1118 #, c-format msgid "%s: shadow passwords required for -f\n" -msgstr "%s: ÐÒÉÈÏ×ÁΦ ÐÁÒÏ̦ ÐÏÔÒ¦ÂΦ ÄÌÑ -f\n" +msgstr "%s: приховані паролі потрібні Ð´Ð»Ñ -f\n" -#: src/useradd.c:1336 +#: src/useradd.c:1185 src/usermod.c:834 src/usermod.c:844 src/usermod.c:891 +#: src/usermod.c:935 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: невірне поле `%s'\n" + +#: src/useradd.c:1196 #, c-format msgid "%s: invalid shell `%s'\n" -msgstr "%s: ÎÅצÒÎÉÊ shell `%s'\n" +msgstr "%s: невірний shell `%s'\n" -#: src/useradd.c:1377 +#: src/useradd.c:1237 #, c-format msgid "%s: invalid user name '%s'\n" -msgstr "%s: ÎÅצÒÎÅ ¦Í'Ñ ËÏÒÉÓÔÕ×ÁÞÁ '%s'\n" +msgstr "%s: невірне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача '%s'\n" -#: src/useradd.c:1413 src/userdel.c:298 src/usermod.c:1255 +#: src/useradd.c:1273 src/userdel.c:293 src/usermod.c:1003 #, c-format msgid "%s: cannot rewrite password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу перепиÑати файл паролей\n" -#: src/useradd.c:1420 src/userdel.c:303 src/usermod.c:1262 +#: src/useradd.c:1280 src/userdel.c:298 src/usermod.c:1010 #, c-format msgid "%s: cannot rewrite shadow password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу перепиÑати файл прихованих паролей\n" -#: src/useradd.c:1461 src/userdel.c:367 src/usermod.c:1296 +#: src/useradd.c:1321 src/userdel.c:350 src/usermod.c:1044 #, c-format msgid "%s: unable to lock password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу блокувати файл паролей\n" -#: src/useradd.c:1466 src/userdel.c:372 src/usermod.c:1301 +#: src/useradd.c:1326 src/userdel.c:355 src/usermod.c:1049 #, c-format msgid "%s: unable to open password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу відкрити файл паролей\n" -#: src/useradd.c:1474 src/userdel.c:379 src/usermod.c:1308 +#: src/useradd.c:1334 src/userdel.c:362 src/usermod.c:1056 #, c-format msgid "%s: cannot lock shadow password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу блокувати файл прихованих паролей\n" -#: src/useradd.c:1481 src/userdel.c:385 src/usermod.c:1314 +#: src/useradd.c:1341 src/userdel.c:368 src/usermod.c:1062 #, c-format msgid "%s: cannot open shadow password file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: не можу відкрити файл прихованих паролей\n" -#: src/useradd.c:1580 src/usermod.c:1405 -#, c-format -msgid "%s: error adding authentication method\n" -msgstr "%s: ÐÏÍÉÌËÁ ÄÏÄÁÎÎÑ ÍÅÔÏÄÕ ÁÕÔÅÎÔÉÆ¦ËÁæ§\n" - -#: src/useradd.c:1604 +#: src/useradd.c:1435 #, c-format msgid "%s: error adding new password entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÄÏÄÁÎÎÑ ÎÏ×ÏÇÏ ÚÁÐÉÓÕ Õ ÂÁÚÕ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ запиÑу у базу паролей\n" -#: src/useradd.c:1618 +#: src/useradd.c:1449 #, c-format msgid "%s: error updating password dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÚÁÐÉÓÕ Õ ÂÁÚ¦ ÐÁÒÏÌÅÊ dbm\n" +msgstr "%s: помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу у базі паролей dbm\n" -#: src/useradd.c:1634 src/usermod.c:1471 +#: src/useradd.c:1465 src/usermod.c:1151 #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÄÏÄÁÎÎÑ ÎÏ×ÏÇÏ ÚÁÐÉÓÕ Õ ÂÁÚÕ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ запиÑу у базу прихованих паролей\n" -#: src/useradd.c:1650 src/usermod.c:1488 +#: src/useradd.c:1481 src/usermod.c:1168 #, c-format msgid "%s: error updating shadow passwd dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÚÁÐÉÓÕ Õ ÂÁÚ¦ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ dbm\n" +msgstr "%s: помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу у базі прихованих паролей dbm\n" -#: src/useradd.c:1682 +#: src/useradd.c:1513 #, c-format msgid "%s: cannot create directory %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ ÔÅËÕ %s\n" +msgstr "%s: не можу Ñтворити теку %s\n" -#: src/useradd.c:1806 src/usermod.c:1233 +#: src/useradd.c:1634 src/usermod.c:981 #, c-format msgid "%s: user %s exists\n" -msgstr "%s: ËÏÒÉÓÔÕ×ÁÞ %s ¦ÓÎÕ¤\n" +msgstr "%s: кориÑтувач %s Ñ–Ñнує\n" -#: src/useradd.c:1821 +#: src/useradd.c:1649 #, 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" +"%s: група %s Ñ–Ñнує - Ñкщо ви бажаєте додати кориÑтувача до цієї групи, " +"викориÑтовуйте -g.\n" -#: src/useradd.c:1854 +#: src/useradd.c:1687 #, 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:129 -#, c-format -msgid "usage: %s [-r] name\n" -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: %s [-r] ¦Í'Ñ\n" +#: src/userdel.c:124 +#, fuzzy, c-format +msgid "Usage: %s [-r] name\n" +msgstr "викориÑтовуйте: %s [-r] ім'Ñ\n" -#: src/userdel.c:181 src/userdel.c:267 +#: src/userdel.c:176 src/userdel.c:262 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÚÁÐÉÓÕ Õ ÂÁÚ¦ ÇÒÕÐ\n" +msgstr "%s: помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу у базі груп\n" -#: src/userdel.c:191 src/userdel.c:276 +#: src/userdel.c:186 src/userdel.c:271 #, c-format msgid "%s: cannot update dbm group entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÏÎÏ×ÌÅÎÎÑ ÚÁÐÉÓÕ Õ ÂÁÚ¦ ÇÒÕÐ dbm\n" +msgstr "%s: помилка Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу у базі груп dbm\n" -#: src/userdel.c:219 +#: src/userdel.c:214 #, fuzzy, c-format msgid "%s: cannot remove dbm group entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Õ ÂÁÚ¦ ÇÒÕÐ dbm\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу у базі груп dbm\n" -#: src/userdel.c:308 +#: src/userdel.c:379 #, c-format -msgid "%s: cannot rewrite TCFS key file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÐÉÓÁÔÉ ÆÁÊÌ ËÌÀÞÅÊ TCFS\n" +msgid "%s: cannot open group file\n" +msgstr "%s: не можу відкрити файл груп\n" -#: src/userdel.c:392 +#: src/userdel.c:390 #, c-format -msgid "%s: cannot lock TCFS key file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌ ËÌÀÞÅÊ TCFS\n" - -#: src/userdel.c:397 -#, c-format -msgid "%s: cannot open TCFS key file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ËÌÀÞÅÊ TCFS\n" +msgid "%s: cannot open shadow group file\n" +msgstr "%s: не можу відкрити файл прихованих груп\n" #: src/userdel.c:408 #, c-format -msgid "%s: cannot open group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÇÒÕÐ\n" - -#: src/userdel.c:419 -#, c-format -msgid "%s: cannot open shadow group file\n" -msgstr "%s: ÎÅ ÍÏÖÕ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÐÒÉÈÏ×ÁÎÉÈ ÇÒÕÐ\n" - -#: src/userdel.c:451 src/userdel.c:468 -#, c-format -msgid "%s: error deleting authentication\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÍÅÔÏÄÕ ÁÕÔÅÎÔÉÆ¦ËÁæ§\n" - -#: src/userdel.c:479 -#, c-format msgid "%s: error deleting password entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази паролей\n" -#: src/userdel.c:485 +#: src/userdel.c:412 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази прихованих паролей\n" -#: src/userdel.c:496 -#, c-format -msgid "%s: error deleting TCFS entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ TCFS\n" - -#: src/userdel.c:510 +#: src/userdel.c:421 #, c-format msgid "%s: error deleting password dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ dbm Ú ÂÁÚÉ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу dbm з бази паролей\n" -#: src/userdel.c:533 +#: src/userdel.c:440 #, c-format msgid "%s: error deleting shadow passwd dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ dbm Ú ÂÁÚÉ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу dbm з бази прихованих паролей\n" -#: src/userdel.c:569 +#: src/userdel.c:484 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s: ËÏÒÉÓÔÕ×ÁÞ %s ÎÁ ÄÁÎÎÉÊ ÍÏÍÅÎÔ Õ ÓÉÓÔÅͦ\n" +msgstr "%s: кориÑтувач %s на данний момент у ÑиÑтемі\n" -#: src/userdel.c:659 +#: src/userdel.c:594 #, c-format msgid "%s: warning: %s not owned by %s, not removing\n" -msgstr "%s: ÚÁÓÔÅÒÅÖÅÎÎÑ: %s ÎÅ ÎÁÌÅÖÉÔØ %s, ÎÅ ×ÉÄÁÌÅÎÏ\n" +msgstr "%s: заÑтереженнÑ: %s не належить %s, не видалено\n" -#: src/userdel.c:666 +#: src/userdel.c:600 #, c-format msgid "%s: warning: can't remove " -msgstr "%s: ÚÁÓÔÅÒÅÖÅÎÎÑ: ÎÅ ÍÏÖÕ ×ÉÄÁÌÉÔÉ " +msgstr "%s: заÑтереженнÑ: не можу видалити " -#: src/userdel.c:758 src/usermod.c:1023 +#: src/userdel.c:703 src/usermod.c:783 #, c-format msgid "%s: user %s does not exist\n" -msgstr "%s: ËÏÒÉÔÓÔÕ×ÁÞ %s ÎÅ ¦ÓÎÕ¤\n" +msgstr "%s: коритÑтувач %s не Ñ–Ñнує\n" -#: src/userdel.c:770 src/usermod.c:1039 +#: src/userdel.c:718 src/usermod.c:799 #, c-format msgid "%s: user %s is a NIS user\n" -msgstr "%s: ËÏÒÉÓÔÕ×ÁÞ %s ¤ ËÏÒÉÓÔÕ×ÁÞ NIS\n" +msgstr "%s: кориÑтувач %s Ñ” кориÑтувач NIS\n" -#: src/userdel.c:799 +#: src/userdel.c:756 #, 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:818 +#: src/userdel.c:779 #, 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:830 +#: src/userdel.c:793 #, c-format msgid "%s: error removing directory %s\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÔÅËÉ %s\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÐ¸ %s\n" -#: src/usermod.c:326 +#: src/usermod.c:306 +#, fuzzy, c-format +msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "викориÑтовуйте: %s\t[-u uid [-o]] [-g група] [-G група,...] \n" + +#: src/usermod.c:310 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" -msgstr "\t\t[-d ÄÏÍÁÛÎÑ_ÔÅËÁ [-m]] [-s shell] [-c ËÏÍÅÎÔÁÒ] [-l ÎÏ×Å_¦Í'Ñ]\n" +msgstr "\t\t[-d домашнÑ_тека [-m]] [-s shell] [-c коментар] [-l нове_ім'Ñ]\n" -#: src/usermod.c:332 +#: src/usermod.c:313 #, fuzzy -msgid "[-A {DEFAULT|program},... ] " -msgstr "[-A {DEFAULT|program},...] " +msgid "[-f inactive] [-e expire] " +msgstr "[-f неактивний] [-e проÑтрочений] " -#: src/usermod.c:334 +#: src/usermod.c:315 msgid "[-p passwd] [-L|-U] name\n" -msgstr "[-p ÐÁÒÏÌØ] [-L|-U] ¦Í'Ñ\n" +msgstr "[-p пароль] [-L|-U] ім'Ñ\n" -#: src/usermod.c:514 +#: src/usermod.c:495 #, c-format msgid "%s: out of memory in update_group\n" -msgstr "%s: ÂÒÁËÕ¤ ÐÁÍÑÔ¦ Õ pdate_group\n" +msgstr "%s: бракує памÑті у pdate_group\n" -#: src/usermod.c:641 +#: src/usermod.c:622 #, c-format msgid "%s: out of memory in update_gshadow\n" -msgstr "%s: ÂÒÁËÕ¤ ÐÁÍÑÔ¦ Õ update_gshadow\n" +msgstr "%s: бракує памÑті у update_gshadow\n" -#: src/usermod.c:1210 +#: src/usermod.c:958 #, c-format msgid "%s: no flags given\n" -msgstr "%s: ÎÅ ÐÏÄÁÎÏ ÆÌÁǦ×\n" +msgstr "%s: не подано флагів\n" -#: src/usermod.c:1217 +#: src/usermod.c:965 #, c-format msgid "%s: shadow passwords required for -e and -f\n" -msgstr "%s: ÐÒÉÈÏ×ÁΦ ÐÁÒÏ̦ ÐÏÔÒ¦ÂΦ ÄÌÑ -e ¦ -f\n" +msgstr "%s: приховані паролі потрібні Ð´Ð»Ñ -e Ñ– -f\n" -#: src/usermod.c:1239 +#: src/usermod.c:987 #, c-format msgid "%s: uid %lu is not unique\n" -msgstr "%s: uid %lu ÎÅ ¤ ÕΦËÁÌØÎÉÍ\n" +msgstr "%s: uid %lu не Ñ” унікальним\n" -#: src/usermod.c:1392 -#, c-format -msgid "%s: error deleting authentication method\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÍÅÔÏÄÕ ÁÕÔÅÎÔÉÆ¦ËÁæ§\n" - -#: src/usermod.c:1418 -#, c-format -msgid "%s: error changing authentication method\n" -msgstr "%s: ÐÏÍÉÌËÁ ÚÁͦÎÉ ÍÅÔÏÄÕ ÁÕÔÅÎÔÉÆ¦ËÁæ§\n" - -#: src/usermod.c:1436 +#: src/usermod.c:1116 #, c-format msgid "%s: error changing password entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÚͦÎÉ ÚÁÐÉÓÕ × ÂÁÚ¦ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка зміни запиÑу в базі паролей\n" -#: src/usermod.c:1442 +#: src/usermod.c:1122 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази паролей\n" -#: src/usermod.c:1451 +#: src/usermod.c:1131 #, c-format msgid "%s: error adding password dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ÄÏÄÁÎÎÑ ÚÁÐÉÓÕ dbm Õ ÂÁÚÕ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу dbm у базу прихованих паролей\n" -#: src/usermod.c:1459 +#: src/usermod.c:1139 #, c-format msgid "%s: error removing passwd dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ dbm Ú ÂÁÚÉ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу dbm з бази паролей\n" -#: src/usermod.c:1478 +#: src/usermod.c:1158 #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ Ú ÂÁÚÉ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази прихованих паролей\n" -#: src/usermod.c:1495 +#: src/usermod.c:1175 #, c-format msgid "%s: error removing shadow passwd dbm entry\n" -msgstr "%s: ÐÏÍÉÌËÁ ×ÉÄÁÌÅÎÎÑ ÚÁÐÉÓÕ dbm Ú ÂÁÚÉ ÐÒÉÈÏ×ÁÎÉÈ ÐÁÒÏÌÅÊ\n" +msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу dbm з бази прихованих паролей\n" -#: src/usermod.c:1524 +#: src/usermod.c:1204 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s: ÔÅËÁ %s ¦ÓÎÕ¤\n" +msgstr "%s: тека %s Ñ–Ñнує\n" -#: src/usermod.c:1533 +#: src/usermod.c:1213 #, c-format msgid "%s: can't create %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ %s\n" +msgstr "%s: не можу Ñтворити %s\n" -#: src/usermod.c:1539 +#: src/usermod.c:1219 #, c-format msgid "%s: can't chown %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÚͦÎÉÔÉ ×ÏÌÏÄÁÒÑ %s\n" +msgstr "%s: не можу змінити Ð²Ð¾Ð»Ð¾Ð´Ð°Ñ€Ñ %s\n" -#: src/usermod.c:1556 +#: src/usermod.c:1236 #, c-format msgid "%s: cannot rename directory %s to %s\n" -msgstr "%s: ÎÅ ÍÏÖÕ ÐÅÒÅÊÍÅÎÕ×ÁÔÉ ÔÅËÕ Ú %s ÎÁ %s\n" +msgstr "%s: не можу перейменувати теку з %s на %s\n" -#. better leave it alone -#: src/usermod.c:1653 +#: src/usermod.c:1333 #, c-format msgid "%s: warning: %s not owned by %s\n" -msgstr "%s: ÚÁÓÔÅÒÅÖÅÎÎÑ: %s ÎÅ ÎÁÌÅÖÉÔØ %s\n" +msgstr "%s: заÑтереженнÑ: %s не належить %s\n" -#: src/usermod.c:1659 +#: src/usermod.c:1339 msgid "failed to change mailbox owner" -msgstr "ÎÅ ÍÏÖÕ ÚͦÎÉÔÉ ×ÏÌÏÄÁÒÑ ÐÏÛÔÏ×ϧ ÓËÒÉÎØËÉ" +msgstr "не можу змінити Ð²Ð¾Ð»Ð¾Ð´Ð°Ñ€Ñ Ð¿Ð¾ÑˆÑ‚Ð¾Ð²Ð¾Ñ— Ñкриньки" -#: src/usermod.c:1667 +#: src/usermod.c:1347 msgid "failed to rename mailbox" -msgstr "ÎÅ ÍÏÖÕ ÐÅÒÅÊÍÅÎÕ×ÁÔÉ ÐÏÛÔÏ×Õ ÓËÒÉÎØËÕ" +msgstr "не можу перейменувати поштову Ñкриньку" -#: src/vipw.c:104 +#: src/vipw.c:105 #, c-format msgid "" "\n" "%s: %s is unchanged\n" msgstr "" "\n" -"%s: %s ¤ ÎÅÚͦÎÅÎÉÊ\n" +"%s: %s Ñ” незмінений\n" -#: src/vipw.c:132 +#: src/vipw.c:133 #, fuzzy msgid "Couldn't lock file" -msgstr "îÅ ÍÏÖÕ ÂÌÏËÕ×ÁÔÉ ÆÁÊÌ\n" +msgstr "Ðе можу блокувати файл\n" -#: src/vipw.c:141 +#: src/vipw.c:142 msgid "Couldn't make backup" -msgstr "îÅ ÍÏÖÕ ÚÒÏÂÉÔÉ ÒÅÚÅÒ×ÎÕ ËÏЦÀ" +msgstr "Ðе можу зробити резервну копію" -#: src/vipw.c:206 +#: src/vipw.c:200 #, 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:244 +#: src/vipw.c:238 msgid "" "Usage:\n" "`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" + +#, fuzzy +#~ msgid "Can't create mail spool for user %s.\n" +#~ msgstr "%s: не можу оновити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача %s\n" + +#~ msgid "User %s has a TCFS key, his old password is required.\n" +#~ msgstr "КориÑтувач %s має TCFS ключ, потрібен його Ñтарий пароль.\n" + +#~ msgid "You can use -t option to force the change.\n" +#~ msgstr "Ви маєте змогу викориÑтовувати ключ -t Ð´Ð»Ñ Ð¿Ñ€Ð¸ÑÐºÐ¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½.\n" + +#~ msgid "Warning: user %s has a TCFS key.\n" +#~ msgstr "ЗаÑтереженнÑ: кориÑтувач %s має TCFS ключ.\n" + +#~ msgid "Cannot lock the TCFS key database; try again later\n" +#~ msgstr "Ðе можу блокувати базу ключей TCFS; Ñпробуйте пізніше\n" + +#~ msgid "Cannot open the TCFS key database.\n" +#~ msgstr "Ðе можу відкрити базу ключей TCFS.\n" + +#~ msgid "Error updating the TCFS key database.\n" +#~ msgstr "Ðе можу оновити базу ключей TCFS.\n" + +#~ msgid "Cannot commit TCFS changes.\n" +#~ msgstr "Ðе можу внеÑти зміни у базу ключей TCFS.\n" + +#~ msgid "%s: cannot rewrite TCFS key file\n" +#~ msgstr "%s: не можу перепиÑати файл ключей TCFS\n" + +#~ msgid "%s: cannot lock TCFS key file\n" +#~ msgstr "%s: не можу блокувати файл ключей TCFS\n" + +#~ msgid "%s: cannot open TCFS key file\n" +#~ msgstr "%s: не можу відкрити файл ключей TCFS\n" + +#~ msgid "%s: error deleting TCFS entry\n" +#~ msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу з бази TCFS\n" + +#~ msgid " [-f inactive] [-e expire]" +#~ msgstr " [-f неактивний] [-e проÑтрочений]" + +#~ msgid "%s: error deleting authentication\n" +#~ msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¼ÐµÑ‚Ð¾Ð´Ñƒ аутентифікації\n" + +#, fuzzy +#~ msgid "[-A {DEFAULT|program},...] " +#~ msgstr "[-A {DEFAULT|program},...] " + +#~ msgid "%s: error deleting authentication method\n" +#~ msgstr "%s: помилка Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¼ÐµÑ‚Ð¾Ð´Ñƒ аутентифікації\n" + +#~ msgid "%s: error adding authentication method\n" +#~ msgstr "%s: помилка Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð¼ÐµÑ‚Ð¾Ð´Ñƒ аутентифікації\n" + +#~ msgid "%s: error changing authentication method\n" +#~ msgstr "%s: помилка заміни методу аутентифікації\n" + +#~ msgid "[-A program] " +#~ msgstr "[-A програма] " + +#~ msgid "[-p passwd] name\n" +#~ msgstr "[-p пароль] ім'Ñ\n" + +#~ msgid "error - lookup '%s' failed\n" +#~ msgstr "помилка - пошук '%s' не виконано\n" + +#~ msgid "%s not found\n" +#~ msgstr "%s не знайдено\n" + +#~ msgid "%s: not configured for shadow group support.\n" +#~ msgstr "%s: не зконфігуровано Ð´Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ прихованих груп.\n" + +#~ msgid "%s: Shadow passwords are not configured.\n" +#~ msgstr "%s: Приховані паролі не зконфігуровано.\n" + +#, fuzzy +#~ msgid "Usage: %s [-l] user\n" +#~ msgstr "викориÑтовуйте: %s [-e]\n" + +#~ msgid "Executing shell %s\n" +#~ msgstr "Виконую shell %s\n" + +#~ msgid "Dialup Password: " +#~ msgstr "Пароль на модемне підключеннÑ: " + +#~ msgid "Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n" +#~ msgstr "" +#~ "ВикориÑтовуйте: %s [-l] [-m мін_днів] [-M макÑ_днів] [-d оÑтанній_день] " +#~ "кориÑтувач\n" + +#~ msgid "Usage: %s [-(a|d)] shell\n" +#~ msgstr "ВикориÑтовуйте: %s [-(a|d)] shell\n" + +#~ msgid "Shell password: " +#~ msgstr "Shell пароль: " + +#~ msgid "re-enter Shell password: " +#~ msgstr "Повторіть пароль Ð´Ð»Ñ shell: " + +#~ msgid "%s: Passwords do not match, try again.\n" +#~ msgstr "%s: Пароль не Ñпівпадає, Ñпробуйте знову.\n" + +#~ msgid "%s: can't create %s" +#~ msgstr "%s: не можу Ñтворити %s" + +#~ msgid "%s: can't open %s" +#~ msgstr "%s: не можу відкрити %s" + +#~ msgid "%s: Shell %s not found.\n" +#~ msgstr "%s: Shell %s не знайдено.\n" + +#~ msgid "group=%s,%u basedir=%s skel=%s\n" +#~ msgstr "група=%s,%u головна_тека=%s skel=%s\n" + +#~ msgid "shell=%s " +#~ msgstr "shell=%s " + +#~ msgid "inactive=%ld expire=%s" +#~ msgstr "неактивний=%ld проÑторочений=%s" + +#~ msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +#~ msgstr "викориÑтовуйте: %s\t[-u uid [-o]] [-g група] [-G група,...] \n" #~ msgid "%s: gid %ld is not unique\n" -#~ msgstr "%s: gid %ld ÎÅ ¤ ÕΦËÁÌØÎÉÍ\n" +#~ msgstr "%s: gid %ld не Ñ” унікальним\n" #, fuzzy #~ msgid "unknown gid: %u\n" -#~ msgstr "ÎÅצÄÏÍÉÊ gid: %d\n" +#~ msgstr "невідомий gid: %d\n" #~ msgid "%s: uid %d is not unique\n" -#~ msgstr "%s: uid %d ÎÅ ¤ ÕΦËÁÌØÎÉÍ\n" +#~ msgstr "%s: uid %d не Ñ” унікальним\n" #~ msgid "user %s: bad UID (%d)\n" -#~ msgstr "ËÏÒÉÓÔÕ×ÁÞ %s: ÐÏÇÁÎÉÊ UID (%d)\n" +#~ msgstr "кориÑтувач %s: поганий UID (%d)\n" #~ msgid "%s: no aging information present\n" -#~ msgstr "%s: ÎÅÍÁ¤ ¦ÎÆÏÒÍÁæ§ ÐÒÏ ×¦Ë\n" +#~ msgstr "%s: немає інформації про вік\n" #~ msgid "group %s: bad GID (%d)\n" -#~ msgstr "ÇÒÕÐÁ %s: ÍÁ¤ ÎÅצÒÎÉÊ GID (%d)\n" +#~ msgstr "група %s: має невірний GID (%d)\n" #~ msgid "%s: permission denied (shell).\n" -#~ msgstr "%s: ÄÏÓÔÕÐ ÚÁÂÏÒÏÎÅÎÏ (shell).\n" +#~ msgstr "%s: доÑтуп заборонено (shell).\n" #~ msgid "Incorrect password for %s.\n" -#~ msgstr "îÅצÒÎÉÊ ÐÁÒÏÌØ ÄÌÑ %s.\n" +#~ msgstr "Ðевірний пароль Ð´Ð»Ñ %s.\n" #~ msgid "group not found\n" -#~ msgstr "ÇÒÕÐÁ ÎÅ ÚÎÁÊÄÅÎÁ\n" +#~ msgstr "група не знайдена\n" diff --git a/src/.indent.pro b/src/.indent.pro new file mode 100644 index 00000000..149066b8 --- /dev/null +++ b/src/.indent.pro @@ -0,0 +1,4 @@ +-kr +-i8 +-bad +-pcs diff --git a/src/Makefile.am b/src/Makefile.am index eb3c3b00..25b9dc60 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,12 +1,12 @@ -EXTRA_DOST = .indent.pro +EXTRA_DIST = .indent.pro ubindir = ${prefix}/bin usbindir = ${prefix}/sbin DEFS = -D_HAVE_CONFIG_H -DLOCALEDIR=\"$(datadir)/locale\" -INCLUDES = -I${top_srcdir} \ +INCLUDES = \ -I${top_srcdir}/lib \ -I$(top_srcdir)/libmisc @@ -23,9 +23,24 @@ INCLUDES = -I${top_srcdir} \ bin_PROGRAMS = groups login su ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd -usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod \ - logoutd mkpasswd newusers useradd userdel usermod grpck \ - pwck vipw grpconv grpunconv pwconv pwunconv +usbin_PROGRAMS = \ + chpasswd \ + groupadd \ + groupdel \ + groupmod \ + grpck \ + grpconv \ + grpunconv \ + logoutd \ + mkpasswd \ + newusers \ + pwck \ + pwconv \ + pwunconv \ + useradd \ + userdel \ + usermod \ + vipw noinst_PROGRAMS = id sulogin @@ -55,7 +70,7 @@ usermod_LDADD = $(LDADD) $(LIBPAM) install-exec-hook: ln -sf newgrp $(DESTDIR)$(bindir)/sg - ln -sf vigr $(DESTDIR)$(bindir)/vipw + ln -sf vipw $(DESTDIR)$(bindir)/vigr for i in $(suidbins); do \ chmod 4755 $(DESTDIR)$(bindir)/$$i; \ done diff --git a/src/Makefile.in b/src/Makefile.in index 9155f375..b2837d0c 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,108 +14,151 @@ @SET_MAKE@ -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AS = @AS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ CPP = @CPP@ -DATADIRNAME = @DATADIRNAME@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ + +DEFS = -D_HAVE_CONFIG_H -DLOCALEDIR=\"$(datadir)/locale\" DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GENCAT = @GENCAT@ -GLIBC21 = @GLIBC21@ -GMOFILES = @GMOFILES@ +F77 = @F77@ +FFLAGS = @FFLAGS@ GMSGFMT = @GMSGFMT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ LIBCRACK = @LIBCRACK@ LIBCRYPT = @LIBCRYPT@ LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBMD = @LIBMD@ +LIBOBJS = @LIBOBJS@ LIBPAM = @LIBPAM@ +LIBS = @LIBS@ LIBSKEY = @LIBSKEY@ -LIBTCFS = @LIBTCFS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ U = @U@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ -EXTRA_DOST = .indent.pro +EXTRA_DIST = .indent.pro ubindir = ${prefix}/bin usbindir = ${prefix}/sbin -DEFS = -D_HAVE_CONFIG_H -DLOCALEDIR=\"$(datadir)/locale\" - -INCLUDES = -I${top_srcdir} \ +INCLUDES = \ -I${top_srcdir}/lib \ -I$(top_srcdir)/libmisc @@ -132,9 +176,24 @@ INCLUDES = -I${top_srcdir} \ # $prefix/bin and $prefix/sbin, no install-data hacks...) bin_PROGRAMS = groups login su ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd -usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod \ - logoutd mkpasswd newusers useradd userdel usermod grpck \ - pwck vipw grpconv grpunconv pwconv pwunconv +usbin_PROGRAMS = \ + chpasswd \ + groupadd \ + groupdel \ + groupmod \ + grpck \ + grpconv \ + grpunconv \ + logoutd \ + mkpasswd \ + newusers \ + pwck \ + pwconv \ + pwunconv \ + useradd \ + userdel \ + usermod \ + vipw noinst_PROGRAMS = id sulogin @@ -164,6 +223,7 @@ useradd_LDADD = $(LDADD) $(LIBPAM) userdel_LDADD = $(LDADD) $(LIBPAM) usermod_LDADD = $(LDADD) $(LIBPAM) subdir = src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -172,12 +232,12 @@ noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT) ubin_PROGRAMS = faillog$(EXEEXT) lastlog$(EXEEXT) chage$(EXEEXT) \ chfn$(EXEEXT) chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) \ newgrp$(EXEEXT) passwd$(EXEEXT) -usbin_PROGRAMS = chpasswd$(EXEEXT) dpasswd$(EXEEXT) groupadd$(EXEEXT) \ - groupdel$(EXEEXT) groupmod$(EXEEXT) logoutd$(EXEEXT) \ - mkpasswd$(EXEEXT) newusers$(EXEEXT) useradd$(EXEEXT) \ - userdel$(EXEEXT) usermod$(EXEEXT) grpck$(EXEEXT) pwck$(EXEEXT) \ - vipw$(EXEEXT) grpconv$(EXEEXT) grpunconv$(EXEEXT) \ - pwconv$(EXEEXT) pwunconv$(EXEEXT) +usbin_PROGRAMS = chpasswd$(EXEEXT) groupadd$(EXEEXT) groupdel$(EXEEXT) \ + groupmod$(EXEEXT) grpck$(EXEEXT) grpconv$(EXEEXT) \ + grpunconv$(EXEEXT) logoutd$(EXEEXT) mkpasswd$(EXEEXT) \ + newusers$(EXEEXT) pwck$(EXEEXT) pwconv$(EXEEXT) \ + pwunconv$(EXEEXT) useradd$(EXEEXT) userdel$(EXEEXT) \ + usermod$(EXEEXT) vipw$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(ubin_PROGRAMS) \ $(usbin_PROGRAMS) @@ -201,12 +261,6 @@ chsh_OBJECTS = chsh.$(OBJEXT) chsh_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la chsh_LDFLAGS = -dpasswd_SOURCES = dpasswd.c -dpasswd_OBJECTS = dpasswd.$(OBJEXT) -dpasswd_LDADD = $(LDADD) -dpasswd_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.la \ - $(top_builddir)/lib/libshadow.la -dpasswd_LDFLAGS = expiry_SOURCES = expiry.c expiry_OBJECTS = expiry.$(OBJEXT) expiry_LDADD = $(LDADD) @@ -359,28 +413,26 @@ vipw_LDADD = $(LDADD) vipw_DEPENDENCIES = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la vipw_LDFLAGS = + DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/depcomp -@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/chage.Po $(DEPDIR)/chfn.Po \ -@AMDEP_TRUE@ $(DEPDIR)/chpasswd.Po $(DEPDIR)/chsh.Po \ -@AMDEP_TRUE@ $(DEPDIR)/dpasswd.Po $(DEPDIR)/expiry.Po \ -@AMDEP_TRUE@ $(DEPDIR)/faillog.Po $(DEPDIR)/gpasswd.Po \ -@AMDEP_TRUE@ $(DEPDIR)/groupadd.Po $(DEPDIR)/groupdel.Po \ -@AMDEP_TRUE@ $(DEPDIR)/groupmod.Po $(DEPDIR)/groups.Po \ -@AMDEP_TRUE@ $(DEPDIR)/grpck.Po $(DEPDIR)/grpconv.Po \ -@AMDEP_TRUE@ $(DEPDIR)/grpunconv.Po $(DEPDIR)/id.Po \ -@AMDEP_TRUE@ $(DEPDIR)/lastlog.Po $(DEPDIR)/login.Po \ -@AMDEP_TRUE@ $(DEPDIR)/logoutd.Po $(DEPDIR)/mkpasswd.Po \ -@AMDEP_TRUE@ $(DEPDIR)/newgrp.Po $(DEPDIR)/newusers.Po \ -@AMDEP_TRUE@ $(DEPDIR)/passwd.Po $(DEPDIR)/pwck.Po \ -@AMDEP_TRUE@ $(DEPDIR)/pwconv.Po $(DEPDIR)/pwunconv.Po \ -@AMDEP_TRUE@ $(DEPDIR)/su.Po $(DEPDIR)/suauth.Po \ -@AMDEP_TRUE@ $(DEPDIR)/sulogin.Po $(DEPDIR)/useradd.Po \ -@AMDEP_TRUE@ $(DEPDIR)/userdel.Po $(DEPDIR)/usermod.Po \ -@AMDEP_TRUE@ $(DEPDIR)/vipw.Po +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/chage.Po ./$(DEPDIR)/chfn.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/chpasswd.Po ./$(DEPDIR)/chsh.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/expiry.Po ./$(DEPDIR)/faillog.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/gpasswd.Po ./$(DEPDIR)/groupadd.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/groupdel.Po ./$(DEPDIR)/groupmod.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/groups.Po ./$(DEPDIR)/grpck.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/grpconv.Po ./$(DEPDIR)/grpunconv.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/id.Po ./$(DEPDIR)/lastlog.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/login.Po ./$(DEPDIR)/logoutd.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/mkpasswd.Po ./$(DEPDIR)/newgrp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/newusers.Po ./$(DEPDIR)/passwd.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/pwck.Po ./$(DEPDIR)/pwconv.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/pwunconv.Po ./$(DEPDIR)/su.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/suauth.Po ./$(DEPDIR)/sulogin.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/useradd.Po ./$(DEPDIR)/userdel.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/usermod.Po ./$(DEPDIR)/vipw.Po COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ @@ -388,36 +440,25 @@ LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ CCLD = $(CC) LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -CFLAGS = @CFLAGS@ -DIST_SOURCES = chage.c chfn.c chpasswd.c chsh.c dpasswd.c expiry.c \ - faillog.c gpasswd.c groupadd.c groupdel.c groupmod.c groups.c \ - grpck.c grpconv.c grpunconv.c id.c lastlog.c login.c logoutd.c \ +DIST_SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c faillog.c \ + gpasswd.c groupadd.c groupdel.c groupmod.c groups.c grpck.c \ + grpconv.c grpunconv.c id.c lastlog.c login.c logoutd.c \ mkpasswd.c newgrp.c newusers.c passwd.c pwck.c pwconv.c \ pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c \ usermod.c vipw.c -DIST_COMMON = Makefile.am Makefile.in -SOURCES = chage.c chfn.c chpasswd.c chsh.c dpasswd.c expiry.c faillog.c gpasswd.c groupadd.c groupdel.c groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c lastlog.c login.c logoutd.c mkpasswd.c newgrp.c newusers.c passwd.c pwck.c pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c usermod.c vipw.c +DIST_COMMON = $(srcdir)/Makefile.in Makefile.am +SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c faillog.c gpasswd.c groupadd.c groupdel.c groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c lastlog.c login.c logoutd.c mkpasswd.c newgrp.c newusers.c passwd.c pwck.c pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c usermod.c vipw.c all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @@ -426,25 +467,34 @@ install-binPROGRAMS: $(bin_PROGRAMS) if test -f $$p \ || test -f $$p1 \ ; then \ - f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ubinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-ubinPROGRAMS: $(ubin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(ubindir) @@ -453,22 +503,27 @@ install-ubinPROGRAMS: $(ubin_PROGRAMS) if test -f $$p \ || test -f $$p1 \ ; then \ - f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/$$f; \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(ubinPROGRAMS_INSTALL) $$p $(DESTDIR)$(ubindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(ubinPROGRAMS_INSTALL) $$p $(DESTDIR)$(ubindir)/$$f || exit 1; \ else :; fi; \ done uninstall-ubinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(ubin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(ubindir)/$$f"; \ rm -f $(DESTDIR)$(ubindir)/$$f; \ done clean-ubinPROGRAMS: - -test -z "$(ubin_PROGRAMS)" || rm -f $(ubin_PROGRAMS) + @list='$(ubin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +usbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-usbinPROGRAMS: $(usbin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(usbindir) @@ -477,22 +532,26 @@ install-usbinPROGRAMS: $(usbin_PROGRAMS) if test -f $$p \ || test -f $$p1 \ ; then \ - f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/$$f; \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(usbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(usbindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(usbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(usbindir)/$$f || exit 1; \ else :; fi; \ done uninstall-usbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(usbin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(usbindir)/$$f"; \ rm -f $(DESTDIR)$(usbindir)/$$f; \ done clean-usbinPROGRAMS: - -test -z "$(usbin_PROGRAMS)" || rm -f $(usbin_PROGRAMS) + @list='$(usbin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done chage$(EXEEXT): $(chage_OBJECTS) $(chage_DEPENDENCIES) @rm -f chage$(EXEEXT) $(LINK) $(chage_LDFLAGS) $(chage_OBJECTS) $(chage_LDADD) $(LIBS) @@ -505,9 +564,6 @@ chpasswd$(EXEEXT): $(chpasswd_OBJECTS) $(chpasswd_DEPENDENCIES) chsh$(EXEEXT): $(chsh_OBJECTS) $(chsh_DEPENDENCIES) @rm -f chsh$(EXEEXT) $(LINK) $(chsh_LDFLAGS) $(chsh_OBJECTS) $(chsh_LDADD) $(LIBS) -dpasswd$(EXEEXT): $(dpasswd_OBJECTS) $(dpasswd_DEPENDENCIES) - @rm -f dpasswd$(EXEEXT) - $(LINK) $(dpasswd_LDFLAGS) $(dpasswd_OBJECTS) $(dpasswd_LDADD) $(LIBS) expiry$(EXEEXT): $(expiry_OBJECTS) $(expiry_DEPENDENCIES) @rm -f expiry$(EXEEXT) $(LINK) $(expiry_LDFLAGS) $(expiry_OBJECTS) $(expiry_LDADD) $(LIBS) @@ -596,110 +652,161 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chfn.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chpasswd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chsh.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dpasswd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/expiry.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/faillog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gpasswd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/groupadd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/groupdel.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/groupmod.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/groups.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/grpck.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/grpconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/grpunconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/id.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lastlog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/login.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/logoutd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkpasswd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/newgrp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/newusers.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/passwd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwck.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pwunconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/su.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/suauth.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sulogin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/useradd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/userdel.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/usermod.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vipw.Po@am__quote@ - -distclean-depend: - -rm -rf $(DEPDIR) +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chpasswd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expiry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faillog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpasswd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupadd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupdel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmod.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groups.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpck.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpconv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpunconv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lastlog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logoutd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkpasswd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgrp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newusers.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwck.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwconv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwunconv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/su.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/suauth.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sulogin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/useradd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/userdel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usermod.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vipw.Po@am__quote@ .c.o: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< .c.obj: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `cygpath -w $<` +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` .c.lo: -@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< -CCDEPMODE = @CCDEPMODE@ +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool uninstall-info-am: +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) + mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ + here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -712,7 +819,6 @@ all-am: Makefile $(PROGRAMS) installdirs: $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(ubindir) $(DESTDIR)$(usbindir) - install: install-am install-exec: install-exec-am install-data: install-data-am @@ -724,6 +830,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -731,7 +838,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -743,9 +850,10 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags dvi: dvi-am @@ -770,7 +878,8 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - + -rm -rf ./$(DEPDIR) + -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am @@ -778,28 +887,36 @@ mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ uninstall-ubinPROGRAMS uninstall-usbinPROGRAMS -.PHONY: GTAGS all all-am check check-am clean clean-binPROGRAMS \ +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool clean-noinstPROGRAMS \ - clean-ubinPROGRAMS clean-usbinPROGRAMS distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-binPROGRAMS install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip install-ubinPROGRAMS \ + clean-ubinPROGRAMS clean-usbinPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am info info-am install \ + install-am install-binPROGRAMS install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip install-ubinPROGRAMS \ install-usbinPROGRAMS installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-info-am uninstall-ubinPROGRAMS \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \ + pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-info-am uninstall-ubinPROGRAMS \ uninstall-usbinPROGRAMS install-exec-hook: ln -sf newgrp $(DESTDIR)$(bindir)/sg - ln -sf vigr $(DESTDIR)$(bindir)/vipw + ln -sf vipw $(DESTDIR)$(bindir)/vigr for i in $(suidbins); do \ chmod 4755 $(DESTDIR)$(bindir)/$$i; \ done diff --git a/src/chage.c b/src/chage.c index bea066c9..4ab4bcbe 100644 --- a/src/chage.c +++ b/src/chage.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: chage.c,v 1.27 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: chage.c,v 1.32 2003/06/19 17:57:15 kloczek Exp $") #include #include #include @@ -39,6 +39,7 @@ RCSID (PKG_VER "$Id: chage.c,v 1.27 2002/01/05 15:41:43 kloczek Exp $") #include #include "prototypes.h" #include "defines.h" +#ifdef SHADOWPWD #ifdef USE_PAM #include #include @@ -49,17 +50,23 @@ RCSID (PKG_VER "$Id: chage.c,v 1.27 2002/01/05 15:41:43 kloczek Exp $") */ static char *Prog; +static int + dflg = 0, /* set last password change date */ + Eflg = 0, /* set account expiration date */ + Iflg = 0, /* set password inactive after expiration */ + lflg = 0, /* show account aging information */ + mflg = 0, /* set minimum number of days before password change */ + Mflg = 0, /* set maximim number of days before password change */ + Wflg = 0; /* set expiration warning days */ + static int locks; static long mindays; static long maxdays; static long lastday; - -#ifdef SHADOWPWD static long warndays; static long inactdays; static long expdays; -#endif /* * External identifiers @@ -70,17 +77,12 @@ extern char *l64a (); #include "pwio.h" -#ifdef SHADOWPWD #include "shadowio.h" -#endif #ifdef NDBM extern int pw_dbm_mode; - -#ifdef SHADOWPWD extern int sp_dbm_mode; #endif -#endif #define EPOCH "1969-12-31" @@ -111,17 +113,10 @@ int isnum (const char *s) static void usage (void) { -#ifdef SHADOWPWD - fprintf (stderr, - _("Usage: %s [-l] [-m min_days] [-M max_days] [-W warn]\n" - "\t[-I inactive] [-E expire] [-d last_day] user\n"), - Prog); -#else fprintf (stderr, _ - ("Usage: %s [-l] [-m min_days] [-M max_days] [-d last_day] user\n"), - Prog); -#endif + ("Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n" + " [-I inactive] [-E expire] [-d last_day] user\n")); exit (1); } @@ -178,7 +173,6 @@ static int new_fields (void) else if ((lastday = strtoday (buf)) == -1) return 0; -#ifdef SHADOWPWD snprintf (buf, sizeof buf, "%ld", warndays); change_field (buf, sizeof buf, _("Password Expiration Warning")); if (((warndays = strtol (buf, &cp, 10)) == 0 && *cp) @@ -200,7 +194,6 @@ static int new_fields (void) expdays = -1; else if ((expdays = strtoday (buf)) == -1) return 0; -#endif /* SHADOWPWD */ return 1; } @@ -247,10 +240,8 @@ static void list_fields (void) printf (_("Minimum:\t%ld\n"), mindays); printf (_("Maximum:\t%ld\n"), maxdays); -#ifdef SHADOWPWD printf (_("Warning:\t%ld\n"), warndays); printf (_("Inactive:\t%ld\n"), inactdays); -#endif /* * The "last change" date is either "Never" or the date the password @@ -279,7 +270,6 @@ static void list_fields (void) print_date (expires); } -#ifdef SHADOWPWD /* * The account becomes inactive if the password is expired for more * than "inactdays". The expiration date is calculated and the @@ -308,7 +298,6 @@ static void list_fields (void) expires = expdays * SCALE; print_date (expires); } -#endif } #ifdef USE_PAM @@ -318,6 +307,24 @@ static struct pam_conv conv = { }; #endif /* USE_PAM */ +/* + * cleanup - unlock any locked password files + */ + +static void cleanup (int state) +{ + switch (state) { + case 2: + if (locks) + spw_unlock (); + case 1: + if (locks) + pw_unlock (); + case 0: + break; + } +} + /* * chage - change a user's password aging information * @@ -325,40 +332,25 @@ static struct pam_conv conv = { * * The valid options are * - * -m minimum number of days before password change (*) - * -M maximim number of days before password change (*) - * -d last password change date (*) - * -l password aging information - * -W expiration warning days (*) - * -I password inactive after expiration (*) - * -E account expiration date (*) + * -m set minimum number of days before password change (*) + * -M set maximim number of days before password change (*) + * -d set last password change date (*) + * -l show account aging information + * -W set expiration warning days (*) + * -I set password inactive after expiration (*) + * -E set account expiration date (*) * * (*) requires root permission to execute. * * All of the time fields are entered in the internal format which is * either seconds or days. - * - * The options -W, -I and -E all depend on the SHADOWPWD macro being - * defined. */ int main (int argc, char **argv) { int flag; - int lflg = 0; - int mflg = 0; - int Mflg = 0; - int dflg = 0; - -#ifdef SHADOWPWD - int Wflg = 0; - int Iflg = 0; - int Eflg = 0; const struct spwd *sp; struct spwd spwd; -#else - char new_age[5]; -#endif uid_t ruid; int amroot, pwrw; const struct passwd *pw; @@ -388,9 +380,7 @@ int main (int argc, char **argv) OPENLOG ("chage"); #ifdef NDBM -#ifdef SHADOWPWD sp_dbm_mode = O_RDWR; -#endif pw_dbm_mode = O_RDWR; #endif @@ -402,13 +392,7 @@ int main (int argc, char **argv) * weeks. */ -#ifdef SHADOWPWD -#define FLAGS "lm:M:W:I:E:d:" -#else -#define FLAGS "lm:M:d:" -#endif - while ((flag = getopt (argc, argv, FLAGS)) != EOF) { -#undef FLAGS + while ((flag = getopt (argc, argv, "lm:M:W:I:E:d:")) != EOF) { switch (flag) { case 'l': lflg++; @@ -428,7 +412,6 @@ int main (int argc, char **argv) else lastday = strtol (optarg, 0, 10); break; -#ifdef SHADOWPWD case 'W': Wflg++; warndays = strtol (optarg, 0, 10); @@ -444,7 +427,6 @@ int main (int argc, char **argv) else expdays = strtol (optarg, 0, 10); break; -#endif default: usage (); } @@ -458,12 +440,7 @@ int main (int argc, char **argv) if (argc != optind + 1) usage (); -#ifdef SHADOWPWD - if (lflg && (mflg || Mflg || dflg || Wflg || Iflg || Eflg)) -#else - if (lflg && (mflg || Mflg || dflg)) -#endif - { + if (lflg && (mflg || Mflg || dflg || Wflg || Iflg || Eflg)) { fprintf (stderr, _("%s: do not include \"l\" with other flags\n"), Prog); @@ -528,18 +505,7 @@ int main (int argc, char **argv) * file entries into memory. Then we get a pointer to the password * file entry for the requested user. */ -#ifndef SHADOWPWD - if (locks && !pw_lock ()) { - fprintf (stderr, _("%s: can't lock password file\n"), - Prog); - SYSLOG ((LOG_ERR, "failed locking %s", PASSWD_FILE)); - closelog (); - exit (1); - } - pwrw = locks; -#else pwrw = 0; -#endif if (!pw_open (pwrw ? O_RDWR : O_RDONLY)) { fprintf (stderr, _("%s: can't open password file\n"), Prog); @@ -559,7 +525,6 @@ int main (int argc, char **argv) pwent = *pw; STRFCPY (name, pwent.pw_name); -#ifdef SHADOWPWD /* * For shadow password files we have to lock the file and read in * the entries as was done for the password file. The user entries @@ -612,35 +577,6 @@ int main (int argc, char **argv) if (!Eflg) expdays = spwd.sp_expire; } -#ifdef ATT_AGE - else -#endif /* ATT_AGE */ -#endif /* SHADOWPWD */ -#ifdef ATT_AGE - { - if (pwent.pw_age && strlen (pwent.pw_age) >= 2) { - if (!Mflg) - maxdays = - c64i (pwent.pw_age[0]) * (WEEK / - SCALE); - if (!mflg) - mindays = - c64i (pwent.pw_age[1]) * (WEEK / - SCALE); - if (!dflg && strlen (pwent.pw_age) == 4) - lastday = - a64l (pwent.pw_age + - 2) * (WEEK / SCALE); - } else { - mindays = 0; - maxdays = 10000L * (DAY / SCALE); - lastday = -1; - } -#ifdef SHADOWPWD - warndays = inactdays = expdays = -1; -#endif /* SHADOWPWD */ - } -#endif /* ATT_AGE */ /* * Print out the expiration fields if the user has requested the @@ -665,12 +601,7 @@ int main (int argc, char **argv) * user interactively change them. */ -#ifdef SHADOWPWD - if (!mflg && !Mflg && !dflg && !Wflg && !Iflg && !Eflg) -#else - if (!mflg && !Mflg && !dflg) -#endif - { + if (!mflg && !Mflg && !dflg && !Wflg && !Iflg && !Eflg) { printf (_("Changing the aging information for %s\n"), name); if (!new_fields ()) { @@ -681,7 +612,6 @@ int main (int argc, char **argv) exit (1); } } -#ifdef SHADOWPWD /* * There was no shadow entry. The new entry will have the encrypted * password transferred from the normal password file along with the @@ -697,9 +627,6 @@ int main (int argc, char **argv) spwd.sp_flag = -1; pwent.pw_passwd = SHADOW_PASSWD_STRING; /* XXX warning: const */ -#ifdef ATT_AGE - pwent.pw_age = ""; -#endif if (!pw_update (&pwent)) { fprintf (stderr, _("%s: can't update password file\n"), @@ -715,9 +642,6 @@ int main (int argc, char **argv) endpwent (); #endif } -#endif /* SHADOWPWD */ - -#ifdef SHADOWPWD /* * Copy the fields back to the shadow file entry and write the @@ -741,44 +665,7 @@ int main (int argc, char **argv) closelog (); exit (1); } -#else /* !SHADOWPWD */ - - /* - * fill in the new_age string with the new values - */ - - if (maxdays > (63 * 7) && mindays == 0) { - new_age[0] = '\0'; - } else { - if (maxdays > (63 * 7)) - maxdays = 63 * 7; - - if (mindays > (63 * 7)) - mindays = 63 * 7; - - new_age[0] = i64c (maxdays / 7); - new_age[1] = i64c ((mindays + 6) / 7); - - if (lastday == 0) - new_age[2] = '\0'; - else - strcpy (new_age + 2, l64a (lastday / 7)); - - } - pwent.pw_age = new_age; - - if (!pw_update (&pwent)) { - fprintf (stderr, _("%s: can't update password file\n"), - Prog); - cleanup (2); - SYSLOG ((LOG_ERR, "failed updating %s", PASSWD_FILE)); - closelog (); - exit (1); - } -#endif /* SHADOWPWD */ - #ifdef NDBM -#ifdef SHADOWPWD /* * See if the shadow DBM file exists and try to update it. @@ -794,25 +681,8 @@ int main (int argc, char **argv) } endspent (); -#else /* !SHADOWPWD */ - - /* - * See if the password DBM file exists and try to update it. - */ - - if (pw_dbm_present () && !pw_dbm_update (&pwent)) { - fprintf (stderr, - _("Error updating the DBM password entry.\n")); - cleanup (2); - SYSLOG ((LOG_ERR, "error updating DBM passwd entry")); - closelog (); - exit (1); - } - endpwent (); -#endif /* SHADOWPWD */ #endif /* NDBM */ -#ifdef SHADOWPWD /* * Now close the shadow password file, which will cause all of the * entries to be re-written. @@ -827,7 +697,6 @@ int main (int argc, char **argv) closelog (); exit (1); } -#endif /* SHADOWPWD */ /* * Close the password file. If any entries were modified, the file @@ -844,6 +713,7 @@ int main (int argc, char **argv) } cleanup (2); SYSLOG ((LOG_INFO, "changed password expiry for %s", name)); + #ifdef USE_PAM if (!lflg) { if (retval == PAM_SUCCESS) { @@ -862,30 +732,22 @@ int main (int argc, char **argv) if (retval == PAM_SUCCESS) pam_end (pamh, PAM_SUCCESS); + #endif /* USE_PAM */ closelog (); + + exit (0); - /*NOTREACHED*/} - -/* - * cleanup - unlock any locked password files - */ - -static void cleanup (int state) -{ - switch (state) { - case 2: -#ifdef SHADOWPWD - if (locks) - spw_unlock (); -#endif - case 1: -#ifndef SHADOWPWD - if (locks) - pw_unlock (); -#endif - case 0: - break; - } + /* NOTREACHED */ } + +#else /* !SHADOWPWD */ +int main (int argc, char **argv) +{ + fprintf (stderr, + "%s: not configured for shadow password support.\n", + argv[0]); + exit (1); +} +#endif /* !SHADOWPWD */ diff --git a/src/chfn.c b/src/chfn.c index ae57e09d..44ff5eb8 100644 --- a/src/chfn.c +++ b/src/chfn.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: chfn.c,v 1.20 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: chfn.c,v 1.22 2003/06/19 18:11:01 kloczek Exp $") #include #include #include @@ -41,6 +41,7 @@ RCSID (PKG_VER "$Id: chfn.c,v 1.20 2002/01/05 15:41:43 kloczek Exp $") #include "pwio.h" #include "getdef.h" #include "pwauth.h" +#include "nscd.h" #ifdef HAVE_SHADOW_H #include #endif @@ -595,6 +596,9 @@ int main (int argc, char **argv) exit (1); } SYSLOG ((LOG_INFO, "changed user `%s' information", user)); + + nscd_flush_cache ("passwd"); + closelog (); exit (0); } diff --git a/src/chpasswd.c b/src/chpasswd.c index 0f9400b0..e9a618c3 100644 --- a/src/chpasswd.c +++ b/src/chpasswd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: chpasswd.c,v 1.14 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: chpasswd.c,v 1.18 2003/06/19 18:11:01 kloczek Exp $") #include #include "prototypes.h" #include "defines.h" @@ -40,6 +40,7 @@ RCSID (PKG_VER "$Id: chpasswd.c,v 1.14 2002/01/05 15:41:43 kloczek Exp $") #ifdef SHADOWPWD #include "shadowio.h" #endif +#include "nscd.h" #ifdef USE_PAM #include #include @@ -63,7 +64,7 @@ static void usage (void); static void usage (void) { - fprintf (stderr, _("usage: %s [-e]\n"), Prog); + fprintf (stderr, _("Usage: %s [-e]\n"), Prog); exit (1); } @@ -87,10 +88,6 @@ int main (int argc, char **argv) #endif const struct passwd *pw; struct passwd newpw; - -#ifdef ATT_AGE - char newage[5]; -#endif int errors = 0; int line = 0; long now = time ((long *) 0) / (24L * 3600L); @@ -262,13 +259,6 @@ int main (int argc, char **argv) { newpw = *pw; newpw.pw_passwd = cp; -#ifdef ATT_AGE - if (newpw.pw_age[0]) { - strcpy (newage, newpw.pw_age); - strcpy (newage + 2, l64a (now / 7)); - newpw.pw_age = newage; - } -#endif } /* @@ -329,6 +319,9 @@ int main (int argc, char **argv) Prog); exit (1); } + + nscd_flush_cache ("passwd"); + pw_unlock (); #ifdef USE_PAM diff --git a/src/chsh.c b/src/chsh.c index 54636095..640b7087 100644 --- a/src/chsh.c +++ b/src/chsh.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: chsh.c,v 1.20 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: chsh.c,v 1.23 2003/06/19 18:11:01 kloczek Exp $") #include #include #include @@ -41,6 +41,7 @@ RCSID (PKG_VER "$Id: chsh.c,v 1.20 2002/01/05 15:41:43 kloczek Exp $") #include "pwio.h" #include "getdef.h" #include "pwauth.h" +#include "nscd.h" #ifdef HAVE_SHADOW_H #include #endif @@ -99,18 +100,12 @@ static void new_fields (void) static int restricted_shell (const char *sh) { -#if 0 - char *cp = Basename ((char *) sh); - - return *cp == 'r' || *cp == 'R'; -#else /* * Shells not listed in /etc/shells are considered to be restricted. * Changed this to avoid confusion with "rc" (the plan9 shell - not * restricted despite the name starting with 'r'). --marekm */ return !check_shell (sh); -#endif } @@ -256,10 +251,10 @@ int main (int argc, char **argv) } /* - * Non-privileged users are optionally authenticated (must enter - * the password of the user whose information is being changed) - * before any changes can be made. Idea from util-linux - * chfn/chsh. --marekm + * Non-privileged users are optionally authenticated (must enter + * the password of the user whose information is being changed) + * before any changes can be made. Idea from util-linux + * chfn/chsh. --marekm */ if (!amroot && getdef_bool ("CHFN_AUTH")) @@ -406,6 +401,9 @@ int main (int argc, char **argv) } SYSLOG ((LOG_INFO, "changed user `%s' shell to `%s'", user, loginsh)); + + nscd_flush_cache ("passwd"); + closelog (); exit (0); } diff --git a/src/dpasswd.c b/src/dpasswd.c deleted file mode 100644 index 4e65dbeb..00000000 --- a/src/dpasswd.c +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright 1990 - 1993, Julianne Frances Haugh - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Julianne F. Haugh nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include - -#include "rcsid.h" -RCSID (PKG_VER "$Id: dpasswd.c,v 1.15 2002/01/05 15:41:43 kloczek Exp $") -#include -#include -#include -#include -#include -#include "prototypes.h" -#include "defines.h" -#include "dialup.h" -#define DTMP "/etc/d_passwd.tmp" -static int aflg = 0; -static int dflg = 0; -static char *Prog; - -/* local function prototypes */ -static void usage (void); - -static void usage (void) -{ - fprintf (stderr, _("Usage: %s [-(a|d)] shell\n"), Prog); - exit (1); -} - -int main (int argc, char **argv) -{ - struct dialup *dial; - struct dialup dent; - struct stat sb; - FILE *fp; - char *sh = 0; - char *cp; - char pass[BUFSIZ]; - int fd; - int found = 0; - int opt; - - Prog = Basename (argv[0]); - - setlocale (LC_ALL, ""); - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - - OPENLOG (Prog); - - while ((opt = getopt (argc, argv, "a:d:")) != EOF) { - switch (opt) { - case 'a': - aflg++; - sh = optarg; - break; - case 'd': - dflg++; - sh = optarg; - break; - default: - usage (); - } - } - if (!aflg && !dflg) - aflg++; - - if (!sh) { - if (optind >= argc) - usage (); - else - sh = argv[optind]; - } - if (aflg + dflg != 1) - usage (); - - /* - * Add a new shell to the password file, or update an existing - * entry. Begin by getting an encrypted password for this shell. - */ - - if (aflg) { - int tries = 3; - - dent.du_shell = sh; - dent.du_passwd = ""; /* XXX warning: const */ - - again: - if (!(cp = getpass (_("Shell password: ")))) - exit (1); - - STRFCPY (pass, cp); - strzero (cp); - - if (!(cp = getpass (_("re-enter Shell password: ")))) - exit (1); - - if (strcmp (pass, cp)) { - strzero (pass); - strzero (cp); - fprintf (stderr, - _ - ("%s: Passwords do not match, try again.\n"), - Prog); - - if (--tries) - goto again; - - exit (1); - } - strzero (cp); - dent.du_passwd = pw_encrypt (pass, crypt_make_salt ()); - strzero (pass); - } - - /* - * Create the temporary file for the updated dialup password - * information to be placed into. Turn it into a (FILE *) for use by - * putduent(). - */ - - if ((fd = open (DTMP, O_CREAT | O_EXCL | O_RDWR, 0600)) < 0) { - snprintf (pass, sizeof pass, _("%s: can't create %s"), - Prog, DTMP); - perror (pass); - exit (1); - } - if (!(fp = fdopen (fd, "r+"))) { - snprintf (pass, sizeof pass, _("%s: can't open %s"), Prog, - DTMP); - perror (pass); - unlink (DTMP); - exit (1); - } - - /* - * Scan the dialup password file for the named entry, copying out - * other entries along the way. Copying stops when a match is found - * or the file runs out. - */ - - while ((dial = getduent ())) { - if (strcmp (dial->du_shell, sh) == 0) { - found = 1; - break; - } - if (putduent (dial, fp)) - goto failure; - } - - /* - * To delete the entry, just don't copy it. To update the entry, - * output the modified version - works with new entries as well. - */ - - if (dflg && !found) { - fprintf (stderr, _("%s: Shell %s not found.\n"), Prog, sh); - goto failure; - } - if (aflg) - if (putduent (&dent, fp)) - goto failure; - - /* - * Now copy out the remaining entries. Flush and close the new file - * before doing anything nasty to the existing file. - */ - - - while ((dial = getduent ())) - if (putduent (dial, fp)) - goto failure; - - if (fflush (fp)) - goto failure; - - fclose (fp); - - /* - * If the original file did not exist, we must create a new file - * with owner "root" and mode 400. Otherwise we copy the modes from - * the existing file to the new file. - * - * After this is done the new file will replace the old file. - */ - - pwd_init (); - - if (!stat (DIALPWD, &sb)) { - chown (DTMP, sb.st_uid, sb.st_gid); - chmod (DTMP, sb.st_mode); - unlink (DIALPWD); - } else { - chown (DTMP, 0, 0); - chmod (DTMP, 0400); - } - if (!link (DTMP, DIALPWD)) - unlink (DTMP); - - if (aflg && !found) - SYSLOG ((LOG_INFO, "added password for %s", sh)); - else if (aflg && found) - SYSLOG ((LOG_INFO, "changed password for %s", sh)); - else if (dflg) - SYSLOG ((LOG_INFO, "removed password for %s", sh)); - - closelog (); - sync (); - exit (0); - - failure: - unlink (DTMP); - closelog (); - exit (1); -} diff --git a/src/faillog.c b/src/faillog.c index fb5987a9..1ad34717 100644 --- a/src/faillog.c +++ b/src/faillog.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: faillog.c,v 1.11 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: faillog.c,v 1.12 2003/04/25 22:32:36 kloczek Exp $") #include #include #include @@ -74,7 +74,7 @@ static void usage (void) { fprintf (stderr, _ - ("usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n"), + ("Usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n"), Prog); exit (1); } diff --git a/src/gpasswd.c b/src/gpasswd.c index ee862c74..c1268291 100644 --- a/src/gpasswd.c +++ b/src/gpasswd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: gpasswd.c,v 1.19 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: gpasswd.c,v 1.21 2003/06/19 18:11:01 kloczek Exp $") #include #include #include @@ -75,7 +75,7 @@ static int check_list (const char *); static void usage (void) { - fprintf (stderr, _("usage: %s [-r|-R] group\n"), Prog); + fprintf (stderr, _("Usage: %s [-r|-R] group\n"), Prog); fprintf (stderr, _(" %s [-a user] group\n"), Prog); fprintf (stderr, _(" %s [-d user] group\n"), Prog); #ifdef SHADOWGRP @@ -649,4 +649,5 @@ int main (int argc, char **argv) #endif #endif exit (0); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/groupadd.c b/src/groupadd.c index 6719fd3d..11f88e91 100644 --- a/src/groupadd.c +++ b/src/groupadd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: groupadd.c,v 1.22 2002/01/06 14:09:07 kloczek Exp $") +RCSID (PKG_VER "$Id: groupadd.c,v 1.27 2004/01/05 01:08:56 kloczek Exp $") #include #include #include @@ -41,6 +41,7 @@ RCSID (PKG_VER "$Id: groupadd.c,v 1.22 2002/01/06 14:09:07 kloczek Exp $") #include "chkname.h" #include "getdef.h" #include "groupio.h" +#include "nscd.h" #ifdef SHADOWGRP #include "sgroupio.h" #ifdef USE_PAM @@ -59,7 +60,7 @@ static int is_shadow_grp; #define E_USAGE 2 /* invalid command syntax */ #define E_BAD_ARG 3 /* invalid argument to option */ #define E_GID_IN_USE 4 /* gid not unique (when -o not used) */ -#define E_NAME_IN_USE 9 /* group name nut unique */ +#define E_NAME_IN_USE 9 /* group name not unique */ #define E_GRP_UPDATE 10 /* can't update group file */ static char *group_name; @@ -98,7 +99,7 @@ static void fail_exit (int); static void usage (void) { - fprintf (stderr, _("usage: groupadd [-g gid [-o]] group\n")); + fprintf (stderr, _("Usage: groupadd [-g gid [-o]] [-f] group\n")); exit (E_USAGE); } @@ -208,7 +209,7 @@ static void grp_update (void) #endif /* NDBM */ #endif /* SHADOWGRP */ SYSLOG ((LOG_INFO, "new group: name=%s, gid=%u", - group_name, (unsigned int)group_id)); + group_name, (unsigned int) group_id)); } /* @@ -575,6 +576,7 @@ int main (int argc, char **argv) find_new_gid (); grp_update (); + nscd_flush_cache ("group"); close_files (); @@ -595,4 +597,5 @@ int main (int argc, char **argv) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ exit (E_SUCCESS); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/groupdel.c b/src/groupdel.c index 1a928215..6dc32ce5 100644 --- a/src/groupdel.c +++ b/src/groupdel.c @@ -30,31 +30,28 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: groupdel.c,v 1.14 2000/10/09 19:02:20 kloczek Exp $") - +RCSID (PKG_VER "$Id: groupdel.c,v 1.17 2003/06/19 18:11:01 kloczek Exp $") #include #include #include #include #include #include - #ifdef USE_PAM #include #include #include -#endif /* USE_PAM */ - +#endif /* USE_PAM */ +#include "nscd.h" #include "prototypes.h" #include "defines.h" - -static char *group_name; -static char *Prog; -static int errors; +static char *group_name; +static char *Prog; +static int errors; #ifdef NDBM -extern int gr_dbm_mode; -extern int sg_dbm_mode; +extern int gr_dbm_mode; +extern int sg_dbm_mode; #endif #include "groupio.h" @@ -76,21 +73,20 @@ static int is_shadow_grp; #define E_GRP_UPDATE 10 /* can't update group file */ /* local function prototypes */ -static void usage(void); -static void grp_update(void); -static void close_files(void); -static void open_files(void); -static void group_busy(gid_t); +static void usage (void); +static void grp_update (void); +static void close_files (void); +static void open_files (void); +static void group_busy (gid_t); /* * usage - display usage message and exit */ -static void -usage(void) +static void usage (void) { - fprintf(stderr, _("usage: groupdel group\n")); - exit(E_USAGE); + fprintf (stderr, _("Usage: groupdel group\n")); + exit (E_USAGE); } /* @@ -99,15 +95,15 @@ usage(void) * grp_update() writes the new records to the group files. */ -static void -grp_update(void) +static void grp_update (void) { #ifdef NDBM - struct group *ogrp; + struct group *ogrp; #endif - if (!gr_remove(group_name)) { - fprintf(stderr, _("%s: error removing group entry\n"), Prog); + if (!gr_remove (group_name)) { + fprintf (stderr, _("%s: error removing group entry\n"), + Prog); errors++; } #ifdef NDBM @@ -116,16 +112,17 @@ grp_update(void) * Update the DBM group file */ - if (gr_dbm_present()) { + if (gr_dbm_present ()) { if ((ogrp = getgrnam (group_name)) && - ! gr_dbm_remove (ogrp)) { - fprintf(stderr, _("%s: error removing group dbm entry\n"), - Prog); + !gr_dbm_remove (ogrp)) { + fprintf (stderr, + _("%s: error removing group dbm entry\n"), + Prog); errors++; } } endgrent (); -#endif /* NDBM */ +#endif /* NDBM */ #ifdef SHADOWGRP @@ -133,9 +130,10 @@ grp_update(void) * Delete the shadow group entries as well. */ - if (is_shadow_grp && ! sgr_remove (group_name)) { - fprintf(stderr, _("%s: error removing shadow group entry\n"), - Prog); + if (is_shadow_grp && !sgr_remove (group_name)) { + fprintf (stderr, + _("%s: error removing shadow group entry\n"), + Prog); errors++; } #ifdef NDBM @@ -144,18 +142,19 @@ grp_update(void) * Update the DBM shadow group file */ - if (is_shadow_grp && sg_dbm_present()) { - if (! sg_dbm_remove (group_name)) { - fprintf(stderr, - _("%s: error removing shadow group dbm entry\n"), - Prog); + if (is_shadow_grp && sg_dbm_present ()) { + if (!sg_dbm_remove (group_name)) { + fprintf (stderr, + _ + ("%s: error removing shadow group dbm entry\n"), + Prog); errors++; } } endsgent (); -#endif /* NDBM */ -#endif /* SHADOWGRP */ - SYSLOG((LOG_INFO, "remove group `%s'\n", group_name)); +#endif /* NDBM */ +#endif /* SHADOWGRP */ + SYSLOG ((LOG_INFO, "remove group `%s'\n", group_name)); return; } @@ -166,23 +165,24 @@ grp_update(void) * new group. This causes any modified entries to be written out. */ -static void -close_files(void) +static void close_files (void) { - if (!gr_close()) { - fprintf(stderr, _("%s: cannot rewrite group file\n"), Prog); + if (!gr_close ()) { + fprintf (stderr, _("%s: cannot rewrite group file\n"), + Prog); errors++; } - gr_unlock(); + gr_unlock (); #ifdef SHADOWGRP - if (is_shadow_grp && !sgr_close()) { - fprintf(stderr, _("%s: cannot rewrite shadow group file\n"), - Prog); + if (is_shadow_grp && !sgr_close ()) { + fprintf (stderr, + _("%s: cannot rewrite shadow group file\n"), + Prog); errors++; } if (is_shadow_grp) - sgr_unlock(); -#endif /* SHADOWGRP */ + sgr_unlock (); +#endif /* SHADOWGRP */ } /* @@ -191,29 +191,32 @@ close_files(void) * open_files() opens the two group files. */ -static void -open_files(void) +static void open_files (void) { - if (!gr_lock()) { - fprintf(stderr, _("%s: unable to lock group file\n"), Prog); - exit(E_GRP_UPDATE); + if (!gr_lock ()) { + fprintf (stderr, _("%s: unable to lock group file\n"), + Prog); + exit (E_GRP_UPDATE); } - if (!gr_open(O_RDWR)) { - fprintf(stderr, _("%s: unable to open group file\n"), Prog); - exit(E_GRP_UPDATE); + if (!gr_open (O_RDWR)) { + fprintf (stderr, _("%s: unable to open group file\n"), + Prog); + exit (E_GRP_UPDATE); } #ifdef SHADOWGRP - if (is_shadow_grp && !sgr_lock()) { - fprintf(stderr, _("%s: unable to lock shadow group file\n"), - Prog); - exit(E_GRP_UPDATE); + if (is_shadow_grp && !sgr_lock ()) { + fprintf (stderr, + _("%s: unable to lock shadow group file\n"), + Prog); + exit (E_GRP_UPDATE); } - if (is_shadow_grp && !sgr_open(O_RDWR)) { - fprintf(stderr, _("%s: unable to open shadow group file\n"), - Prog); - exit(E_GRP_UPDATE); + if (is_shadow_grp && !sgr_open (O_RDWR)) { + fprintf (stderr, + _("%s: unable to open shadow group file\n"), + Prog); + exit (E_GRP_UPDATE); } -#endif /* SHADOWGRP */ +#endif /* SHADOWGRP */ } /* @@ -224,10 +227,9 @@ open_files(void) * the group. */ -static void -group_busy(gid_t gid) +static void group_busy (gid_t gid) { - struct passwd *pwd; + struct passwd *pwd; /* * Nice slow linear search. @@ -235,8 +237,7 @@ group_busy(gid_t gid) setpwent (); - while ((pwd = getpwent ()) && pwd->pw_gid != gid) - ; + while ((pwd = getpwent ()) && pwd->pw_gid != gid); endpwent (); @@ -251,16 +252,17 @@ group_busy(gid_t gid) * Can't remove the group. */ - fprintf(stderr, _("%s: cannot remove user's primary group.\n"), Prog); - exit(E_GROUP_BUSY); + fprintf (stderr, _("%s: cannot remove user's primary group.\n"), + Prog); + exit (E_GROUP_BUSY); } #ifdef USE_PAM static struct pam_conv conv = { - misc_conv, - NULL + misc_conv, + NULL }; -#endif /* USE_PAM */ +#endif /* USE_PAM */ /* * main - groupdel command @@ -272,10 +274,10 @@ static struct pam_conv conv = { * The named group will be deleted. */ -int -main(int argc, char **argv) +int main (int argc, char **argv) { struct group *grp; + #ifdef USE_PAM pam_handle_t *pamh = NULL; struct passwd *pampw; @@ -286,53 +288,55 @@ main(int argc, char **argv) * Get my name so that I can use it to report errors. */ - Prog = Basename(argv[0]); + Prog = Basename (argv[0]); - setlocale(LC_ALL, ""); - bindtextdomain(PACKAGE, LOCALEDIR); - textdomain(PACKAGE); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); #ifdef USE_PAM retval = PAM_SUCCESS; - pampw = getpwuid(getuid()); + pampw = getpwuid (getuid ()); if (pampw == NULL) { retval = PAM_USER_UNKNOWN; } if (retval == PAM_SUCCESS) { - retval = pam_start("shadow", pampw->pw_name, &conv, &pamh); + retval = + pam_start ("shadow", pampw->pw_name, &conv, &pamh); } if (retval == PAM_SUCCESS) { - retval = pam_authenticate(pamh, 0); + retval = pam_authenticate (pamh, 0); if (retval != PAM_SUCCESS) { - pam_end(pamh, retval); + pam_end (pamh, retval); } } if (retval == PAM_SUCCESS) { - retval = pam_acct_mgmt(pamh, 0); + retval = pam_acct_mgmt (pamh, 0); if (retval != PAM_SUCCESS) { - pam_end(pamh, retval); + pam_end (pamh, retval); } } if (retval != PAM_SUCCESS) { - fprintf (stderr, _("%s: PAM authentication failed\n"), Prog); + fprintf (stderr, _("%s: PAM authentication failed\n"), + Prog); exit (1); } -#endif /* USE_PAM */ +#endif /* USE_PAM */ if (argc != 2) usage (); group_name = argv[1]; - OPENLOG(Prog); + OPENLOG (Prog); #ifdef SHADOWGRP - is_shadow_grp = sgr_file_present(); + is_shadow_grp = sgr_file_present (); #endif /* @@ -344,17 +348,17 @@ main(int argc, char **argv) gr_dbm_mode = O_RDWR; #ifdef SHADOWGRP sg_dbm_mode = O_RDWR; -#endif /* SHADOWGRP */ -#endif /* NDBM */ +#endif /* SHADOWGRP */ +#endif /* NDBM */ /* * Start with a quick check to see if the group exists. */ - if (! (grp = getgrnam(group_name))) { - fprintf(stderr, _("%s: group %s does not exist\n"), - Prog, group_name); - exit(E_NOTFOUND); + if (!(grp = getgrnam (group_name))) { + fprintf (stderr, _("%s: group %s does not exist\n"), + Prog, group_name); + exit (E_NOTFOUND); } #ifdef USE_NIS @@ -363,19 +367,18 @@ main(int argc, char **argv) */ if (__isgrNIS ()) { - char *nis_domain; - char *nis_master; + char *nis_domain; + char *nis_master; - fprintf(stderr, _("%s: group %s is a NIS group\n"), - Prog, group_name); + fprintf (stderr, _("%s: group %s is a NIS group\n"), + Prog, group_name); - if (! yp_get_default_domain (&nis_domain) && - ! yp_master (nis_domain, "group.byname", - &nis_master)) { + if (!yp_get_default_domain (&nis_domain) && + !yp_master (nis_domain, "group.byname", &nis_master)) { fprintf (stderr, _("%s: %s is the NIS master\n"), - Prog, nis_master); + Prog, nis_master); } - exit(E_NOTFOUND); + exit (E_NOTFOUND); } #endif @@ -394,14 +397,15 @@ main(int argc, char **argv) open_files (); grp_update (); + nscd_flush_cache ("group"); close_files (); #ifdef USE_PAM if (retval == PAM_SUCCESS) { - retval = pam_chauthtok(pamh, 0); + retval = pam_chauthtok (pamh, 0); if (retval != PAM_SUCCESS) { - pam_end(pamh, retval); + pam_end (pamh, retval); } } @@ -411,8 +415,8 @@ main(int argc, char **argv) } if (retval == PAM_SUCCESS) - pam_end(pamh, PAM_SUCCESS); -#endif /* USE_PAM */ - exit(errors == 0 ? E_SUCCESS : E_GRP_UPDATE); - /*NOTREACHED*/ + pam_end (pamh, PAM_SUCCESS); +#endif /* USE_PAM */ + exit (errors == 0 ? E_SUCCESS : E_GRP_UPDATE); + /* NOT REACHED */ } diff --git a/src/groupmod.c b/src/groupmod.c index 0c071da2..29b8b524 100644 --- a/src/groupmod.c +++ b/src/groupmod.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: groupmod.c,v 1.19 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: groupmod.c,v 1.22 2003/06/19 18:11:01 kloczek Exp $") #include #include #include @@ -45,6 +45,7 @@ RCSID (PKG_VER "$Id: groupmod.c,v 1.19 2002/01/05 15:41:43 kloczek Exp $") #include "chkname.h" #include "defines.h" #include "groupio.h" +#include "nscd.h" #ifdef SHADOWGRP #include "sgroupio.h" static int is_shadow_grp; @@ -100,7 +101,7 @@ static void open_files (void); static void usage (void) { fprintf (stderr, - _("usage: groupmod [-g gid [-o]] [-n name] group\n")); + _("Usage: groupmod [-g gid [-o]] [-n name] group\n")); exit (E_USAGE); } @@ -589,6 +590,7 @@ int main (int argc, char **argv) open_files (); grp_update (); + nscd_flush_cache ("group"); close_files (); @@ -609,4 +611,5 @@ int main (int argc, char **argv) pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ exit (E_SUCCESS); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/grpconv.c b/src/grpconv.c index 300b354c..56be7fe8 100644 --- a/src/grpconv.c +++ b/src/grpconv.c @@ -27,7 +27,7 @@ #include "sgroupio.h" #include "rcsid.h" -RCSID (PKG_VER "$Id: grpconv.c,v 1.12 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: grpconv.c,v 1.15 2003/06/19 18:11:01 kloczek Exp $") static int group_locked = 0; static int gshadow_locked = 0; @@ -105,11 +105,6 @@ int main (int argc, char **argv) while ((gr = gr_next ())) { sg = sgr_locate (gr->gr_name); if (sg) { -#if 0 /* because of sg_mem, but see below */ - if (strcmp (gr->gr_passwd, SHADOW_PASSWD_STRING) == - 0) - continue; -#endif /* update existing shadow group entry */ sgent = *sg; if (strcmp (gr->gr_passwd, SHADOW_PASSWD_STRING) != @@ -167,12 +162,8 @@ int main (int argc, char **argv) #else /* !SHADOWGRP */ int main (int argc, char **argv) { - setlocale (LC_ALL, ""); - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - fprintf (stderr, - _("%s: not configured for shadow group support.\n"), + "%s: not configured for shadow group support.\n", argv[0]); exit (1); } diff --git a/src/grpunconv.c b/src/grpunconv.c index 4a1e7a11..54b7184b 100644 --- a/src/grpunconv.c +++ b/src/grpunconv.c @@ -11,7 +11,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: grpunconv.c,v 1.11 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: grpunconv.c,v 1.13 2003/06/19 18:11:01 kloczek Exp $") #include #include #include @@ -119,12 +119,8 @@ int main (int argc, char **argv) #else /* !SHADOWGRP */ int main (int argc, char **argv) { - setlocale (LC_ALL, ""); - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - fprintf (stderr, - _("%s: not configured for shadow group support.\n"), + "%s: not configured for shadow group support.\n", argv[0]); exit (1); } diff --git a/src/id.c b/src/id.c index 11eeb772..a6f4fd16 100644 --- a/src/id.c +++ b/src/id.c @@ -38,7 +38,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: id.c,v 1.11 2002/01/31 09:23:57 kloczek Exp $") +RCSID (PKG_VER "$Id: id.c,v 1.13 2003/06/19 18:11:01 kloczek Exp $") #include #include #include @@ -50,9 +50,9 @@ static void usage (void); static void usage (void) { #ifdef HAVE_GETGROUPS - fprintf (stderr, _("usage: id [-a]\n")); + fprintf (stderr, _("Usage: id [-a]\n")); #else - fprintf (stderr, _("usage: id\n")); + fprintf (stderr, _("Usage: id\n")); #endif exit (1); } @@ -187,4 +187,5 @@ static void usage (void) putchar ('\n'); exit (0); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/lastlog.c b/src/lastlog.c index 63409a96..5f8eb8e3 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.11 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: lastlog.c,v 1.13 2003/12/17 12:52:25 kloczek Exp $") #include #include #include @@ -107,13 +107,13 @@ int main (int argc, char **argv) case 'h': fprintf (stdout, _ - ("Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n"), + ("Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n"), argv[0]); exit (0); default: fprintf (stdout, _ - ("Usage: %s [<-u|--login> login-name] [<-t|--time> days] [<-h|--help>]\n"), + ("Usage: %s [{-u|--login} login] [{-t|--time} days] [{-h|--help}]\n"), argv[0]); exit (1); } @@ -167,7 +167,7 @@ static void print_one (const struct passwd *pw) static int once; char *cp; struct tm *tm; - + time_t ll_time; #ifdef HAVE_STRFTIME char ptime[80]; #endif @@ -184,7 +184,8 @@ static void print_one (const struct passwd *pw) #endif once++; } - tm = localtime (&lastlog.ll_time); + ll_time = lastlog.ll_time; + tm = localtime (&ll_time); #ifdef HAVE_STRFTIME strftime (ptime, sizeof (ptime), "%a %b %e %H:%M:%S %z %Y", tm); cp = ptime; diff --git a/src/login.c b/src/login.c index d610852e..4a0f1a57 100644 --- a/src/login.c +++ b/src/login.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: login.c,v 1.26 2002/03/08 04:30:28 kloczek Exp $") +RCSID (PKG_VER "$Id: login.c,v 1.35 2003/12/17 12:52:25 kloczek Exp $") #include "prototypes.h" #include "defines.h" #include @@ -38,11 +38,6 @@ RCSID (PKG_VER "$Id: login.c,v 1.26 2002/03/08 04:30:28 kloczek Exp $") #include #include #include -#if HAVE_UTMPX_H -#include -#else -#include -#endif #include #if HAVE_LASTLOG_H #include @@ -53,11 +48,6 @@ RCSID (PKG_VER "$Id: login.c,v 1.26 2002/03/08 04:30:28 kloczek Exp $") #include "failure.h" #include "pwauth.h" #include "getdef.h" -#include "dialchk.h" -#ifdef SVR4_SI86_EUA -#include -#include -#endif #ifdef RADIUS /* * Support for RADIUS authentication based on a hacked util-linux login @@ -182,7 +172,7 @@ static RETSIGTYPE alarm_handler (int); static void usage (void) { - fprintf (stderr, _("usage: %s [-p] [name]\n"), Prog); + fprintf (stderr, _("Usage: %s [-p] [name]\n"), Prog); if (!amroot) exit (1); fprintf (stderr, _(" %s [-p] [-h host] [-f name]\n"), Prog); @@ -232,15 +222,10 @@ static void setup_tty (void) termio.c_iflag &= ~IXANY; termio.c_oflag |= (XTABS | OPOST | ONLCR); #endif -#if 0 - termio.c_cc[VERASE] = getdef_num ("ERASECHAR", '\b'); - termio.c_cc[VKILL] = getdef_num ("KILLCHAR", '\025'); -#else /* leave these values unchanged if not specified in login.defs */ termio.c_cc[VERASE] = getdef_num ("ERASECHAR", termio.c_cc[VERASE]); termio.c_cc[VKILL] = getdef_num ("KILLCHAR", termio.c_cc[VKILL]); -#endif /* * ttymon invocation prefers this, but these settings won't come into @@ -636,36 +621,10 @@ int main (int argc, char **argv) if (rflg || fflg) usage (); -#ifdef SVR4 - /* - * The "-h" option can't be used with a command-line username, - * because telnetd invokes us as: login -h host TERM=... - */ - - if (!hflg) -#endif - { - STRFCPY (username, argv[optind]); - strzero (argv[optind]); - ++optind; - } + STRFCPY (username, argv[optind]); + strzero (argv[optind]); + ++optind; } -#ifdef SVR4 - /* - * check whether ttymon has done the prompt for us already - */ - - { - char *ttymon_prompt; - - if ((ttymon_prompt = getenv ("TTYPROMPT")) != NULL - && (*ttymon_prompt != 0)) { - /* read name, without prompt */ - login_prompt ((char *) 0, username, - sizeof username); - } - } -#endif /* SVR4 */ if (optind < argc) /* now set command line variables */ set_env (argc - optind, &argv[optind]); @@ -911,19 +870,6 @@ int main (int argc, char **argv) if (preauth_flag) goto auth_ok; - /* - * No password prompt if logging in from listed ttys (local - * console). Passwords don't help much if you have physical - * access to the hardware anyway... Suggested by Pavel - * Machek . - * NOTE: password still required for root logins! - */ - if (pwd && (pwent.pw_uid != 0) - && is_listed ("NO_PASSWORD_CONSOLE", tty, 0)) { - temp_pw[0] = '\0'; - pwent.pw_passwd = temp_pw; - } - if (pw_auth (pwent.pw_passwd, username, reason, (char *) 0) == 0) @@ -974,18 +920,6 @@ int main (int argc, char **argv) } #endif - if (getdef_bool ("DIALUPS_CHECK_ENAB")) { - alarm (30); - - if (!dialcheck (tty, pwent.pw_shell[0] ? - pwent.pw_shell : "/bin/sh")) { - SYSLOG ((LOG_WARN, - "invalid dialup password for `%s' on `%s'", - username, tty)); - failed = 1; - } - } - if (!failed && pwent.pw_name && pwent.pw_uid == 0 && !is_console) { SYSLOG ((LOG_CRIT, "ILLEGAL ROOT LOGIN %s", @@ -1020,10 +954,18 @@ int main (int argc, char **argv) #if HAVE_UTMPX_H failent = utxent; - gettimeofday (&(failent.ut_tv), NULL); + if (sizeof (failent.ut_tv) == sizeof (struct timeval)) + gettimeofday ((struct timeval *) &failent.ut_tv, NULL); + else + { + struct timeval tv; + gettimeofday (&tv, NULL); + failent.ut_tv.tv_sec = tv.tv_sec; + failent.ut_tv.tv_usec = tv.tv_usec; + } #else failent = utent; - time (&failent.ut_time); + failent.ut_time = time (NULL); #endif if (pwd) { failent_user = pwent.pw_name; @@ -1124,10 +1066,6 @@ int main (int argc, char **argv) hostname); #endif -#ifdef SVR4_SI86_EUA - sysi86 (SI86LIMUSER, EUA_ADD_USER); /* how do we test for fail? */ -#endif - #ifndef USE_PAM /* PAM handles this as well */ /* * Have to do this while we still have root privileges, otherwise we @@ -1144,16 +1082,6 @@ int main (int argc, char **argv) pwent = *pwd; } } -#else -#ifdef ATT_AGE - if (pwent.pw_age && pwent.pw_age[0]) { - if (expire (&pwent)) { - pwd = getpwnam (username); - if (pwd) - pwent = *pwd; - } - } -#endif /* ATT_AGE */ #endif /* SHADOWPWD */ #ifdef RADIUS @@ -1271,18 +1199,19 @@ int main (int argc, char **argv) } if (getdef_bool ("LASTLOG_ENAB") && lastlog.ll_time != 0) { + time_t ll_time = lastlog.ll_time; #ifdef HAVE_STRFTIME strftime (ptime, sizeof (ptime), "%a %b %e %H:%M:%S %z %Y", - localtime (&lastlog.ll_time)); + localtime (&ll_time)); printf (_("Last login: %s on %s"), ptime, lastlog.ll_line); #else printf (_("Last login: %.19s on %s"), - ctime (&lastlog.ll_time), + ctime (&ll_time), lastlog.ll_line); #endif -#ifdef HAVE_LL_HOST /* SVR4 || __linux__ || SUN4 */ +#ifdef HAVE_LL_HOST /* __linux__ || SUN4 */ if (lastlog.ll_host[0]) printf (_(" from %.*s"), (int) sizeof lastlog. @@ -1370,5 +1299,6 @@ int main (int argc, char **argv) shell (tmp, pwent.pw_shell); /* fake shell */ } shell (pwent.pw_shell, (char *) 0); /* exec the shell finally. */ - /*NOTREACHED*/ return 0; + /* NOT REACHED */ + return 0; } diff --git a/src/logoutd.c b/src/logoutd.c index 3ea761c4..f5e5a1eb 100644 --- a/src/logoutd.c +++ b/src/logoutd.c @@ -30,21 +30,14 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: logoutd.c,v 1.18 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: logoutd.c,v 1.23 2003/06/19 18:11:01 kloczek Exp $") #include #include #include #include -#include #include #include "prototypes.h" #include "defines.h" -#ifdef SVR4 -#include -#endif -#ifdef SVR4 -#define signal sigset -#endif static char *Prog; #ifndef DEFAULT_HUP_MESG @@ -55,14 +48,20 @@ static char *Prog; #define HUP_MESG_FILE "/etc/logoutd.mesg" #endif -/* local function prototypes */ +#if HAVE_UTMPX_H +static int check_login (const struct utmpx *); +#else static int check_login (const struct utmp *); - +#endif /* - * check_login - check if user (struct utmp) allowed to stay logged in + * check_login - check if user (struct utmpx/utmp) allowed to stay logged in */ +#if HAVE_UTMPX_H +static int check_login (const struct utmpx *ut) +#else static int check_login (const struct utmp *ut) +#endif { char user[sizeof (ut->ut_user) + 1]; time_t now; @@ -80,17 +79,6 @@ static int check_login (const struct utmp *ut) */ if (!isttytime (user, ut->ut_line, now)) return 0; -#if 0 - /* - * Check for how long they are allowed to stay logged in. - * XXX - not implemented yet. Need to add a new field to - * /etc/porttime (login time limit in minutes, or no limit, - * based on username, tty, and time of login). - */ - if (now - ut->ut_time > - get_time_limit (user, ut->ut_line, ut->ut_time)) - return 0; -#endif return 1; } @@ -139,7 +127,7 @@ static void send_mesg_to_tty (int tty_fd) * * logoutd is started at system boot time and enforces the login * time and port restrictions specified in /etc/porttime. The - * utmp file is periodically scanned and offending users are logged + * utmpx/utmp file is periodically scanned and offending users are logged * off from the system. */ @@ -148,7 +136,12 @@ int main (int argc, char **argv) int i; int status; pid_t pid; + +#if HAVE_UTMPX_H + struct utmpx *ut; +#else struct utmp *ut; +#endif char user[sizeof (ut->ut_user) + 1]; /* terminating NUL */ char tty_name[sizeof (ut->ut_line) + 6]; /* /dev/ + NUL */ int tty_fd; @@ -194,26 +187,34 @@ int main (int argc, char **argv) OPENLOG (Prog); /* - * Scan the UTMP file once per minute looking for users that + * Scan the utmpx/utmp file once per minute looking for users that * are not supposed to still be logged in. */ while (1) { /* - * Attempt to re-open the utmp file. The file is only + * Attempt to re-open the utmpx/utmp file. The file is only * open while it is being used. */ +#if HAVE_UTMPX_H + setutxent (); +#else setutent (); +#endif /* - * Read all of the entries in the utmp file. The entries + * Read all of the entries in the utmpx/utmp file. The entries * for login sessions will be checked to see if the user * is permitted to be signed on at this time. */ +#if HAVE_UTMPX_H + while ((ut = getutxent ())) { +#else while ((ut = getutent ())) { +#endif #ifdef USER_PROCESS if (ut->ut_type != USER_PROCESS) continue; @@ -289,7 +290,11 @@ int main (int argc, char **argv) exit (0); } +#if HAVE_UTMPX_H + endutxent (); +#else endutent (); +#endif #ifndef DEBUG sleep (60); @@ -300,5 +305,6 @@ int main (int argc, char **argv) while (wait (&status) != -1); } - return 1; /* not reached */ + return 1; + /* NOT REACHED */ } diff --git a/src/newgrp.c b/src/newgrp.c index 6057f85d..8d63ac9d 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.21 2002/01/06 15:00:07 kloczek Exp $") +RCSID (PKG_VER "$Id: newgrp.c,v 1.26 2003/07/29 06:16:04 kloczek Exp $") #include #include #include @@ -58,9 +58,9 @@ static void usage (void); static void usage (void) { if (is_newgrp) - fprintf (stderr, _("usage: newgrp [-] [group]\n")); + fprintf (stderr, _("Usage: newgrp [-] [group]\n")); else - fprintf (stderr, _("usage: sg group [[-c] command]\n")); + fprintf (stderr, _("Usage: sg group [[-c] command]\n")); } /* @@ -89,11 +89,6 @@ int main (int argc, char **argv) struct sgrp *sgrp; #endif -#if ENABLE_NLS - /* XXX - remove when gettext is safe to use in setuid programs */ - sanitize_env (); -#endif - setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); @@ -152,10 +147,10 @@ int main (int argc, char **argv) * the login group ID of the current user. * * The valid syntax are - * newgrp [ - ] [ groupid ] - * newgrp [ -l ] [ groupid ] - * sg [ - ] - * sg [ - ] groupid [ command ] + * newgrp [-] [groupid] + * newgrp [-l] [groupid] + * sg [-] + * sg [-] groupid [[-c command] */ if (argc > 0 @@ -398,6 +393,7 @@ int main (int argc, char **argv) SYSLOG ((LOG_INFO, "user `%s' (login `%s' on %s) switched to group `%s'", name, loginname, tty, group)); +#ifdef USE_PAM if (getdef_bool ("CLOSE_SESSIONS")) { /* * We want to fork and exec the new shell in the child, leaving the @@ -450,6 +446,7 @@ int main (int argc, char **argv) signal (SIGTTIN, SIG_DFL); signal (SIGTTOU, SIG_DFL); } +#endif /* USE_PAM */ } #endif /* USE_SYSLOG */ @@ -574,20 +571,14 @@ int main (int argc, char **argv) addenv (*envp++, NULL); } - /* - * Sanitize_env() removes $HOME from the environment (maybe it - * shouldn't - please tell me if you are sure that $HOME can't cause - * security problems) - add it from user's passwd entry. - */ - addenv ("HOME", pwd->pw_dir); - /* * Exec the login shell and go away. We are trying to get back to * the previous environment which should be the user's login shell. */ shell (prog, initflag ? (char *) 0 : cp); - /*NOTREACHED*/ failure: + /* NOTREACHED */ +failure: /* * The previous code, when run as newgrp, re-exec'ed the shell in diff --git a/src/newusers.c b/src/newusers.c index b9d2fd82..eb8629de 100644 --- a/src/newusers.c +++ b/src/newusers.c @@ -36,7 +36,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: newusers.c,v 1.15 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: newusers.c,v 1.18 2003/12/17 01:33:29 kloczek Exp $") #include #include #include "prototypes.h" @@ -219,15 +219,6 @@ add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid) pwent.pw_name = xstrdup (name); pwent.pw_passwd = "x"; /* XXX warning: const */ -#ifdef ATT_AGE - pwent.pw_age = ""; -#endif -#ifdef ATT_COMMENT - pwent.pw_comment = ""; -#endif -#ifdef BSD_QUOTA - pwent.pw_quota = 0; -#endif pwent.pw_uid = i; pwent.pw_gid = gid; pwent.pw_gecos = ""; /* XXX warning: const */ @@ -241,16 +232,6 @@ add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid) static void update_passwd (struct passwd *pwd, const char *passwd) { pwd->pw_passwd = pw_encrypt (passwd, crypt_make_salt ()); -#ifdef ATT_AGE - if (strlen (pwd->pw_age) == 4) { - static char newage[5]; - extern char *l64a (); - - strcpy (newage, pwd->pw_age); - strcpy (newage + 2, l64a (time ((time_t *) 0) / WEEK)); - pwd->pw_age = newage; - } -#endif } /* @@ -634,4 +615,5 @@ int main (int argc, char **argv) #endif /* USE_PAM */ exit (0); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/passwd.c b/src/passwd.c index b9d24c0f..3d981ad7 100644 --- a/src/passwd.c +++ b/src/passwd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: passwd.c,v 1.24 2002/01/05 15:41:43 kloczek Exp $") +RCSID (PKG_VER "$Id: passwd.c,v 1.30 2003/12/17 09:43:30 kloczek Exp $") #include "prototypes.h" #include "defines.h" #include @@ -50,14 +50,11 @@ RCSID (PKG_VER "$Id: passwd.c,v 1.24 2002/01/05 15:41:43 kloczek Exp $") #endif #include #include "pwauth.h" -#ifdef HAVE_TCFS -#include -#include "tcfsio.h" -#endif #ifdef SHADOWPWD #include "shadowio.h" #endif #include "pwio.h" +#include "nscd.h" #include "getdef.h" /* * exit status values @@ -113,19 +110,10 @@ static char crypt_passwd[128]; /* The "old-style" password, if present */ static int do_update_pwd = 0; #endif -#ifdef HAVE_TCFS -static struct tcfspwd *tcfspword; -static int tcfs_force = 0; -#endif - /* * External identifiers */ -#ifdef ATT_AGE -extern char *l64a (); -#endif - #ifdef NDBM extern int sp_dbm_mode; extern int pw_dbm_mode; @@ -135,10 +123,6 @@ extern int pw_dbm_mode; static void usage (int); #ifndef USE_PAM -#ifdef AUTH_METHODS -static char *get_password (const char *); -static int uses_default_method (const char *); -#endif /* AUTH_METHODS */ static int reuse (const char *, const struct passwd *); static int new_password (const struct passwd *); @@ -160,9 +144,6 @@ static void update_noshadow (void); #ifdef SHADOWPWD static void update_shadow (void); #endif -#ifdef HAVE_TCFS -static void update_tcfs (void); -#endif static long getnumber (const char *); /* @@ -171,7 +152,7 @@ static long getnumber (const char *); static void usage (int status) { - fprintf (stderr, _("usage: %s [-f|-s] [name]\n"), Prog); + fprintf (stderr, _("Usage: %s [-f|-s] [name]\n"), Prog); if (amroot) { fprintf (stderr, _ @@ -184,48 +165,6 @@ static void usage (int status) } #ifndef USE_PAM -#ifdef AUTH_METHODS -/* - * get_password - locate encrypted password in authentication list - */ - -static char *get_password (const char *list) -{ - char *cp, *end; - static char buf[257]; - - STRFCPY (buf, list); - for (cp = buf; cp; cp = end) { - if ((end = strchr (cp, ';'))) - *end++ = 0; - - if (cp[0] == '@') - continue; - - return cp; - } - return (char *) 0; -} - -/* - * uses_default_method - determine if "old-style" password present - * - * uses_default_method determines if a "old-style" password is present - * in the authentication string, and if one is present it extracts it. - */ - -static int uses_default_method (const char *methods) -{ - char *cp; - - if ((cp = get_password (methods))) { - STRFCPY (crypt_passwd, cp); - return 1; - } - return 0; -} -#endif /* AUTH_METHODS */ - static int reuse (const char *pass, const struct passwd *pw) { #ifdef HAVE_LIBCRACK_HIST @@ -273,22 +212,7 @@ static int reuse (const char *pass, const struct passwd *pw) * password. */ -#ifdef HAVE_TCFS - tcfs_force = tcfs_force && amroot; - - if ((tcfs_locate (name) && !tcfs_force) - || (!amroot && crypt_passwd[0])) { - if (amroot) { - printf (_ - ("User %s has a TCFS key, his old password is required.\n"), - name); - printf (_ - ("You can use -t option to force the change.\n")); - } -#else if (!amroot && crypt_passwd[0]) { -#endif - if (!(clear = getpass (_("Old password: ")))) return -1; @@ -303,17 +227,9 @@ static int reuse (const char *pass, const struct passwd *pw) return -1; } STRFCPY (orig, clear); -#ifdef HAVE_TCFS - STRFCPY (tcfspword->tcfsorig, clear); -#endif strzero (clear); strzero (cipher); } else { -#ifdef HAVE_TCFS - if (tcfs_locate (name)) - printf (_("Warning: user %s has a TCFS key.\n"), - name); -#endif orig[0] = '\0'; } @@ -380,9 +296,6 @@ Please use a combination of upper and lower case letters and numbers.\n"), getde memzero (pass, sizeof pass); return -1; } -#ifdef HAVE_TCFS - STRFCPY (tcfspword->tcfspass, pass); -#endif /* * Encrypt the password, then wipe the cleartext password. @@ -473,20 +386,9 @@ static void check_password (const struct passwd *pw) closelog (); exit (E_NOPERM); } -#ifdef ATT_AGE - /* - * Can always be changed if there is no age info - */ - if (!pw->pw_age[0]) - return; - - last = a64l (pw->pw_age + 2) * WEEK; - ok = last + c64i (pw->pw_age[1]) * WEEK; -#else /* !ATT_AGE */ last = 0; ok = 0; -#endif /* !ATT_AGE */ #endif /* !SHADOWPWD */ if (now < ok) { fprintf (stderr, @@ -506,30 +408,6 @@ static void check_password (const struct passwd *pw) */ static char *insert_crypt_passwd (const char *string, const char *passwd) { -#ifdef AUTH_METHODS - if (string && *string) { - char *cp, *result; - - result = xmalloc (strlen (string) + strlen (passwd) + 1); - cp = result; - while (*string) { - if (string[0] == ';') { - *cp++ = *string++; - } else if (string[0] == '@') { - while (*string && *string != ';') - *cp++ = *string++; - } else { - while (*passwd) - *cp++ = *passwd++; - - while (*string && *string != ';') - string++; - } - } - *cp = '\0'; - return result; - } -#endif return xstrdup (passwd); } #endif /* !USE_PAM */ @@ -582,17 +460,7 @@ static void print_status (const struct passwd *pw) } else #endif { -#ifdef ATT_AGE - printf ("%s %s %s %d %d\n", - pw->pw_name, - pw_status (pw->pw_passwd), - date_to_str (strlen (pw->pw_age) > 2 ? - a64l (pw->pw_age + 2) * WEEK : 0L), - pw->pw_age[0] ? c64i (pw->pw_age[1]) * 7 : 0, - pw->pw_age[0] ? c64i (pw->pw_age[0]) * 7 : 10000); -#else printf ("%s %s\n", pw->pw_name, pw_status (pw->pw_passwd)); -#endif } } @@ -602,9 +470,6 @@ static void fail_exit (int status) pw_unlock (); #ifdef SHADOWPWD spw_unlock (); -#endif -#ifdef HAVE_TCFS - tcfs_unlock (); #endif exit (status); } @@ -644,12 +509,6 @@ static void update_noshadow (void) const struct passwd *pw; struct passwd *npw; -#ifdef ATT_AGE - char age[5]; - long week = time ((time_t *) 0) / WEEK; - char *cp; -#endif - if (!pw_lock ()) { fprintf (stderr, _ @@ -672,69 +531,6 @@ static void update_noshadow (void) if (!npw) oom (); npw->pw_passwd = update_crypt_pw (npw->pw_passwd); -#ifdef ATT_AGE - memzero (age, sizeof (age)); - STRFCPY (age, npw->pw_age); - - /* - * Just changing the password - update the last change date if there - * is one, otherwise the age just disappears. - */ - if (do_update_age) { - if (strlen (age) > 2) { - cp = l64a (week); - age[2] = cp[0]; - age[3] = cp[1]; - } else { - age[0] = '\0'; - } - } - - if (xflg) { - if (age_max > 0) - age[0] = i64c ((age_max + 6) / 7); - else - age[0] = '.'; - - if (age[1] == '\0') - age[1] = '.'; - } - if (nflg) { - if (age[0] == '\0') - age[0] = 'z'; - - if (age_min > 0) - age[1] = i64c ((age_min + 6) / 7); - else - age[1] = '.'; - } - /* - * The last change date is added by -n or -x if it's not already - * there. - */ - if ((nflg || xflg) && strlen (age) <= 2) { - cp = l64a (week); - age[2] = cp[0]; - age[3] = cp[1]; - } - - /* - * Force password change - if last change date is present, it will - * be set to (today - max - 1 week). Otherwise, just set min = max - * = 0 (will disappear when password is changed). - */ - if (eflg) { - if (strlen (age) > 2) { - cp = l64a (week - c64i (age[0]) - 1); - age[2] = cp[0]; - age[3] = cp[1]; - } else { - strcpy (age, ".."); - } - } - - npw->pw_age = age; -#endif if (!pw_update (npw)) { fprintf (stderr, _("Error updating the password entry.\n")); @@ -759,46 +555,6 @@ static void update_noshadow (void) pw_unlock (); } -#ifdef HAVE_TCFS -static void update_tcfs (void) -{ - if (!tcfs_force) { - if (!tcfs_lock ()) { - fprintf (stderr, - _ - ("Cannot lock the TCFS key database; try again later\n")); - SYSLOG ((LOG_WARN, - "can't lock TCFS key database")); - exit (E_PWDBUSY); - } - if (!tcfs_open (O_RDWR)) { - fprintf (stderr, - _ - ("Cannot open the TCFS key database.\n")); - SYSLOG ((LOG_WARN, - "can't open TCFS key database")); - fail_exit (E_MISSING); - } - if (!tcfs_update (name, tcfspword)) { - fprintf (stderr, - _ - ("Error updating the TCFS key database.\n")); - SYSLOG ((LOG_ERR, - "error updating TCFS key database")); - fail_exit (E_FAILURE); - } - if (!tcfs_close ()) { - fprintf (stderr, - _("Cannot commit TCFS changes.\n")); - SYSLOG ((LOG_ERR, - "can't rewrite TCFS key database")); - fail_exit (E_FAILURE); - } - tcfs_unlock (); - } -} -#endif /* HAVE_TCFS */ - #ifdef SHADOWPWD static void update_shadow (void) { @@ -904,7 +660,6 @@ static long getnumber (const char *str) * -f execute chfn command to interpret flags * -s execute chsh command to interpret flags * -k change password only if expired - * -t force 'passwd' to change the password regardless of TCFS * * (*) requires root permission to execute. * @@ -990,31 +745,14 @@ int main (int argc, char **argv) */ #ifdef SHADOWPWD - #define FLAGS "adlqr:uSekn:x:i:w:" -#ifdef HAVE_TCFS -#undef FLAGS -#define FLAGS "adlqr:uSekn:x:i:w:t" -#endif - #else - -#define FLAGS "adlqr:uS" -#ifdef HAVE_TCFS -#undef FLAGS -#define FLAGS "adlqr:uSt" -#endif - +# define FLAGS "adlqr:uS" #endif while ((flag = getopt (argc, argv, FLAGS)) != EOF) { #undef FLAGS switch (flag) { -#ifdef HAVE_TCFS - case 't': - tcfs_force = 1; - break; -#endif #ifdef SHADOWPWD case 'x': age_max = getnumber (optarg); @@ -1204,21 +942,7 @@ int main (int argc, char **argv) */ if (!anyflag) { -#ifdef AUTH_METHODS - if (strchr (cp, '@')) { - if (pw_auth (cp, name, PW_CHANGE, (char *) 0)) { - SYSLOG ((LOG_INFO, - "password for `%s' changed by `%s'", - name)); - closelog (); - exit (E_NOPERM); - } else if (!uses_default_method (cp)) { - do_update_age = 1; - goto done; - } - } else -#endif - STRFCPY (crypt_passwd, cp); + STRFCPY (crypt_passwd, cp); /* * See if the user is permitted to change the password. @@ -1231,10 +955,6 @@ int main (int argc, char **argv) check_password (pw); #endif -#ifdef HAVE_TCFS - tcfspword = - (struct tcfspwd *) calloc (1, sizeof (struct tcfspwd)); -#endif /* * Let the user know whose password is being changed. */ @@ -1251,9 +971,6 @@ int main (int argc, char **argv) do_update_pwd = 1; do_update_age = 1; } -#ifdef AUTH_METHODS - done: -#endif #endif /* !USE_PAM */ /* * Before going any further, raise the ulimit to prevent colliding @@ -1286,14 +1003,17 @@ int main (int argc, char **argv) #endif update_noshadow (); -#ifdef HAVE_TCFS - if (tcfs_locate (name) && tcfs_file_present ()) - update_tcfs (); + nscd_flush_cache ("passwd"); + nscd_flush_cache ("group"); +#ifdef SHADOWPWD + nscd_flush_cache ("shadow"); #endif + SYSLOG ((LOG_INFO, "password for `%s' changed by `%s'", name, myname)); closelog (); if (!qflg) printf (_("Password changed.\n")); exit (E_SUCCESS); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/pwconv.c b/src/pwconv.c index a7e6d468..89ad42cb 100644 --- a/src/pwconv.c +++ b/src/pwconv.c @@ -29,7 +29,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: pwconv.c,v 1.12 2002/01/05 15:41:44 kloczek Exp $") +RCSID (PKG_VER "$Id: pwconv.c,v 1.15 2003/06/19 18:11:01 kloczek Exp $") #include #include #include @@ -43,12 +43,13 @@ RCSID (PKG_VER "$Id: pwconv.c,v 1.12 2002/01/05 15:41:44 kloczek Exp $") #include "pwio.h" #include "shadowio.h" #include "getdef.h" +#ifdef SHADOWPWD /* * exit status values */ #define E_SUCCESS 0 /* success */ #define E_NOPERM 1 /* permission denied */ -#define E_USAGE 2 /* bad command syntax */ +#define E_USAGE 2 /* invalid command syntax */ #define E_FAILURE 3 /* unexpected failure, nothing done */ #define E_MISSING 4 /* unexpected failure, passwd file missing */ #define E_PWDBUSY 5 /* passwd file(s) busy */ @@ -181,3 +182,13 @@ int main (int argc, char **argv) pw_unlock (); exit (E_SUCCESS); } + +#else /* !SHADOWPWD */ +int main (int argc, char **argv) +{ + fprintf (stderr, + "%s: not configured for shadow password support.\n", + argv[0]); + exit (1); +} +#endif /* !SHADOWPWD */ diff --git a/src/pwunconv.c b/src/pwunconv.c index 2e408afa..1af354cb 100644 --- a/src/pwunconv.c +++ b/src/pwunconv.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: pwunconv.c,v 1.11 2002/01/05 15:41:44 kloczek Exp $") +RCSID (PKG_VER "$Id: pwunconv.c,v 1.15 2003/06/19 18:11:01 kloczek Exp $") #include "defines.h" #include #include @@ -40,19 +40,8 @@ RCSID (PKG_VER "$Id: pwunconv.c,v 1.11 2002/01/05 15:41:44 kloczek Exp $") #include "prototypes.h" #include "pwio.h" #include "shadowio.h" -#ifndef SHADOWPWD -int main (int argc, char **argv) -{ - setlocale (LC_ALL, ""); - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - - fprintf (stderr, _("%s: Shadow passwords are not configured.\n"), - argv[0]); - exit (1); -} - -#else /*{ */ +#include "nscd.h" +#ifdef SHADOWPWD char *l64a (); static int shadow_locked = 0, passwd_locked = 0; @@ -76,9 +65,6 @@ int main (int argc, char **argv) struct passwd pwent; const struct spwd *spwd; -#ifdef ATT_AGE - char newage[5]; -#endif char *Prog = argv[0]; setlocale (LC_ALL, ""); @@ -133,28 +119,6 @@ int main (int argc, char **argv) * to weeks and so on. */ -#ifdef ATT_AGE - if (spwd->sp_max > (63 * WEEK / SCALE) - && spwd->sp_max < 10000) - spwd->sp_max = (63 * WEEK / SCALE); /* 10000 is infinity */ - - if (spwd->sp_min >= 0 && spwd->sp_min <= 63 * 7 && - spwd->sp_max >= 0 && spwd->sp_max <= 63 * 7) { - if (spwd->sp_lstchg == -1) - spwd->sp_lstchg = 0; - - spwd->sp_max /= WEEK / SCALE; /* turn it into weeks */ - spwd->sp_min /= WEEK / SCALE; - spwd->sp_lstchg /= WEEK / SCALE; - - strncpy (newage, - l64a (spwd->sp_lstchg * (64L * 64L) + - spwd->sp_min * (64L) + - spwd->sp_max), 5); - pwent.pw_age = newage; - } else - pwent.pw_age = ""; -#endif /* ATT_AGE */ if (!pw_update (&pwent)) { fprintf (stderr, _("%s: can't update entry for user %s\n"), @@ -185,6 +149,21 @@ int main (int argc, char **argv) spw_unlock (); pw_unlock (); + + nscd_flush_cache ("passwd"); +#ifdef SHADOWPWD + nscd_flush_cache ("shadow"); +#endif + return 0; } -#endif + +#else /* !SHADOWPWD */ +int main (int argc, char **argv) +{ + fprintf (stderr, + "%s: not configured for shadow password support.\n", + argv[0]); + exit (1); +} +#endif /* !SHADOWPWD */ diff --git a/src/su.c b/src/su.c index 8ad90e2d..1e10d605 100644 --- a/src/su.c +++ b/src/su.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: su.c,v 1.22 2002/03/08 04:30:28 kloczek Exp $") +RCSID (PKG_VER "$Id: su.c,v 1.26 2003/06/19 18:11:01 kloczek Exp $") #include #include #ifdef USE_PAM @@ -464,14 +464,6 @@ int main (int argc, char **argv) "Expired account %s", name)); su_failure (tty); } -#else -#if defined(ATT_AGE) - if (pwent.pw_age[0] && isexpired (&pwent)) { - SYSLOG ((pwent.pw_uid ? LOG_WARN : LOG_CRIT, - "Expired account %s", name)); - su_failure (tty); - } -#endif /* ATT_AGE */ #endif } @@ -494,9 +486,7 @@ int main (int argc, char **argv) signal (SIGINT, SIG_DFL); cp = getdef_str ((pwent.pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); -#if 0 - addenv (cp ? cp : "PATH=/bin:/usr/bin", NULL); -#else + /* XXX very similar code duplicated in libmisc/setupenv.c */ if (!cp) { addenv ("PATH=/bin:/usr/bin", NULL); @@ -505,7 +495,6 @@ int main (int argc, char **argv) } else { addenv ("PATH", cp); } -#endif environ = newenvp; /* make new environment active */ @@ -597,12 +586,6 @@ int main (int argc, char **argv) if (fakelogin) { char *arg0; -#if 0 /* XXX - GNU su doesn't do this. --marekm */ - if (!hushed (&pwent)) { - motd (); - mailcheck (); - } -#endif cp = getdef_str ("SU_NAME"); if (!cp) cp = Basename (pwent.pw_shell); @@ -630,5 +613,6 @@ int main (int argc, char **argv) } shell (pwent.pw_shell, cp); - /*NOTREACHED*/ exit (1); + /* NOT REACHED */ + exit (1); } diff --git a/src/suauth.c b/src/suauth.c index a41aca39..56aecd73 100644 --- a/src/suauth.c +++ b/src/suauth.c @@ -25,26 +25,25 @@ struct passwd pwent; * strings output to the user or the syslog. -- chris */ -static int applies(const char *, char *); +static int applies (const char *, char *); -int check_su_auth(const char *, const char *); -int isgrp(const char *, const char *); +int check_su_auth (const char *, const char *); +int isgrp (const char *, const char *); static int lines = 0; -int -check_su_auth(const char *actual_id, const char *wanted_id) +int check_su_auth (const char *actual_id, const char *wanted_id) { - int posn, endline; - const char field[] = ":"; - FILE *authfile_fd; - char temp[1024]; - char *to_users; - char *from_users; - char *action; + int posn, endline; + const char field[] = ":"; + FILE *authfile_fd; + char temp[1024]; + char *to_users; + char *from_users; + char *action; - if (!(authfile_fd = fopen(SUAUTHFILE, "r"))) { + if (!(authfile_fd = fopen (SUAUTHFILE, "r"))) { /* * If the file doesn't exist - default to the standard su * behaviour (no access control). If open fails for some @@ -53,23 +52,25 @@ check_su_auth(const char *actual_id, const char *wanted_id) */ if (errno == ENOENT) return NOACTION; - SYSLOG((LOG_ERR, "could not open/read config file '%s': %m\n", - SUAUTHFILE)); + SYSLOG ((LOG_ERR, + "could not open/read config file '%s': %m\n", + SUAUTHFILE)); return DENY; } - while (fgets(temp, sizeof(temp), authfile_fd) != NULL) { + while (fgets (temp, sizeof (temp), authfile_fd) != NULL) { lines++; - if (temp[endline = strlen(temp) - 1] != '\n') { - SYSLOG((LOG_ERR, - "%s, line %d: line too long or missing newline", - SUAUTHFILE, lines)); + if (temp[endline = strlen (temp) - 1] != '\n') { + SYSLOG ((LOG_ERR, + "%s, line %d: line too long or missing newline", + SUAUTHFILE, lines)); continue; } - while (endline > 0 && (temp[endline-1] == ' ' - || temp[endline-1] == '\t' || temp[endline-1] == '\n')) + while (endline > 0 && (temp[endline - 1] == ' ' + || temp[endline - 1] == '\t' + || temp[endline - 1] == '\n')) endline--; temp[endline] = '\0'; @@ -77,108 +78,117 @@ check_su_auth(const char *actual_id, const char *wanted_id) while (temp[posn] == ' ' || temp[posn] == '\t') posn++; - if (temp[posn] == '\n' || temp[posn] == '#' || temp[posn] == '\0') { + if (temp[posn] == '\n' || temp[posn] == '#' + || temp[posn] == '\0') { continue; } - if (!(to_users = strtok(temp + posn, field)) - || !(from_users = strtok((char *)NULL, field)) - || !(action = strtok((char *)NULL, field)) - || strtok((char *)NULL, field)) { - SYSLOG((LOG_ERR, "%s, line %d. Bad number of fields.\n", - SUAUTHFILE, lines)); + if (!(to_users = strtok (temp + posn, field)) + || !(from_users = strtok ((char *) NULL, field)) + || !(action = strtok ((char *) NULL, field)) + || strtok ((char *) NULL, field)) { + SYSLOG ((LOG_ERR, + "%s, line %d. Bad number of fields.\n", + SUAUTHFILE, lines)); continue; } - if (!applies(wanted_id, to_users)) + if (!applies (wanted_id, to_users)) continue; - if (!applies(actual_id, from_users)) + if (!applies (actual_id, from_users)) continue; - if (!strcmp(action, "DENY")) { - SYSLOG((pwent.pw_uid ? LOG_NOTICE : LOG_WARN, - "DENIED su from `%s' to `%s' (%s)\n", - actual_id, wanted_id, SUAUTHFILE)); - fprintf(stderr, _("Access to su to that account DENIED.\n")); - fclose(authfile_fd); + if (!strcmp (action, "DENY")) { + SYSLOG ((pwent.pw_uid ? LOG_NOTICE : LOG_WARN, + "DENIED su from `%s' to `%s' (%s)\n", + actual_id, wanted_id, SUAUTHFILE)); + fprintf (stderr, + _ + ("Access to su to that account DENIED.\n")); + fclose (authfile_fd); return DENY; - } else if (!strcmp(action, "NOPASS")) { - SYSLOG((pwent.pw_uid ? LOG_INFO : LOG_NOTICE, - "NO password asked for su from `%s' to `%s' (%s)\n", - actual_id, wanted_id, SUAUTHFILE)); - fprintf(stderr, _("Password authentication bypassed.\n")); - fclose(authfile_fd); + } else if (!strcmp (action, "NOPASS")) { + SYSLOG ((pwent.pw_uid ? LOG_INFO : LOG_NOTICE, + "NO password asked for su from `%s' to `%s' (%s)\n", + actual_id, wanted_id, SUAUTHFILE)); + fprintf (stderr, + _("Password authentication bypassed.\n")); + fclose (authfile_fd); return NOPWORD; - } else if (!strcmp(action, "OWNPASS")) { - SYSLOG((pwent.pw_uid ? LOG_INFO : LOG_NOTICE, - "su from `%s' to `%s': asking for user's own password (%s)\n", - actual_id, wanted_id, SUAUTHFILE)); - fprintf(stderr, _("Please enter your OWN password as authentication.\n")); - fclose(authfile_fd); + } else if (!strcmp (action, "OWNPASS")) { + SYSLOG ((pwent.pw_uid ? LOG_INFO : LOG_NOTICE, + "su from `%s' to `%s': asking for user's own password (%s)\n", + actual_id, wanted_id, SUAUTHFILE)); + fprintf (stderr, + _ + ("Please enter your OWN password as authentication.\n")); + fclose (authfile_fd); return OWNPWORD; } else { - SYSLOG((LOG_ERR, "%s, line %d: unrecognised action!\n", - SUAUTHFILE, lines)); + SYSLOG ((LOG_ERR, + "%s, line %d: unrecognised action!\n", + SUAUTHFILE, lines)); } } - fclose(authfile_fd); + fclose (authfile_fd); return NOACTION; } -static int -applies(const char *single, char *list) +static int applies (const char *single, char *list) { - const char split[] = ", "; - char *tok; + const char split[] = ", "; + char *tok; int state = 0; - for (tok = strtok(list, split); tok != NULL; tok = strtok(NULL, split)) { + for (tok = strtok (list, split); tok != NULL; + tok = strtok (NULL, split)) { - if (!strcmp(tok, "ALL")) { + if (!strcmp (tok, "ALL")) { if (state != 0) { - SYSLOG((LOG_ERR, - "%s, line %d: ALL in bad place\n", - SUAUTHFILE, lines)); + SYSLOG ((LOG_ERR, + "%s, line %d: ALL in bad place\n", + SUAUTHFILE, lines)); return 0; } state = 1; - } else if (!strcmp(tok, "EXCEPT")) { + } else if (!strcmp (tok, "EXCEPT")) { if (state != 1) { - SYSLOG((LOG_ERR, - "%s, line %d: EXCEPT in bas place\n", - SUAUTHFILE, lines)); + SYSLOG ((LOG_ERR, + "%s, line %d: EXCEPT in bas place\n", + SUAUTHFILE, lines)); return 0; } state = 2; - } else if (!strcmp(tok, "GROUP")) { + } else if (!strcmp (tok, "GROUP")) { if ((state != 0) && (state != 2)) { - SYSLOG((LOG_ERR, - "%s, line %d: GROUP in bad place\n", - SUAUTHFILE, lines)); + SYSLOG ((LOG_ERR, + "%s, line %d: GROUP in bad place\n", + SUAUTHFILE, lines)); return 0; } state = (state == 0) ? 3 : 4; } else { switch (state) { - case 0: /* No control words yet */ - if (!strcmp(tok, single)) - return 1; - break; - case 1: /* An all */ - SYSLOG((LOG_ERR, "%s, line %d: expect another token after ALL\n", - SUAUTHFILE, lines)); + case 0: /* No control words yet */ + if (!strcmp (tok, single)) + return 1; + break; + case 1: /* An all */ + SYSLOG ((LOG_ERR, + "%s, line %d: expect another token after ALL\n", + SUAUTHFILE, lines)); + return 0; + case 2: /* All except */ + if (!strcmp (tok, single)) return 0; - case 2: /* All except */ - if (!strcmp(tok, single)) - return 0; - break; - case 3: /* Group */ - if (isgrp(single, tok)) - return 1; - break; - case 4: /* All except group */ - if (isgrp(single, tok)) - return 0; - /* FALL THRU */ + break; + case 3: /* Group */ + if (isgrp (single, tok)) + return 1; + break; + case 4: /* All except group */ + if (isgrp (single, tok)) + return 0; + /* FALL THRU */ } } } @@ -187,16 +197,15 @@ applies(const char *single, char *list) return 0; } -int -isgrp(const char *name, const char *group) +int isgrp (const char *name, const char *group) { - struct group *grp; + struct group *grp; - grp = getgrnam(group); + grp = getgrnam (group); if (!grp || !grp->gr_mem) return 0; - return is_on_list(grp->gr_mem, name); + return is_on_list (grp->gr_mem, name); } -#endif /* SU_ACCESS */ +#endif /* SU_ACCESS */ diff --git a/src/sulogin.c b/src/sulogin.c index 07d0130a..b011d7bf 100644 --- a/src/sulogin.c +++ b/src/sulogin.c @@ -30,15 +30,10 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: sulogin.c,v 1.13 2002/01/05 15:41:44 kloczek Exp $") +RCSID (PKG_VER "$Id: sulogin.c,v 1.17 2003/05/12 04:39:17 kloczek Exp $") #include "prototypes.h" #include "defines.h" #include "getdef.h" -#if HAVE_UTMPX_H -#include -#else -#include -#endif #include #include #include @@ -49,15 +44,6 @@ static char pass[BUFSIZ]; static struct passwd pwent; -#if 0 -#if HAVE_UTMPX_H -static struct utmpx utent; -#else -static struct utmp utent; -#endif -#endif - - extern char **newenvp; extern size_t newenvc; @@ -209,20 +195,6 @@ static RETSIGTYPE catch (int sig) STRFCPY (pass, cp); strzero (cp); } -#ifdef AUTH_METHODS - if (pwent.pw_name && pwent.pw_passwd[0] == '@') { - if (pw_auth - (pwent.pw_passwd + 1, name, PW_LOGIN, - (char *) 0)) { -#ifdef USE_SYSLOG - syslog (LOG_WARN, - "Incorrect root authentication"); -#endif - continue; - } - goto auth_done; - } -#endif if (valid (pass, &pwent)) /* check encrypted passwords ... */ break; /* ... encrypted passwords matched */ @@ -232,9 +204,6 @@ static RETSIGTYPE catch (int sig) sleep (2); puts (_("Login incorrect")); } -#ifdef AUTH_METHODS - auth_done: -#endif strzero (pass); alarm (0); signal (SIGALRM, SIG_DFL); @@ -245,26 +214,6 @@ static RETSIGTYPE catch (int sig) syslog (LOG_INFO, "System Maintenance Mode\n"); #endif -#if 0 /* do we need all this? we are logging in as root anyway... --marekm */ - /* - * Normally there would be a utmp entry for login to mung on to get - * the tty name, date, etc. from. We don't need all that stuff - * because we won't update the utmp or wtmp files. BUT!, we do need - * the tty name so we can set the permissions and ownership. - */ - - if ((cp = ttyname (0))) { /* found entry in /dev/ */ - if (strncmp (cp, "/dev/", 5) == 0) - cp += 5; - - strncpy (utent.ut_line, cp, sizeof utent.ut_line); - } - if (getenv ("IFS")) /* don't export user IFS ... */ - addenv ("IFS= \t\n", NULL); /* ... instead, set a safe IFS */ - - setup (&pwent, 0); /* set UID, GID, HOME, etc ... */ -#endif - #ifdef USE_SYSLOG closelog (); #endif diff --git a/src/useradd.c b/src/useradd.c index 17a607e8..7d6e6390 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: useradd.c,v 1.32 2002/01/10 13:01:28 kloczek Exp $") +RCSID (PKG_VER "$Id: useradd.c,v 1.46.2.2 2004/01/14 06:41:06 kloczek Exp $") #include "prototypes.h" #include "defines.h" #include "chkname.h" @@ -55,6 +55,7 @@ RCSID (PKG_VER "$Id: useradd.c,v 1.32 2002/01/10 13:01:28 kloczek Exp $") #include "lastlog_.h" #endif #include "faillog.h" +#include "nscd.h" #ifndef SKEL_DIR #define SKEL_DIR "/etc/skel" #endif @@ -108,26 +109,20 @@ static int do_grp_update = 0; /* group files need to be updated */ static char *Prog; static int - bflg = 0, /* new default root of home directory */ - cflg = 0, /* comment (GECOS) field for new account */ - dflg = 0, /* home directory for new account */ - Dflg = 0, /* set/show new user default values */ - eflg = 0, /* days since 1970-01-01 when account is locked */ - fflg = 0, /* days until account with expired password is locked */ - gflg = 0, /* primary group ID for new account */ - Gflg = 0, /* secondary group set for new account */ - kflg = 0, /* specify a directory to fill new user directory */ - mflg = 0, /* create user's home directory if it doesn't exist */ - nflg = 0, /* create a group having the same name as the user */ - oflg = 0, /* permit non-unique user ID to be specified with -u */ - sflg = 0, /* shell program for new account */ - uflg = 0; /* specify user ID for new account */ - -#ifdef AUTH_METHODS -static int Aflg = 0; /* specify authentication method for user */ -static char user_auth[1024]; -static char *auth_arg; -#endif + bflg = 0, /* new default root of home directory */ + cflg = 0, /* comment (GECOS) field for new account */ + dflg = 0, /* home directory for new account */ + Dflg = 0, /* set/show new user default values */ + eflg = 0, /* days since 1970-01-01 when account is locked */ + fflg = 0, /* days until account with expired password is locked */ + gflg = 0, /* primary group ID for new account */ + Gflg = 0, /* secondary group set for new account */ + kflg = 0, /* specify a directory to fill new user directory */ + mflg = 0, /* create user's home directory if it doesn't exist */ + nflg = 0, /* create a group having the same name as the user */ + oflg = 0, /* permit non-unique user ID to be specified with -u */ + sflg = 0, /* shell program for new account */ + uflg = 0; /* specify user ID for new account */ extern char *optarg; extern int optind; @@ -138,6 +133,7 @@ extern int pw_dbm_mode; #ifdef SHADOWPWD extern int sp_dbm_mode; #endif + extern int gr_dbm_mode; #ifdef SHADOWGRP @@ -178,7 +174,7 @@ static int sg_dbm_added; */ #define E_SUCCESS 0 /* success */ #define E_PW_UPDATE 1 /* can't update password file */ -#define E_USAGE 2 /* bad command syntax */ +#define E_USAGE 2 /* invalid command syntax */ #define E_BAD_ARG 3 /* invalid argument to option */ #define E_UID_IN_USE 4 /* uid already in use (and no -o) */ #define E_NOTFOUND 6 /* specified group doesn't exist */ @@ -186,21 +182,12 @@ static int sg_dbm_added; #define E_GRP_UPDATE 10 /* can't update group file */ #define E_HOMEDIR 12 /* can't create home directory */ -#ifdef SVR4 -#define DGROUP "defgroup=" -#define HOME "defparent=" -#define SHELL "defshell=" -#define INACT "definact=" -#define EXPIRE "defexpire=" -#define SKEL "defskel=" -#else -#define DGROUP "GROUP=" -#define HOME "HOME=" -#define SHELL "SHELL=" -#define INACT "INACTIVE=" -#define EXPIRE "EXPIRE=" -#define SKEL "SKEL=" -#endif +#define DGROUP "GROUP=" +#define HOME "HOME=" +#define SHELL "SHELL=" +#define INACT "INACTIVE=" +#define EXPIRE "EXPIRE=" +#define SKEL "SKEL=" /* local function prototypes */ static void fail_exit (int); @@ -221,10 +208,6 @@ static void new_spent (struct spwd *); static void grp_update (void); static void find_new_uid (void); -#ifdef AUTH_METHODS -static void convert_auth (char *, const char *); -static int valid_auth (const char *); -#endif static void process_flags (int argc, char **argv); static void close_files (void); static void open_files (void); @@ -354,7 +337,8 @@ static void get_defaults (void) */ if (MATCH (buf, DGROUP)) { - unsigned int val = (unsigned int) strtoul (cp, &ep, 10); + unsigned int val = + (unsigned int) strtoul (cp, &ep, 10); if (*cp != '\0' && *ep == '\0') { /* valid number */ def_group = val; @@ -378,7 +362,6 @@ static void get_defaults (void) /* * Default HOME filesystem */ - else if (MATCH (buf, HOME)) { def_home = xstrdup (cp); } @@ -386,15 +369,14 @@ static void get_defaults (void) /* * Default Login Shell command */ - else if (MATCH (buf, SHELL)) { def_shell = xstrdup (cp); } #ifdef SHADOWPWD + /* * Default Password Inactive value */ - else if (MATCH (buf, INACT)) { long val = strtol (cp, &ep, 10); @@ -407,7 +389,6 @@ static void get_defaults (void) /* * Default account expiration date */ - else if (MATCH (buf, EXPIRE)) { def_expire = xstrdup (cp); } @@ -416,7 +397,6 @@ static void get_defaults (void) /* * Default Skeleton information */ - else if (MATCH (buf, SKEL)) { if (*cp == '\0') cp = SKEL_DIR; /* XXX warning: const */ @@ -436,17 +416,6 @@ static void get_defaults (void) static void show_defaults (void) { -#ifdef SVR4 - printf (_("group=%s,%u basedir=%s skel=%s\n"), - def_gname, (unsigned int) def_group, def_home, - def_template); - - printf (_("shell=%s "), def_shell); -#ifdef SHADOWPWD - printf (_("inactive=%ld expire=%s"), def_inactive, def_expire); -#endif - printf ("\n"); -#else /* !SVR4 */ printf (_("GROUP=%u\n"), (unsigned int) def_group); printf (_("HOME=%s\n"), def_home); #ifdef SHADOWPWD @@ -455,7 +424,6 @@ static void show_defaults (void) #endif printf (_("SHELL=%s\n"), def_shell); printf (_("SKEL=%s\n"), def_template); -#endif /* !SVR4 */ } /* @@ -481,10 +449,6 @@ static int set_defaults (void) int out_shell = 0; int out_skel = 0; -#ifdef SVR4 - int out_gname = 0; -#endif - /* * Create a temporary file to copy the new output to. */ @@ -524,14 +488,7 @@ static int set_defaults (void) fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group); out_group++; - } -#ifdef SVR4 - else if (!out_gname && MATCH (buf, "defgname=")) { - fprintf (ofp, "defgname=%s\n", def_gname); - out_gname++; - } -#endif - else if (!out_home && MATCH (buf, HOME)) { + } else if (!out_home && MATCH (buf, HOME)) { fprintf (ofp, HOME "%s\n", def_home); out_home++; #ifdef SHADOWPWD @@ -541,9 +498,8 @@ static int set_defaults (void) } else if (!out_expire && MATCH (buf, EXPIRE)) { fprintf (ofp, EXPIRE "%s\n", def_expire); out_expire++; - } #endif - else if (!out_shell && MATCH (buf, SHELL)) { + } else if (!out_shell && MATCH (buf, SHELL)) { fprintf (ofp, SHELL "%s\n", def_shell); out_shell++; } else if (!out_skel && MATCH (buf, SKEL)) { @@ -612,12 +568,16 @@ static int set_defaults (void) } #ifdef SHADOWPWD SYSLOG ((LOG_INFO, - "defaults: group=%u, home=%s, inactive=%ld, expire=%s", - (unsigned int) def_group, def_home, def_inactive, - def_expire)); + "useradd defaults: GROUP=%u, HOME=%s, SHELL=%s, INACTIVE=%ld, " + "EXPIRE=%s, SKEL=%s", + (unsigned int) def_group, def_home, def_shell, + def_inactive, def_expire, def_template)); #else - SYSLOG ((LOG_INFO, "defaults: group=%u, home=%s", - (unsigned int) def_group, def_home)); + SYSLOG ((LOG_INFO, + "useradd defaults: GROUP=%u, HOME=%s, SHELL=%s, " + "SKEL=%s", + (unsigned int) def_group, def_home, def_shell, + def_template)); #endif return 0; } @@ -735,25 +695,17 @@ static void usage (void) { fprintf (stderr, _ - ("usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"), - Prog); + ("Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n")); fprintf (stderr, _ - ("\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n")); - fprintf (stderr, "\t\t"); + (" [-d home] [-s shell] [-c comment] [-m [-k template]]\n")); #ifdef SHADOWPWD - fprintf (stderr, _("[-f inactive] [-e expire ] ")); + fprintf (stderr, _(" [-f inactive] [-e expire]\n")); #endif -#ifdef AUTH_METHODS - fprintf (stderr, _("[-A program] ")); -#endif - fprintf (stderr, _("[-p passwd] name\n")); - fprintf (stderr, - _(" %s\t-D [-g group] [-b base] [-s shell]\n"), - Prog); + _(" useradd -D [-g group] [-b base] [-s shell]\n")); #ifdef SHADOWPWD - fprintf (stderr, _("\t\t[-f inactive] [-e expire ]\n")); + fprintf (stderr, _(" [-f inactive] [-e expire]\n")); #endif exit (E_USAGE); @@ -777,18 +729,9 @@ static void new_pwent (struct passwd *pwent) #endif pwent->pw_passwd = (char *) user_pass; -#ifdef ATT_AGE - pwent->pw_age = (char *) ""; -#endif pwent->pw_uid = user_id; pwent->pw_gid = user_gid; pwent->pw_gecos = (char *) user_comment; -#ifdef ATT_COMMENT - pwent->pw_comment = (char *) ""; -#endif -#ifdef BSD_QUOTA - pwent->pw_quota = 0; -#endif pwent->pw_dir = (char *) user_home; pwent->pw_shell = (char *) user_shell; } @@ -1073,77 +1016,6 @@ static void find_new_uid (void) } } -#ifdef AUTH_METHODS -/* - * convert_auth - convert the argument list to a authentication list - */ - -static void convert_auth (char *auths, const char *list) -{ - char *cp, *end; - char buf[257]; - - /* - * Copy each method. DEFAULT is replaced by an encrypted string - * if one can be found in the current authentication list. - */ - - strcpy (buf, list); - auths[0] = '\0'; - for (cp = buf; cp; cp = end) { - if (auths[0]) - strcat (auths, ";"); - - if ((end = strchr (cp, ','))) - *end++ = '\0'; - - if (strcmp (cp, "DEFAULT") == 0) { - strcat (auths, user_pass); - } else { - strcat (auths, "@"); - strcat (auths, cp); - } - } -} - -/* - * valid_auth - check authentication list for validity - */ - -static int valid_auth (const char *methods) -{ - char *cp, *end; - char buf[257]; - int default_cnt = 0; - - /* - * Cursory checks, length and illegal characters - */ - - if ((int) strlen (methods) > 256) - return 0; - - if (!VALID (methods)) - return 0; - - /* - * Pick each method apart and check it. - */ - - strcpy (buf, methods); - for (cp = buf; cp; cp = end) { - if ((end = strchr (cp, ','))) - *end++ = '\0'; - - if (strcmp (cp, "DEFAULT") == 0) { - if (default_cnt++ > 0) - return 0; - } - } - return 1; -} -#endif /* AUTH_METHODS */ - /* * process_flags - perform command line argument setting * @@ -1167,18 +1039,6 @@ static void process_flags (int argc, char **argv) while ((arg = getopt (argc, argv, FLAGS)) != EOF) { #undef FLAGS switch (arg) { -#ifdef AUTH_METHODS - case 'A': - if (!valid_auth (optarg)) { - fprintf (stderr, - _("%s: invalid field `%s'\n"), - Prog, optarg); - exit (E_BAD_ARG); - } - auth_arg = optarg; - Aflg++; - break; -#endif case 'b': if (!Dflg) usage (); @@ -1534,13 +1394,6 @@ static void usr_update (void) if (!oflg) find_new_uid (); -#ifdef AUTH_METHODS - if (Aflg) { - convert_auth (user_auth, auth_arg); - user_pass = user_auth; - } -#endif - /* * Fill in the password structure with any new fields, making * copies of strings. @@ -1556,32 +1409,10 @@ static void usr_update (void) * happens so we know what we were trying to accomplish. */ -#ifdef AUTH_METHODS - SYSLOG ((LOG_INFO, - "new user: name=%s, uid=%u, gid=%u, home=%s, shell=%s, auth=%s", - user_name, (unsigned int) user_id, (unsigned int) user_gid, - user_home, user_shell, Aflg ? auth_arg : "DEFAULT")); -#else SYSLOG ((LOG_INFO, "new user: name=%s, uid=%u, gid=%u, home=%s, shell=%s", - user_name, (unsigned int) user_id, (unsigned int) user_gid, - user_home, user_shell)); -#endif - -#ifdef AUTH_METHODS - /* - * Attempt to add the new user to any authentication programs - * which have been requested. Since this is more likely to fail - * than the update of the password file, we do this first. - */ - - if (Aflg && pw_auth (user_auth, pwent.pw_name, PW_ADD, (char *) 0)) { - fprintf (stderr, - _("%s: error adding authentication method\n"), - Prog); - fail_exit (E_PW_UPDATE); /* XXX */ - } -#endif /* AUTH_METHODS */ + user_name, (unsigned int) user_id, + (unsigned int) user_gid, user_home, user_shell)); /* * Initialize faillog and lastlog entries for this UID in case @@ -1684,11 +1515,7 @@ static void create_home (void) fail_exit (E_HOMEDIR); } chown (user_home, user_id, user_gid); -#if 1 - chmod (user_home, 0777 & ~getdef_num ("UMASK", 077)); -#else - chmod (user_home, 0755); -#endif + chmod (user_home, 0777 & ~getdef_num ("UMASK", 022)); home_added++; } } @@ -1717,6 +1544,7 @@ int main (int argc, char **argv) sys_ngroups = sysconf (_SC_NGROUPS_MAX); user_groups = malloc ((1 + sys_ngroups) * sizeof (char *)); + user_groups[0] = (char *) 0; Prog = Basename (argv[0]); setlocale (LC_ALL, ""); @@ -1825,8 +1653,13 @@ int main (int argc, char **argv) } /* - * Do the hard stuff - open the files, create the user entries, - * create the home directory, then close and update the files. + * Do the hard stuff: + * - open the files, + * - create the user entries, + * - create the home directory, + * - create user mail spoll, + * - flush nscd caches for passwd and group services, + * - then close and update the files. */ open_files (); @@ -1855,6 +1688,9 @@ int main (int argc, char **argv) Prog); } + nscd_flush_cache ("passwd"); + nscd_flush_cache ("group"); + close_files (); #ifdef USE_PAM @@ -1875,4 +1711,5 @@ int main (int argc, char **argv) #endif /* USE_PAM */ exit (E_SUCCESS); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/userdel.c b/src/userdel.c index 78691174..56c2b8a0 100644 --- a/src/userdel.c +++ b/src/userdel.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: userdel.c,v 1.21 2002/01/05 15:41:44 kloczek Exp $") +RCSID (PKG_VER "$Id: userdel.c,v 1.29 2003/12/17 09:43:30 kloczek Exp $") #include #include #include @@ -38,7 +38,6 @@ RCSID (PKG_VER "$Id: userdel.c,v 1.21 2002/01/05 15:41:44 kloczek Exp $") #include #include #include -#include #ifdef USE_PAM #include #include @@ -48,12 +47,13 @@ RCSID (PKG_VER "$Id: userdel.c,v 1.21 2002/01/05 15:41:44 kloczek Exp $") #include "defines.h" #include "getdef.h" #include "pwauth.h" +#include "nscd.h" /* * exit status values */ #define E_SUCCESS 0 #define E_PW_UPDATE 1 /* can't update password file */ -#define E_USAGE 2 /* bad command syntax */ +#define E_USAGE 2 /* invalid command syntax */ #define E_NOTFOUND 6 /* specified user doesn't exist */ #define E_USER_BUSY 8 /* user currently logged in */ #define E_GRP_UPDATE 10 /* can't update group file */ @@ -85,11 +85,6 @@ extern int sg_dbm_mode; #include "shadowio.h" #endif -#ifdef HAVE_TCFS -#include -#include "tcfsio.h" -#endif - #ifdef SHADOWGRP #include "sgroupio.h" #endif @@ -126,7 +121,7 @@ static void remove_mailbox (void); static void usage (void) { - fprintf (stderr, _("usage: %s [-r] name\n"), Prog); + fprintf (stderr, _("Usage: %s [-r] name\n"), Prog); exit (E_USAGE); } @@ -302,11 +297,6 @@ static void close_files (void) fprintf (stderr, _("%s: cannot rewrite shadow password file\n"), Prog); -#endif -#ifdef HAVE_TCFS - if (!tcfs_close ()) - fprintf (stderr, _("%s: cannot rewrite TCFS key file\n"), - Prog); #endif if (!gr_close ()) fprintf (stderr, _("%s: cannot rewrite group file\n"), @@ -325,9 +315,6 @@ static void close_files (void) #ifdef SHADOWPWD if (is_shadow_pwd) (void) spw_unlock (); -#endif -#ifdef HAVE_TCFS - (void) tcfs_unlock (); #endif (void) pw_unlock (); } @@ -348,10 +335,6 @@ static void fail_exit (int code) if (is_shadow_grp) sgr_unlock (); #endif -#ifdef HAVE_TCFS - (void) tcfs_unlock (); -#endif - exit (code); } @@ -386,18 +369,6 @@ static void open_files (void) Prog); fail_exit (E_PW_UPDATE); } -#endif -#ifdef HAVE_TCFS - if (!tcfs_lock ()) { - fprintf (stderr, _("%s: cannot lock TCFS key file\n"), - Prog); - fail_exit (E_PW_UPDATE); - } - if (!tcfs_open (O_RDWR)) { - fprintf (stderr, _("%s: cannot open TCFS key file\n"), - Prog); - fail_exit (E_PW_UPDATE); - } #endif if (!gr_lock ()) { fprintf (stderr, _("%s: unable to lock group file\n"), @@ -432,111 +403,46 @@ static void open_files (void) static void update_user (void) { -#if defined(AUTH_METHODS) || defined(NDBM) - struct passwd *pwd; -#endif -#ifdef AUTH_METHODS + if (!pw_remove (user_name)) + fprintf (stderr, + _("%s: error deleting password entry\n"), Prog); #ifdef SHADOWPWD - struct spwd *spwd; - - if (is_shadow_pwd && (spwd = spw_locate (user_name)) && - spwd->sp_pwdp[0] == '@') { - if (pw_auth - (spwd->sp_pwdp + 1, user_name, PW_DELETE, - (char *) 0)) { - SYSLOG ((LOG_ERR, - "failed deleting auth `%s' for user `%s'\n", - spwd->sp_pwdp + 1, user_name)); - fprintf (stderr, - _("%s: error deleting authentication\n"), - Prog); - } else { - SYSLOG ((LOG_INFO, - "delete auth `%s' for user `%s'\n", - spwd->sp_pwdp + 1, user_name)); - } - } -#endif /* SHADOWPWD */ - if ((pwd = pw_locate (user_name)) && pwd->pw_passwd[0] == '@') { - if (pw_auth - (pwd->pw_passwd + 1, user_name, PW_DELETE, - (char *) 0)) { - SYSLOG ((LOG_ERR, - "failed deleting auth `%s' for user `%s'\n", - pwd->pw_passwd + 1, user_name)); - fprintf (stderr, - _("%s: error deleting authentication\n"), - Prog); - } else { - SYSLOG ((LOG_INFO, - "delete auth `%s' for user `%s'\n", - pwd->pw_passwd + 1, user_name);} - } -#endif /* AUTH_METHODS */ - if (!pw_remove (user_name)) - fprintf (stderr, - _ - ("%s: error deleting password entry\n"), - Prog); -#ifdef SHADOWPWD - if (is_shadow_pwd && !spw_remove (user_name)) - fprintf (stderr, - _ - ("%s: error deleting shadow password entry\n"), - Prog); + if (is_shadow_pwd && !spw_remove (user_name)) + fprintf (stderr, + _("%s: error deleting shadow password entry\n"), + Prog); #endif -#ifdef HAVE_TCFS - if (tcfs_locate (user_name)) { - if (!tcfs_remove (user_name)) { - SYSLOG ((LOG_ERR, - "failed deleting TCFS entry for user `%s'\n", - user_name)); - fprintf (stderr, - _ - ("%s: error deleting TCFS entry\n"), - Prog);} - else { - SYSLOG ((LOG_INFO, - "delete TCFS entry for user `%s'\n", - user_name));} - } -#endif /* HAVE_TCFS */ #ifdef NDBM - if (pw_dbm_present ()) { - if ((pwd = getpwnam (user_name)) - && !pw_dbm_remove (pwd)) + if (pw_dbm_present ()) { + if ((pwd = getpwnam (user_name)) + && !pw_dbm_remove (pwd)) fprintf (stderr, _ ("%s: error deleting password dbm entry\n"), Prog); - /* - * If the user's UID is a - * duplicate the duplicated - * entry needs to be updated - * so that a UID match can - * be found in the DBM - * files. - */ - for (pw_rewind (), pwd = pw_next (); pwd; - pwd = pw_next ()) { - if (pwd->pw_uid == user_id) { - pw_dbm_update (pwd); break;} - } - } - } + /* + * If the user's UID is a duplicate the duplicated + * entry needs to be updated so that a UID match can + * be found in the DBM files. + */ + for (pw_rewind (), pwd = pw_next (); pwd; pwd = pw_next ()) { + if (pwd->pw_uid == user_id) + pw_dbm_update (pwd); + break; + } + } +} +} #ifdef SHADOWPWD - if (is_shadow_pwd && sp_dbm_present () - && !sp_dbm_remove (user_name)) - fprintf (stderr, - _ - ("%s: error deleting shadow passwd dbm entry\n"), - Prog); +if (is_shadow_pwd && sp_dbm_present () + && !sp_dbm_remove (user_name)) + fprintf (stderr, _("%s: error deleting shadow passwd dbm entry\n"), Prog); #endif - endpwent (); +endpwent (); #endif /* NDBM */ - SYSLOG ((LOG_INFO, "delete user `%s'\n", - user_name));} +SYSLOG ((LOG_INFO, "delete user `%s'\n", user_name)); +} /* * user_busy - see if user is logged in. @@ -546,29 +452,40 @@ static void update_user (void) * as well (at least when changing username or uid). --marekm */ - static void user_busy (const char *name, uid_t uid) { - struct utmp *utent; +static void user_busy (const char *name, uid_t uid) +{ - /* - * We see if the user is logged in by looking for the user name - * in the utmp file. - */ - setutent (); while ((utent = getutent ())) { +/* + * We see if the user is logged in by looking for the user name + * in the utmp file. + */ +#if HAVE_UTMPX_H + struct utmpx *utent; + + setutxent (); + while ((utent = getutxent ())) { +#else + struct utmp *utent; + + setutent (); + while ((utent = getutent ())) { +#endif #ifdef USER_PROCESS - if (utent->ut_type != USER_PROCESS) + if (utent->ut_type != USER_PROCESS) continue; #else - if (utent->ut_user[0] == '\0') + if (utent->ut_user[0] == '\0') continue; #endif - if (strncmp - (utent->ut_user, name, sizeof utent->ut_user)) + if (strncmp (utent->ut_user, name, sizeof utent->ut_user)) continue; - fprintf (stderr, - _ - ("%s: user %s is currently logged in\n"), - Prog, name); exit (E_USER_BUSY);} - } + fprintf (stderr, + _ + ("%s: user %s is currently logged in\n"), + Prog, name); + exit (E_USER_BUSY); + } +} /* * user_cancel - cancel cron and at jobs @@ -608,249 +525,298 @@ exit 0 ========== */ - static void user_cancel (const char *user) { - char *cmd; - int pid, wpid; - int status; - if (!(cmd = getdef_str ("USERDEL_CMD"))) - return; pid = fork (); if (pid == 0) { - execl (cmd, cmd, user, (char *) 0); - if (errno == ENOENT) { - perror (cmd); _exit (127);} - else { - perror (cmd); _exit (126);} - } - else - if (pid == -1) { - perror ("fork"); return;} +static void user_cancel (const char *user) +{ + char *cmd; + int pid, wpid; + int status; - do { - wpid = wait (&status);} while (wpid != pid - && wpid != -1);} + if (!(cmd = getdef_str ("USERDEL_CMD"))) + return; + pid = fork (); + if (pid == 0) { + execl (cmd, cmd, user, (char *) 0); + if (errno == ENOENT) { + perror (cmd); + _exit (127); + } else { + perror (cmd); + _exit (126); + } + } else if (pid == -1) { + perror ("fork"); + return; + } + do { + wpid = wait (&status); + } while (wpid != pid && wpid != -1); +} #ifdef EXTRA_CHECK_HOME_DIR - static int - path_prefix (const char *s1, const char *s2) { - return (strncmp (s2, s1, strlen (s1)) == 0);} +static int path_prefix (const char *s1, const char *s2) +{ + return (strncmp (s2, s1, strlen (s1)) == 0); +} #endif - static int is_owner (uid_t uid, const char *path) { - struct stat st; if (stat (path, &st)) - return -1; return (st.st_uid == uid);} +static int is_owner (uid_t uid, const char *path) +{ + struct stat st; + + if (stat (path, &st)) + return -1; + return (st.st_uid == uid); +} #ifndef NO_REMOVE_MAILBOX - static void remove_mailbox (void) { - const char *maildir; - char mailfile[1024]; - int i; maildir = getdef_str ("MAIL_DIR"); +static void remove_mailbox (void) +{ + const char *maildir; + char mailfile[1024]; + int i; + + maildir = getdef_str ("MAIL_DIR"); #ifdef MAIL_SPOOL_DIR - if (!maildir && !getdef_str ("MAIL_FILE")) - maildir = MAIL_SPOOL_DIR; + if (!maildir && !getdef_str ("MAIL_FILE")) + maildir = MAIL_SPOOL_DIR; #endif - if (!maildir) - return; - snprintf (mailfile, sizeof mailfile, - "%s/%s", maildir, user_name); if (fflg) { - unlink (mailfile); /* always remove, ignore errors */ - return;} - i = is_owner (user_id, mailfile); if (i == 0) { - fprintf (stderr, - _ - ("%s: warning: %s not owned by %s, not removing\n"), - Prog, mailfile, user_name); return;} - else - if (i == -1) - return; /* mailbox doesn't exist */ - if (unlink (mailfile)) { - fprintf (stderr, - _("%s: warning: can't remove "), - Prog); perror (mailfile);} - } + if (!maildir) + return; + snprintf (mailfile, sizeof mailfile, "%s/%s", maildir, user_name); + if (fflg) { + unlink (mailfile); /* always remove, ignore errors */ + return; + } + i = is_owner (user_id, mailfile); + if (i == 0) { + fprintf (stderr, + _ + ("%s: warning: %s not owned by %s, not removing\n"), + Prog, mailfile, user_name); + return; + } else if (i == -1) + return; /* mailbox doesn't exist */ + if (unlink (mailfile)) { + fprintf (stderr, _("%s: warning: can't remove "), Prog); + perror (mailfile); + } +} #endif #ifdef USE_PAM - static struct pam_conv conv = { - misc_conv, NULL}; +static struct pam_conv conv = { + misc_conv, NULL +}; #endif /* USE_PAM */ /* * main - userdel command */ - int main (int argc, char **argv) { - struct passwd *pwd; int arg; int errors = 0; +int main (int argc, char **argv) +{ + struct passwd *pwd; + int arg; + int errors = 0; #ifdef USE_PAM - pam_handle_t * pamh = NULL; - struct passwd *pampw; int retval; + pam_handle_t *pamh = NULL; + struct passwd *pampw; + int retval; #endif - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); - setlocale (LC_ALL, ""); - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); + /* + * Get my name so that I can use it to report errors. + */ + Prog = Basename (argv[0]); + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); #ifdef USE_PAM - retval = PAM_SUCCESS; - pampw = getpwuid (getuid ()); if (pampw == NULL) { - retval = PAM_USER_UNKNOWN;} + retval = PAM_SUCCESS; + pampw = getpwuid (getuid ()); + if (pampw == NULL) { + retval = PAM_USER_UNKNOWN; + } - if (retval == PAM_SUCCESS) { - retval = - pam_start ("shadow", pampw->pw_name, &conv, - &pamh);} + if (retval == PAM_SUCCESS) + retval = pam_start ("shadow", pampw->pw_name, &conv, + &pamh); - if (retval == PAM_SUCCESS) { - retval = pam_authenticate (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval);} - } + if (retval == PAM_SUCCESS) { + retval = pam_authenticate (pamh, 0); + if (retval != PAM_SUCCESS) + pam_end (pamh, retval); + } - if (retval == PAM_SUCCESS) { - retval = pam_acct_mgmt (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval);} - } + if (retval == PAM_SUCCESS) { + retval = pam_acct_mgmt (pamh, 0); + if (retval != PAM_SUCCESS) + pam_end (pamh, retval); + } - if (retval != PAM_SUCCESS) { - fprintf (stderr, - _ - ("%s: PAM authentication failed\n"), - Prog); exit (1);} + if (retval != PAM_SUCCESS) { + fprintf (stderr, + _("%s: PAM authentication failed\n"), Prog); + exit (1); + } #endif /* USE_PAM */ - OPENLOG (Prog); + OPENLOG (Prog); #ifdef SHADOWPWD - is_shadow_pwd = spw_file_present (); + is_shadow_pwd = spw_file_present (); #endif #ifdef SHADOWGRP - is_shadow_grp = sgr_file_present (); + is_shadow_grp = sgr_file_present (); #endif - /* - * The open routines for the DBM files don't use read-write - * as the mode, so we have to clue them in. - */ + /* + * The open routines for the DBM files don't use read-write as the + * mode, so we have to clue them in. + */ #ifdef NDBM - pw_dbm_mode = O_RDWR; + pw_dbm_mode = O_RDWR; #ifdef SHADOWPWD - sp_dbm_mode = O_RDWR; + sp_dbm_mode = O_RDWR; #endif - gr_dbm_mode = O_RDWR; + gr_dbm_mode = O_RDWR; #ifdef SHADOWGRP - sg_dbm_mode = O_RDWR; + sg_dbm_mode = O_RDWR; #endif #endif - while ((arg = getopt (argc, argv, "fr")) != EOF) { - switch (arg) { -case 'f': /* force remove even if not owned by user */ -fflg++; break; case 'r': /* remove home dir and mailbox */ -rflg++; break; default: - usage ();} - } - - if (optind + 1 != argc) + while ((arg = getopt (argc, argv, "fr")) != EOF) { + switch (arg) { + case 'f': /* force remove even if not owned by user */ + fflg++; + break; + case 'r': /* remove home dir and mailbox */ + rflg++; + break; + default: usage (); - /* - * Start with a quick check to see if the user exists. - */ - user_name = argv[argc - 1]; - if (!(pwd = getpwnam (user_name))) { - fprintf (stderr, - _("%s: user %s does not exist\n"), - Prog, user_name); exit (E_NOTFOUND);} + } + } + + if (optind + 1 != argc) + usage (); + /* + * Start with a quick check to see if the user exists. + */ + user_name = argv[argc - 1]; + if (!(pwd = getpwnam (user_name))) { + fprintf (stderr, _("%s: user %s does not exist\n"), + Prog, user_name); + exit (E_NOTFOUND); + } #ifdef USE_NIS - /* - * Now make sure it isn't an NIS user. - */ + /* + * Now make sure it isn't an NIS user. + */ - if (__ispwNIS ()) { - char *nis_domain; - char *nis_master; - fprintf (stderr, - _("%s: user %s is a NIS user\n"), - Prog, user_name); - if (!yp_get_default_domain (&nis_domain) - && !yp_master (nis_domain, - "passwd.byname", &nis_master)) { + if (__ispwNIS ()) { + char *nis_domain; + char *nis_master; + + fprintf (stderr, + _("%s: user %s is a NIS user\n"), + Prog, user_name); + if (!yp_get_default_domain (&nis_domain) + && !yp_master (nis_domain, + "passwd.byname", &nis_master)) { fprintf (stderr, _("%s: %s is the NIS master\n"), - Prog, nis_master);} - exit (E_NOTFOUND);} + Prog, nis_master); + } + exit (E_NOTFOUND); + } #endif - user_id = pwd->pw_uid; - user_home = xstrdup (pwd->pw_dir); - /* - * Check to make certain the user isn't logged in. - */ - user_busy (user_name, user_id); - /* - * Do the hard stuff - open the files, create the user entries, - * create the home directory, then close and update the files. - */ - open_files (); update_user (); update_groups (); + user_id = pwd->pw_uid; + user_home = xstrdup (pwd->pw_dir); + /* + * Check to make certain the user isn't logged in. + */ + user_busy (user_name, user_id); + /* + * Do the hard stuff - open the files, create the user entries, + * create the home directory, then close and update the files. + */ + open_files (); + update_user (); + update_groups (); + + nscd_flush_cache ("passwd"); + nscd_flush_cache ("group"); +#ifdef SHADOWPWD + nscd_flush_cache ("shadow"); +#endif + #ifndef NO_REMOVE_MAILBOX - if (rflg) - remove_mailbox (); + if (rflg) + remove_mailbox (); #endif - if (rflg && !fflg - && !is_owner (user_id, user_home)) { - fprintf (stderr, - _ - ("%s: %s not owned by %s, not removing\n"), - Prog, user_home, user_name); - rflg = 0; errors++;} + if (rflg && !fflg && !is_owner (user_id, user_home)) { + fprintf (stderr, + _("%s: %s not owned by %s, not removing\n"), + Prog, user_home, user_name); + rflg = 0; + errors++; + } /* This may be slow, the above should be good enough. */ #ifdef EXTRA_CHECK_HOME_DIR - if (rflg && !fflg) { - /* - * For safety, refuse to remove the home directory - * if it would result in removing some other user's - * home directory. Still not perfect so be careful, - * but should prevent accidents if someone has /home - * or / as home directory... --marekm - */ - setpwent (); while ((pwd = getpwent ())) { + if (rflg && !fflg) { + /* + * For safety, refuse to remove the home directory if it + * would result in removing some other user's home + * directory. Still not perfect so be careful, but should + * prevent accidents if someone has /home or / as home + * directory... --marekm + */ + setpwent (); + while ((pwd = getpwent ())) { if (strcmp (pwd->pw_name, user_name) == 0) - continue; if (path_prefix (user_home, pwd->pw_dir)) { - fprintf (stderr, - _ - ("%s: not removing directory %s (would remove home of user %s)\n"), - Prog, user_home, pwd->pw_name); - rflg = 0; errors++; break;} - } + continue; + if (path_prefix (user_home, pwd->pw_dir)) { + fprintf (stderr, + _ + ("%s: not removing directory %s (would remove home of user %s)\n"), + Prog, user_home, pwd->pw_name); + rflg = 0; + errors++; + break; } + } + } #endif - if (rflg) { - if (remove_tree (user_home) - || rmdir (user_home)) { + if (rflg) { + if (remove_tree (user_home) + || rmdir (user_home)) { fprintf (stderr, - _ - ("%s: error removing directory %s\n"), - Prog, user_home); errors++;} - } + _("%s: error removing directory %s\n"), + Prog, user_home); + errors++; + } + } - /* - * Cancel any crontabs or at jobs. Have to do this before we - * remove the entry from /etc/passwd. - */ + /* + * Cancel any crontabs or at jobs. Have to do this before we remove + * the entry from /etc/passwd. + */ - user_cancel (user_name); close_files (); + user_cancel (user_name); + close_files (); #ifdef USE_PAM - if (retval == PAM_SUCCESS) { - retval = pam_chauthtok (pamh, 0); - if (retval != PAM_SUCCESS) { - pam_end (pamh, retval);} - } + if (retval == PAM_SUCCESS) { + retval = pam_chauthtok (pamh, 0); + if (retval != PAM_SUCCESS) + pam_end (pamh, retval); + } - if (retval != PAM_SUCCESS) { - fprintf (stderr, - _("%s: PAM chauthtok failed\n"), - Prog); exit (1);} + if (retval != PAM_SUCCESS) + fprintf (stderr, _("%s: PAM chauthtok failed\n"), Prog); + exit (1); - if (retval == PAM_SUCCESS) - pam_end (pamh, PAM_SUCCESS); + if (retval == PAM_SUCCESS) + pam_end (pamh, PAM_SUCCESS); #endif /* USE_PAM */ - exit (errors ? E_HOMEDIR : E_SUCCESS); - /*NOTREACHED*/} + exit (errors ? E_HOMEDIR : E_SUCCESS); + /* NOT REACHED */ +} diff --git a/src/usermod.c b/src/usermod.c index f8fa363d..9b95cc31 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: usermod.c,v 1.25 2002/01/05 15:41:44 kloczek Exp $") +RCSID (PKG_VER "$Id: usermod.c,v 1.31 2003/06/30 13:17:51 kloczek Exp $") #include #include #include @@ -55,6 +55,7 @@ RCSID (PKG_VER "$Id: usermod.c,v 1.25 2002/01/05 15:41:44 kloczek Exp $") #include "lastlog_.h" #endif #include "pwauth.h" +#include "nscd.h" #include "getdef.h" /* * exit status values @@ -66,12 +67,12 @@ RCSID (PKG_VER "$Id: usermod.c,v 1.25 2002/01/05 15:41:44 kloczek Exp $") #define E_USAGE 2 /* invalid command syntax */ #define E_BAD_ARG 3 /* invalid argument to option */ #define E_UID_IN_USE 4 /* uid already in use (and no -o) */ -/* #define E_BAD_PWFILE 5 *//* passwd file contains errors */ + /* #define E_BAD_PWFILE 5 *//* passwd file contains errors */ #define E_NOTFOUND 6 /* specified user/group doesn't exist */ #define E_USER_BUSY 8 /* user to modify is logged in */ #define E_NAME_IN_USE 9 /* username already in use */ #define E_GRP_UPDATE 10 /* can't update group file */ -/* #define E_NOSPACE 11 *//* insufficient space to move home dir */ + /* #define E_NOSPACE 11 *//* insufficient space to move home dir */ #define E_HOMEDIR 12 /* unable to complete home dir move */ #define VALID(s) (strcspn (s, ":\n") == strlen (s)) static char *user_name; @@ -95,14 +96,6 @@ static char **user_groups; /* NULL-terminated list */ static char *Prog; -#ifdef AUTH_METHODS -static char *auth_arg; -static char user_auth[BUFSIZ]; -static int Aflg = 0; /* specify user defined authentication method */ -#else -#define Aflg 0 -#endif - static int uflg = 0, /* specify new user ID */ oflg = 0, /* permit non-unique user ID to be specified with -u */ @@ -169,15 +162,6 @@ static int update_gshadow (void); #endif static int grp_update (void); -#ifdef AUTH_METHODS -static char *get_password (const char *); -static void split_auths (char *, char **); -static void update_auths (const char *, const char *, char *); -static void add_auths (const char *, const char *, char *); -static void delete_auths (const char *, const char *, char *); -static void convert_auth (char *, const char *, const char *); -static int valid_auth (const char *); -#endif static long get_number (const char *); static uid_t get_id (const char *); static void process_flags (int, char **); @@ -319,17 +303,14 @@ static void usage (void) { fprintf (stderr, _ - ("usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"), + ("Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"), Prog); fprintf (stderr, _ ("\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n")); fprintf (stderr, "\t\t"); #ifdef SHADOWPWD - fprintf (stderr, _("[-f inactive] [-e expire ] ")); -#endif -#ifdef AUTH_METHODS - fprintf (stderr, _("[-A {DEFAULT|program},... ] ")); + fprintf (stderr, _("[-f inactive] [-e expire] ")); #endif fprintf (stderr, _("[-p passwd] [-L|-U] name\n")); exit (E_USAGE); @@ -748,227 +729,6 @@ static int grp_update (void) return ret; } -#ifdef AUTH_METHODS -/* - * get_password - locate encrypted password in authentication list - */ - -static char *get_password (const char *list) -{ - char *cp, *end; - static char buf[257]; - - strcpy (buf, list); - for (cp = buf; cp; cp = end) { - if ((end = strchr (cp, ';'))) - *end++ = 0; - - if (cp[0] == '@') - continue; - - return cp; - } - return (char *) 0; -} - -/* - * split_auths - break up comma list into (char *) array - */ - -static void split_auths (char *list, char **array) -{ - char *cp, *end; - int i = 0; - - for (cp = list; cp; cp = end) { - if ((end = strchr (cp, ';'))) - *end++ = '\0'; - - array[i++] = cp; - } - array[i] = 0; -} - -/* - * update_auths - find list of methods to update - */ - -static void update_auths (const char *old, const char *new, char *update) -{ - char oldbuf[257], newbuf[257]; - char *oldv[32], *newv[32], *updatev[32]; - int i, j, k; - - strcpy (oldbuf, old); - split_auths (oldbuf, oldv); - - strcpy (newbuf, new); - split_auths (newbuf, newv); - - for (i = j = k = 0; oldv[i]; i++) { - for (j = 0; newv[j]; j++) - if (strcmp (oldv[i], newv[j]) != 0) - break; - - if (newv[j] != (char *) 0) - updatev[k++] = oldv[i]; - } - updatev[k] = 0; - - update[0] = '\0'; - for (i = 0; updatev[i]; i++) { - if (i) - strcat (update, ";"); - - strcat (update, updatev[i]); - } -} - -/* - * add_auths - find list of methods to add - */ - -static void add_auths (const char *old, const char *new, char *add) -{ - char oldbuf[257], newbuf[257]; - char *oldv[32], *newv[32], *addv[32]; - int i, j, k; - - strcpy (oldbuf, old); - split_auths (oldbuf, oldv); - - strcpy (newbuf, new); - split_auths (newbuf, newv); - - for (i = j = k = 0; newv[i]; i++) { - for (j = 0; oldv[j]; j++) - if (strcmp (oldv[i], newv[j]) == 0) - break; - - if (oldv[j] == (char *) 0) - addv[k++] = newv[i]; - } - addv[k] = 0; - - add[0] = '\0'; - for (i = 0; addv[i]; i++) { - if (i) - strcat (add, ";"); - - strcat (add, addv[i]); - } -} - -/* - * delete_auths - find list of methods to delete - */ - -static void delete_auths (const char *old, const char *new, char *remove) -{ - char oldbuf[257], newbuf[257]; - char *oldv[32], *newv[32], *removev[32]; - int i, j, k; - - strcpy (oldbuf, old); - split_auths (oldbuf, oldv); - - strcpy (newbuf, new); - split_auths (newbuf, newv); - - for (i = j = k = 0; oldv[i]; i++) { - for (j = 0; newv[j]; j++) - if (strcmp (oldv[i], newv[j]) == 0) - break; - - if (newv[j] == (char *) 0) - removev[k++] = oldv[i]; - } - removev[k] = 0; - - remove[0] = '\0'; - for (i = 0; removev[i]; i++) { - if (i) - strcat (remove, ";"); - - strcat (remove, removev[i]); - } -} - -/* - * convert_auth - convert the argument list to a authentication list - */ - -static void -convert_auth (char *auths, const char *oldauths, const char *list) -{ - char *cp, *end; - char *old; - char buf[257]; - - /* - * Copy each method. DEFAULT is replaced by an encrypted string if - * one can be found in the current authentication list. - */ - - strcpy (buf, list); - auths[0] = '\0'; - for (cp = buf; cp; cp = end) { - if (auths[0]) - strcat (auths, ";"); - - if ((end = strchr (cp, ','))) - *end++ = '\0'; - - if (strcmp (cp, "DEFAULT") == 0) { - if ((old = get_password (oldauths))) - strcat (auths, old); - else - strcat (auths, "!"); - } else { - strcat (auths, "@"); - strcat (auths, cp); - } - } -} - -/* - * valid_auth - check authentication list for validity - */ - -static int valid_auth (const char *methods) -{ - char *cp, *end; - char buf[257]; - int default_cnt = 0; - - /* - * Cursory checks, length and illegal characters - */ - - if ((int) strlen (methods) > 256) - return 0; - - if (!VALID (methods)) - return 0; - - /* - * Pick each method apart and check it. - */ - - strcpy (buf, methods); - for (cp = buf; cp; cp = end) { - if ((end = strchr (cp, ','))) - *end++ = '\0'; - - if (strcmp (cp, "DEFAULT") == 0) { - if (default_cnt++ > 0) - return 0; - } - } - return 1; -} -#endif - static long get_number (const char *cp) { long val; @@ -1068,18 +828,6 @@ static void process_flags (int argc, char **argv) while ((arg = getopt (argc, argv, FLAGS)) != EOF) { #undef FLAGS switch (arg) { -#ifdef AUTH_METHODS - case 'A': - if (!valid_auth (optarg)) { - fprintf (stderr, - _("%s: invalid field `%s'\n"), - Prog, optarg); - exit (E_BAD_ARG); - } - auth_arg = optarg; - Aflg++; - break; -#endif case 'c': if (!VALID (optarg)) { fprintf (stderr, @@ -1334,10 +1082,6 @@ static void usr_update (void) struct spwd spent; const struct spwd *spwd = NULL; #endif -#ifdef AUTH_METHODS - char old_auth[BUFSIZ]; - char auth_buf[BUFSIZ]; -#endif /* * Locate the entry in /etc/passwd, which MUST exist. @@ -1365,71 +1109,7 @@ static void usr_update (void) } #endif -#ifdef AUTH_METHODS - -#ifdef SHADOWPWD - strcpy (old_auth, spwd ? spent.sp_pwdp : pwent.pw_passwd); -#else - strcpy (old_auth, pwent.pw_passwd); -#endif - - if (Aflg) - convert_auth (user_auth, old_auth, auth_arg); - - /* - * XXX - this code needs some checking, changing the user name with - * "usermod -l new old" clears the password for this user :-(. For - * now, just don't define AUTH_METHODS and all will be well. Most - * programs don't support "administrator defined authentication - * methods" and PAM (when done) will be better anyway :-). --marekm - */ - if (lflg || (Aflg && strcmp (old_auth, user_auth) != 0)) { - delete_auths (old_auth, user_auth, auth_buf); - if (auth_buf[0] && pw_auth (auth_buf, user_name, - PW_DELETE, (char *) 0)) { - fprintf (stderr, - _ - ("%s: error deleting authentication method\n"), - Prog); - SYSLOG ((LOG_ERR, "error deleting auth for `%s'", - user_name)); - fail_exit (E_PW_UPDATE); - } - add_auths (old_auth, user_auth, auth_buf); - if (auth_buf[0] == '@' && pw_auth (auth_buf, - lflg ? user_newname : - user_name, PW_ADD, - (char *) 0)) { - fprintf (stderr, - _ - ("%s: error adding authentication method\n"), - Prog); - SYSLOG ((LOG_ERR, "error adding auth for `%s'", - lflg ? user_newname : user_name)); - fail_exit (E_PW_UPDATE); - } - update_auths (old_auth, user_auth, auth_buf); - if (lflg && auth_buf[0] == '@' && pw_auth (auth_buf, - user_newname, - PW_CHANGE, - user_name)) { - fprintf (stderr, - _ - ("%s: error changing authentication method\n"), - Prog); - SYSLOG ((LOG_ERR, "error changing auth for `%s'", - lflg ? user_newname : user_name)); - fail_exit (E_PW_UPDATE); - } -#ifdef SHADOWPWD - if (spwd) - spent.sp_pwdp = user_auth; - else -#endif - pwent.pw_passwd = user_auth; - } -#endif /* AUTH_METHODS */ - if (lflg || uflg || gflg || cflg || dflg || sflg || Aflg || pflg + if (lflg || uflg || gflg || cflg || dflg || sflg || pflg || Lflg || Uflg) { if (!pw_update (&pwent)) { fprintf (stderr, @@ -1464,7 +1144,7 @@ static void usr_update (void) #endif } #ifdef SHADOWPWD - if (spwd && (lflg || eflg || fflg || Aflg || pflg || Lflg || Uflg)) { + if (spwd && (lflg || eflg || fflg || pflg || Lflg || Uflg)) { if (!spw_update (&spent)) { fprintf (stderr, _ @@ -1692,6 +1372,7 @@ int main (int argc, char **argv) sys_ngroups = sysconf (_SC_NGROUPS_MAX); user_groups = malloc ((1 + sys_ngroups) * sizeof (char *)); + user_groups[0] = (char *) 0; /* * Get my name so that I can use it to report errors. */ @@ -1769,6 +1450,8 @@ int main (int argc, char **argv) open_files (); usr_update (); + nscd_flush_cache ("passwd"); + nscd_flush_cache ("group"); close_files (); @@ -1817,4 +1500,5 @@ int main (int argc, char **argv) #endif /* USE_PAM */ exit (E_SUCCESS); - /*NOTREACHED*/} + /* NOT REACHED */ +} diff --git a/src/vipw.c b/src/vipw.c index cf2f8f19..fdd06d71 100644 --- a/src/vipw.c +++ b/src/vipw.c @@ -23,7 +23,7 @@ #include #include "rcsid.h" -RCSID (PKG_VER "$Id: vipw.c,v 1.3 2002/01/05 15:41:44 kloczek Exp $") +RCSID (PKG_VER "$Id: vipw.c,v 1.6 2003/06/19 18:11:01 kloczek Exp $") #include "defines.h" #include #include @@ -38,6 +38,7 @@ RCSID (PKG_VER "$Id: vipw.c,v 1.3 2002/01/05 15:41:44 kloczek Exp $") #include "shadowio.h" #include "groupio.h" #include "sgroupio.h" +#include "nscd.h" static const char *progname, *filename, *fileeditname; static int filelocked = 0, createedit = 0; static int (*unlock) (void); @@ -150,12 +151,6 @@ vipwedit (const char *file, int (*file_lock) (void), if ((pid = fork ()) == -1) vipwexit ("fork", 1, 1); else if (!pid) { -#if 0 - execlp (editor, editor, fileedit, (char *) 0); - fprintf (stderr, "%s: %s: %s\n", progname, editor, - strerror (errno)); - exit (1); -#else /* use the system() call to invoke the editor so that it accepts command line args in the EDITOR and VISUAL environment vars */ char *buf; @@ -171,7 +166,6 @@ vipwedit (const char *file, int (*file_lock) (void), exit (1); } else exit (0); -#endif } for (;;) { @@ -265,5 +259,10 @@ int main (int argc, char **argv) vipwedit (GROUP_FILE, gr_lock, gr_unlock); } + nscd_flush_cache ("passwd"); + nscd_flush_cache ("group"); +#ifdef SHADOWPWD + nscd_flush_cache ("shadow"); +#endif return 0; }